Index: native_client_sdk/src/doc/devguide/devcycle/building.rst |
diff --git a/native_client_sdk/src/doc/devguide/devcycle/building.rst b/native_client_sdk/src/doc/devguide/devcycle/building.rst |
index e96158b5b525036e2aad5f08723295426aaed71a..d3b1b291ff488f4615ad611e3abd75e0f20e1d75 100644 |
--- a/native_client_sdk/src/doc/devguide/devcycle/building.rst |
+++ b/native_client_sdk/src/doc/devguide/devcycle/building.rst |
@@ -52,13 +52,13 @@ This section will mostly cover PNaCl, but also describes how to build |
C libraries |
----------- |
-The PNaCl SDK has a single choice of C library: newlib_. |
- |
-The Native Client SDK also has a GCC-based toolchain for building |
-**nexes**. The GCC-based toolchain has support for two C libraries: |
-newlib_ and glibc_. See :doc:`Dynamic Linking & Loading with glibc |
-<dynamic-loading>` for information about these libraries, including factors to |
-help you decide which to use. |
+The PNaCl toolchain uses the newlib_ C library and can be used to build |
+portable **pexe** files (using ``pnacl-clang``) or **nexe** files (using, for |
+example, ``x86_64-nacl-clang``). The Native Client SDK also has a |
+GCC-based toolchain for building **nexe** files which uses the glibc_ C library. |
+See :doc:`Dynamic Linking & Loading with glibc <dynamic-loading>` for |
+information about these libraries, including factors to help you decide which to |
+use. |
.. _building_cpp_libraries: |
@@ -71,7 +71,7 @@ The PNaCl SDK can use either LLVM's `libc++ <http://libcxx.llvm.org/>`_ |
``-stdlib=[libc++|libstdc++]`` command line argument can be used to |
choose which standard library to use. |
-The GCC-based Native Client SDK only has support for GCC's `libstdc++ |
+The GCC-based toolchain only has support for GCC's `libstdc++ |
<http://gcc.gnu.org/libstdc++>`_. |
C++11 library support is only complete in libc++ but other non-library language |
@@ -445,15 +445,15 @@ files with the PNaCl-based toolchain, except that the output is |
architecture specific. |
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 **.nexe** |
-for the hello_world example with the following command: |
+architecture you can compile a 32-bit **.nexe** for the hello_world example with |
+the following command: |
.. naclcode:: |
:prettyprint: 0 |
- 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 |
To compile a 64-bit **.nexe**, you can run the same command but use -m64 instead |
@@ -496,7 +496,7 @@ The Makefiles for the SDK examples build most of the examples in multiple |
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 **environment variable** |
-``TOOLCHAIN`` to either ``pnacl``, ``newlib``, ``glibc``, or ``host``. |
+``TOOLCHAIN`` to either ``pnacl``, ``clang-newlib``, ``glibc``, or ``host``. |
To select a specific level of optimization set the **environment |
variable** ``CONFIG`` to either ``Debug``, or ``Release``. Running |
``make`` in each example's directory does **one** of the following, |
@@ -509,17 +509,17 @@ depending on the setting of the environment variables. |
* generates a Native Client manifest (.nmf) file for the pnacl version of the |
example |
-* If ``TOOLCHAIN=newlib`` creates a subdirectory called ``newlib``; |
+* If ``TOOLCHAIN=clang-newlib`` creates a subdirectory called ``clang-newlib``; |
* builds **.nexes** for the x86-32, x86-64, and ARM architectures using the |
- newlib library |
- * generates a Native Client manifest (.nmf) file for the newlib version of |
- the example |
+ nacl-clang toolchain and the newlib C library |
+ * generates a Native Client manifest (.nmf) file for the clang-newlib version |
+ of the example |
* If ``TOOLCHAIN=glibc`` creates a subdirectory called ``glibc``; |
- * builds **.nexes** for the x86-32 and x86-64 architectures using the glibc |
- library |
+ * builds **.nexes** for the x86-32, x86-64 and ARM architectures using the |
+ glibc library |
* generates a Native Client manifest (.nmf) file for the glibc version of the |
example |
@@ -572,13 +572,14 @@ in the following locations: |
* ARM toolchain: ``toolchain/<platform>_arm_<c_library>/arm-nacl/lib`` |
For example, on Windows, the libraries for the x86-64 architecture in the |
-newlib toolchain are in ``toolchain/win_x86_newlib/x86_64-nacl/lib64``. |
+glibc toolchain are in ``toolchain/win_x86_glibc/x86_64-nacl/lib64``. |
The header files are in: |
-* PNaCl toolchain: ``toolchain/<platform>_pnacl/usr/include`` |
-* x86 toolchains: ``toolchain/<platform>_x86_<c_library>/x86_64-nacl/include`` |
-* ARM toolchain: ``toolchain/<platform>_arm_<c_library>/arm-nacl/include`` |
+* PNaCl toolchain: ``toolchain/<platform>_pnacl/le32-nacl/include`` |
+* clang newlib toolchains: ``toolchain/<platform>_pnacl/<arch>-nacl/include`` |
+* x86 glibc toolchain: ``toolchain/<platform>_x86_glibc/x86_64-nacl/include`` |
+* ARM glibc toolchain: ``toolchain/<platform>_arm_glibc/arm-nacl/include`` |
Many other libraries have been ported for use with Native Client; for more |
information, see the `webports <https://chromium.googlesource.com/webports>`_ |
@@ -589,8 +590,8 @@ Besides the standard libraries, the SDK includes Pepper libraries. |
The PNaCl Pepper libraries are located in the the |
``nacl_sdk/pepper_<version>/lib/pnacl/<Release or Debug>`` directory. |
The GNU-based toolchain has Pepper libraries in |
-``nacl_sdk/pepper_<version>/lib/newlib_<arch>/<Release or Debug>`` |
-and ``nacl_sdk/pepper_<version>/lib/glibc_<arch>/<Release or Debug>``. |
+``nacl_sdk/pepper_<version>/lib/glibc_<arch>/<Release or Debug>`` |
+and ``nacl_sdk/pepper_<version>/lib/clang-newlib_<arch>/<Release or Debug>``. |
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 |