blob: 6b483f5cb4a3f9dd94d0db3919fda2c5e916a405 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- NOTE: Follow the steps in documentation/getting_started.html. -->
<!-- Also see http://code.google.com/p/nativeclient. -->
<!-- -->
<!-- The latest version of this file is viewable online at: -->
<!-- http://nativeclient.googlecode.com/svn/trunk/src/native_client/README.html -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Native Client: README</title>
<link href="documentation/stylesheet.css" type="text/css" rel="stylesheet"></link>
</head>
<body>
<!-- start: CSE gadget -->
<div style="padding-top:5px; padding-bottom:5px; align:right; float: right;">
<form action="http://www.google.com/cse" id="cse-search-box" target="_blank">
<div>
<input type="hidden" name="cx" value="002967670403910741006:qhab5lo7cqo" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" size="28" />
<input type="submit" name="sa" value="Search" />
<div style="font-size:75%">
Search Native Client webpages
</div>
</div>
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></script>
</div>
<!-- end: CSE gadget -->
<h1><a name="NativeClient_Documentation_trust" id="NativeClient_Documentation_trust"> </a> Native Client: README </h1>
<p>
Welcome to Native Client.
This README file has the following sections:
</p>
<ul>
<li><a href="#doc">Documentation</a></li>
<li><a href="#directory">Directory structure</a></li>
</ul>
<p>
For the latest information about Native Client, see the
<a href="http://code.google.com/p/nativeclient">Native Client project page</a>.
</p>
<h2><a name="doc" id="doc"> </a> Documentation </h2>
<p> The Native Client project contains the following documentation: </p>
<ul>
<li> How tos
<ul>
<li> <a href="documentation/getting_started.html">Getting Started</a>
- A guide to running example modules and building your own </li>
<li> <a href="documentation/building.html">Building Native Client</a>
- How to build Native Client, including its demos and tests </li>
<li> <a href="documentation/debugging.html">Debugging Tips</a>
- How to debug your Native Client modules
<ul>
<li> <a href="documentation/nacl-gdb.html">nacl-gdb</a>
- How to use the debugger (Linux only) </li>
</ul> </li>
</ul>
</li>
<li> APIs
<ul>
<li> <a href="scons-out/doc/html/index.html">API Reference</a>
- Automatically generated reference documentation for
APIs defined by Native Client; if the preceding link doesn't work,
read the
<a href="http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/scons-out/doc/html/index.html">online API reference documentation</a> </li>
<li> <a href="documentation/npapi.html">NPAPI Support</a>
- Information about which NPAPI functions are supported
for use in Native Client modules </li>
</ul>
</li>
<li> And more
<ul>
<li> <a href="documentation/examples.html">Examples and Tests</a> - A guide to our sample Native Client modules </li>
<li> <a href="documentation/nacl_paper.pdf">Native Client: A Sandbox for Portable, Untrusted x86 Native Code</a> [PDF]
- A research paper about the design, implementation, and evaluation of Native Client</li>
<li> Platform-specific details for
<a href="documentation/platform-linux.html">Linux</a>,
<a href="documentation/platform-mac.html">Mac</a>, and
<a href="documentation/platform-windows.html">Windows</a>. </li>
</ul>
</li>
</ul>
<h2><a name="directory" id="directory"> </a> Directory structure </h2>
<p>
You can get Native Client in two ways:
</p>
<ul>
<li> <a href="http://code.google.com/p/nativeclient/source/checkout">Download source code</a>
from the SVN repository,
so you can keep up with the very latest changes.
Once you have the source code,
build it as described in
<a href="./documentation/getting_started.html">Getting Started</a>.
(If those instructions are out of date, try the
<a href="http://nativeclient.googlecode.com/svn/trunk/src/native_client/documentation/getting_started.html">latest online instructions</a>.)
</li>
<li> <a href="http://code.google.com/p/nativeclient/wiki/Downloads?tm=2">Download a tarball</a>
that includes pre-built binaries for Linux, Mac, or Windows.
This is the easiest way to get started using Native Client,
but the binaries are based on old source code.
For information about what the current tarball contains and
how to get started using it, go to
<a href="http://code.google.com/p/nativeclient/">http://code.google.com/p/nativeclient/</a>
and click <b>Documentation / README</b> in the right column.
</li>
</ul>
<p>
The following table describes major files and directories that you'll see
in your working copy of the SVN repository,
including some directories that don't exist until you've built Native Client.
Paths are relative to the
<code>native_client</code> directory.
</p>
<table summary="major files and directories">
<tbody>
<tr>
<th>File or directory</th>
<th>Description</th>
</tr>
<tr>
<td><pre class="listing">
<!-- a href="VERSION" -->VERSION<!-- /a --> <span class="comment">[PENDING: this file is currently AWOL] </span>
<a href="COPYING">COPYING</a>
<a href="NOTICE">NOTICE</a>
README.html <em>(this file)</em>
<a href="RELEASE_NOTES">RELEASE_NOTES</a>
<a href="./documentation/">documentation/</a>
</pre></td>
<td>Documentation, release, and license information.</td>
</tr>
<tr>
<td><pre class="listing">
SConstruct
scons.bat
scons
<a href="./scons-out/">scons-out/</a> <em>(not in SVN)</em>
<a href="./site_scons/">site_scons/</a> <em>(not in SVN)</em>
</pre></td>
<td><p>
Build-related files.
The <code>scons.bat</code> and <code>scons</code> files,
with data from <code>SConstruct</code>,
let you <a href="documentation/building.html">build</a>
Native Client and its tests.
The <code>scons-out</code> and <code>site-scons</code>
directories don't exist in the SVN repository;
they're created when Native Client is built.
The <code>scons-out/*/staging</code> directories contain files,
such as the Native Client plug-in and compiled examples,
that let you use and test Native Client.
</p>
</td>
</tr>
<tr>
<td><pre class="listing">
<a href="./src/">src/</a>
<!--
<a href="./src/include/">src/include/</a>
<a href="./src/shared/">src/shared/</a>
<a href="./src/third_party_mod/">src/third_party_mod/</a>
<a href="./src/trusted/">src/trusted/</a>
<a href="./src/untrusted/">src/untrusted/</a> -->
</pre></td>
<td>Core source code for Native Client.
<ul>
<li> <code><a href="./src/include/">src/include/</a></code>:
header files that are missing from some platforms
and are used by more than one major part of Native Client </li>
<li> <code><a href="./src/shared/">src/shared/</a></code>:
source code that's used
by both trusted code (such as the service runtime)
and untrusted code (such as Native Client modules) </li>
<li> <code><a href="./src/third_party/">src/third_party/</a></code>:
other people's source code </li>
<li> <code><a href="./src/third_party_mod/">src/third_party_mod/</a></code>:
modifications to other people's source code </li>
<li> <code><a href="./src/trusted/">src/trusted/</a></code>:
source code that's used
only by trusted code </li>
<li> <code><a href="./src/untrusted/">src/untrusted/</a></code>:
source code that's used
only by untrusted code </li>
</ul>
</td>
</tr>
<tr>
<td><pre class="listing">
<a href="./tests/">tests/</a>
<a href="./common/">common/</a>
</pre></td>
<td> Source code for <a href="documentation/examples.html">examples and tests</a>. </td>
</tr>
<tr>
<td><pre class="listing">
<a href="../third_party/">../third_party/</a>
</pre></td>
<td>Third-party source code and binaries
that aren't part of the service runtime.
When built, the Native Client toolchain is in
<a href="src/third_party/nacl_sdk/"><code>src/third_party/nacl_sdk/</code></a>.
</td>
</tr>
<tr>
<td><pre class="listing">
<a href="./tools/">tools/</a>
</pre></td>
<td> Utilities such as the plug-in installer.</td>
</tr>
</tbody>
</table>
<p id="license">
Except as otherwise
<a href="http://code.google.com/policies.html#restrictions">noted</a>,
the content of this page is licensed under a
<a href="http://www.google.com/url?sa=D&amp;q=http%3A%2F%2Fcreativecommons.org/licenses/by/2.5/">Creative Commons
Attribution 2.5 license</a>.
</p>
</body>
</html>