| Index: native_client_sdk/doc_generated/devguide/devcycle/building.html
|
| diff --git a/native_client_sdk/doc_generated/devguide/devcycle/building.html b/native_client_sdk/doc_generated/devguide/devcycle/building.html
|
| index 0868816c9afa5caaf96297a2f544b39857683ab7..5a6118fdfccff5eee7723102e2eed3c280efa1ff 100644
|
| --- a/native_client_sdk/doc_generated/devguide/devcycle/building.html
|
| +++ b/native_client_sdk/doc_generated/devguide/devcycle/building.html
|
| @@ -72,17 +72,19 @@ Makefiles included with the SDK examples.</p>
|
| <p>This section will mostly cover PNaCl, but also describes how to build
|
| <strong>nexe</strong> applications.</p>
|
| <h3 id="c-libraries">C libraries</h3>
|
| -<p>The PNaCl SDK has a single choice of C library: <a class="reference external" href="http://sourceware.org/newlib/">newlib</a>.</p>
|
| -<p>The Native Client SDK also has a GCC-based toolchain for building
|
| -<strong>nexes</strong>. The GCC-based toolchain has support for two C libraries:
|
| -<a class="reference external" href="http://sourceware.org/newlib/">newlib</a> and <a class="reference external" href="http://www.gnu.org/software/libc/">glibc</a>. See <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking & Loading with glibc</em></a> for information about these libraries, including factors to
|
| -help you decide which to use.</p>
|
| +<p>The PNaCl toolchain uses the <a class="reference external" href="http://sourceware.org/newlib/">newlib</a> C library and can be used to build
|
| +portable <strong>pexe</strong> files (using <code>pnacl-clang</code>) or <strong>nexe</strong> files (using, for
|
| +example, <code>x86_64-nacl-clang</code>). The Native Client SDK also has a
|
| +GCC-based toolchain for building <strong>nexe</strong> files which uses the <a class="reference external" href="http://www.gnu.org/software/libc/">glibc</a> C library.
|
| +See <a class="reference internal" href="/native-client/devguide/devcycle/dynamic-loading.html"><em>Dynamic Linking & Loading with glibc</em></a> for
|
| +information about these libraries, including factors to help you decide which to
|
| +use.</p>
|
| <h3 id="c-standard-libraries"><span id="building-cpp-libraries"></span>C++ standard libraries</h3>
|
| <p>The PNaCl SDK can use either LLVM’s <a class="reference external" href="http://libcxx.llvm.org/">libc++</a>
|
| (the current default) or GCC’s <a class="reference external" href="http://gcc.gnu.org/libstdc++">libstdc++</a> (deprecated). The
|
| <code>-stdlib=[libc++|libstdc++]</code> command line argument can be used to
|
| choose which standard library to use.</p>
|
| -<p>The GCC-based Native Client SDK only has support for GCC’s <a class="reference external" href="http://gcc.gnu.org/libstdc++">libstdc++</a>.</p>
|
| +<p>The GCC-based toolchain only has support for GCC’s <a class="reference external" href="http://gcc.gnu.org/libstdc++">libstdc++</a>.</p>
|
| <p>C++11 library support is only complete in libc++ but other non-library language
|
| features should work regardless of which standard library is used. The
|
| <code>-std=gnu++11</code> command line argument can be used to indicate which C++
|
| @@ -368,12 +370,12 @@ flags, e.g., you can specify <code>x86_64-nacl-gcc -m32</code> to compile a 32-b
|
| files with the PNaCl-based toolchain, except that the output is
|
| architecture specific.</p>
|
| <p>For example, assuming you’re developing on a Windows machine, targeting the x86
|
| -architecture, and using the newlib library, you can compile a 32-bit <strong>.nexe</strong>
|
| -for the hello_world example with the following command:</p>
|
| +architecture you can compile a 32-bit <strong>.nexe</strong> for the hello_world example with
|
| +the following command:</p>
|
| <pre>
|
| -nacl_sdk/pepper_<version>/toolchain/win_x86_newlib/bin/i686-nacl-gcc \
|
| +nacl_sdk/pepper_<version>/toolchain/win_x86_glibc/bin/i686-nacl-gcc \
|
| hello_world.c -Inacl_sdk/pepper_<version>/include \
|
| - -Lnacl_sdk/pepper_<version>/lib/newlib/Release -o hello_world_x86_32.nexe \
|
| + -Lnacl_sdk/pepper_<version>/lib/glibc/Release -o hello_world_x86_32.nexe \
|
| -m32 -g -O2 -lppapi
|
| </pre>
|
| <p>To compile a 64-bit <strong>.nexe</strong>, you can run the same command but use -m64 instead
|
| @@ -403,7 +405,7 @@ ones in the SDK examples.</p>
|
| configurations (using PNaCl vs NaCl, using different C libraries,
|
| targeting different architectures, and using different levels of optimization).
|
| To select a specific toolchain, set the <strong>environment variable</strong>
|
| -<code>TOOLCHAIN</code> to either <code>pnacl</code>, <code>newlib</code>, <code>glibc</code>, or <code>host</code>.
|
| +<code>TOOLCHAIN</code> to either <code>pnacl</code>, <code>clang-newlib</code>, <code>glibc</code>, or <code>host</code>.
|
| To select a specific level of optimization set the <strong>environment
|
| variable</strong> <code>CONFIG</code> to either <code>Debug</code>, or <code>Release</code>. Running
|
| <code>make</code> in each example’s directory does <strong>one</strong> of the following,
|
| @@ -417,18 +419,18 @@ the newlib library</li>
|
| example</li>
|
| </ul>
|
| </li>
|
| -<li><p class="first">If <code>TOOLCHAIN=newlib</code> creates a subdirectory called <code>newlib</code>;</p>
|
| +<li><p class="first">If <code>TOOLCHAIN=clang-newlib</code> creates a subdirectory called <code>clang-newlib</code>;</p>
|
| <ul class="small-gap">
|
| <li>builds <strong>.nexes</strong> for the x86-32, x86-64, and ARM architectures using the
|
| -newlib library</li>
|
| -<li>generates a Native Client manifest (.nmf) file for the newlib version of
|
| -the example</li>
|
| +nacl-clang toolchain and the newlib C library</li>
|
| +<li>generates a Native Client manifest (.nmf) file for the clang-newlib version
|
| +of the example</li>
|
| </ul>
|
| </li>
|
| <li><p class="first">If <code>TOOLCHAIN=glibc</code> creates a subdirectory called <code>glibc</code>;</p>
|
| <ul class="small-gap">
|
| -<li>builds <strong>.nexes</strong> for the x86-32 and x86-64 architectures using the glibc
|
| -library</li>
|
| +<li>builds <strong>.nexes</strong> for the x86-32, x86-64 and ARM architectures using the
|
| +glibc library</li>
|
| <li>generates a Native Client manifest (.nmf) file for the glibc version of the
|
| example</li>
|
| </ul>
|
| @@ -473,12 +475,13 @@ in the following locations:</p>
|
| <li>ARM toolchain: <code>toolchain/<platform>_arm_<c_library>/arm-nacl/lib</code></li>
|
| </ul>
|
| <p>For example, on Windows, the libraries for the x86-64 architecture in the
|
| -newlib toolchain are in <code>toolchain/win_x86_newlib/x86_64-nacl/lib64</code>.</p>
|
| +glibc toolchain are in <code>toolchain/win_x86_glibc/x86_64-nacl/lib64</code>.</p>
|
| <p>The header files are in:</p>
|
| <ul class="small-gap">
|
| -<li>PNaCl toolchain: <code>toolchain/<platform>_pnacl/usr/include</code></li>
|
| -<li>x86 toolchains: <code>toolchain/<platform>_x86_<c_library>/x86_64-nacl/include</code></li>
|
| -<li>ARM toolchain: <code>toolchain/<platform>_arm_<c_library>/arm-nacl/include</code></li>
|
| +<li>PNaCl toolchain: <code>toolchain/<platform>_pnacl/le32-nacl/include</code></li>
|
| +<li>clang newlib toolchains: <code>toolchain/<platform>_pnacl/<arch>-nacl/include</code></li>
|
| +<li>x86 glibc toolchain: <code>toolchain/<platform>_x86_glibc/x86_64-nacl/include</code></li>
|
| +<li>ARM glibc toolchain: <code>toolchain/<platform>_arm_glibc/arm-nacl/include</code></li>
|
| </ul>
|
| <p>Many other libraries have been ported for use with Native Client; for more
|
| information, see the <a class="reference external" href="https://chromium.googlesource.com/webports">webports</a>
|
| @@ -488,8 +491,8 @@ adding it to webports.</p>
|
| The PNaCl Pepper libraries are located in the the
|
| <code>nacl_sdk/pepper_<version>/lib/pnacl/<Release or Debug></code> directory.
|
| The GNU-based toolchain has Pepper libraries in
|
| -<code>nacl_sdk/pepper_<version>/lib/newlib_<arch>/<Release or Debug></code>
|
| -and <code>nacl_sdk/pepper_<version>/lib/glibc_<arch>/<Release or Debug></code>.
|
| +<code>nacl_sdk/pepper_<version>/lib/glibc_<arch>/<Release or Debug></code>
|
| +and <code>nacl_sdk/pepper_<version>/lib/clang-newlib_<arch>/<Release or Debug></code>.
|
| The libraries provided by the SDK allow the application to use Pepper,
|
| as well as convenience libraries to simplify porting an application that
|
| uses POSIX functions. Here are descriptions of the Pepper libraries provided
|
|
|