<!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>
