Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1187)

Unified Diff: native_client_sdk/src/doc/devguide/devcycle/building.rst

Issue 1655873003: [NaCl SDK] Cleanup references to old newlib toolchain (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@add_pepper_50
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « native_client_sdk/src/doc/cpp-api-dev.rst ('k') | native_client_sdk/src/doc/devguide/devcycle/dynamic-loading.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698