Index: native_client_sdk/src/doc/sdk/download.rst |
diff --git a/native_client_sdk/src/doc/sdk/download.rst b/native_client_sdk/src/doc/sdk/download.rst |
index 73fa43dcfdfad1f1a7bb6de61a38b9690068749e..057d7303b617fe84902d25e3f8b03bd77f9bc8cf 100644 |
--- a/native_client_sdk/src/doc/sdk/download.rst |
+++ b/native_client_sdk/src/doc/sdk/download.rst |
@@ -3,112 +3,95 @@ |
Download the Native Client SDK |
============================== |
-To build Native Client modules, you must download and install the Native |
-Client Software Development Kit (SDK). This page provides an overview |
-of the Native Client SDK, and instructions for how to download and |
-install the SDK. |
+To build Native Client modules, you must download and install the Native Client |
+Software Development Kit (SDK). This page provides an overview of the Native |
+Client SDK, and instructions for how to download and install the SDK. |
+ |
+.. raw:: html |
+ |
+ <div id="home"> |
+ <a class="button-nacl button-download" href="http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip">Download SDK Zip File</a> |
+ </div> |
Overview |
-------- |
The Native Client SDK includes the following: |
-support for multiple Pepper versions |
- The SDK contains **bundles** that let you compile Native Client modules |
- using different versions of the |
- :ref:`link_pepper` (e.g., Pepper 31 or Pepper Canary). Review the |
- :doc:`Release Notes <release-notes>` for a description of the new features |
- included in each Pepper version to help you decide which bundle to |
- use to develop your application. In general, Native Client modules |
- compiled using a particular Pepper version will work in |
- corresponding versions of Chrome and higher. For example, a module |
- compiled using the Pepper 31 bundle will work in Chrome 31 and |
- higher. |
- |
-update utility |
- The ``naclsdk`` utility (``naclsdk.bat`` on Windows) lets you download new |
- bundles that are available, as well as new versions of existing bundles. |
- |
-toolchains |
- Each platform includes three toolchains: one for compiling |
- Portable Native Client (PNaCl) applications, one for compiling |
- architecture-specific Native Client applications with newlib, and |
- one for compiling architecture-specific Native Client applications with glibc. |
- Newlib and glibc are two different implementations |
- of the C standard library. All three toolchains contain |
- Native Client-compatible versions of standard compilers, linkers, |
- and other tools. See :doc:`NaCl and PNaCl </nacl-and-pnacl>` to help |
- you choose the right toolchain. |
- |
-examples |
- Each example in the SDK includes C or C++ source files and header files |
- illustrating how to use NaCl and Pepper, along with a Makefile to build |
- the example using each of the toolchains. |
- |
-tools |
- The SDK includes a number of additional tools that you can use for |
- tasks such as validating Native Client modules and running modules |
- from the command line. |
+- **Support for multiple Pepper versions** to compile for specific minimum |
+ versions of Chrome. |
+- **Update utility** to download new bundles that are available, as well as new |
+ versions of existing bundles. |
+- **Toolchains** to compile for Portable Native Client (PNaCl), traditional |
+ Native Client (NaCl), and for compiling architecture-specific Native Client |
+ applications with glibc. |
+- **Examples** Including C or C++ source files and header files illustrating |
+ how to use NaCl and Pepper, and Makefiles to build the example with each of |
+ the toolchains. |
+- **Tools** for validating Native Client modules and running modules from the |
+ command line. |
Follow the steps below to download and install the Native Client SDK. |
Prerequisites |
------------- |
-* **Python:** Make sure you have Python 2.6 or 2.7 installed, and that the |
- Python executable is in your path. |
- |
- * On Mac/Linux, Python is likely preinstalled. Run the command ``"python |
- -V``" in a terminal window, and make sure that the version of Python you |
- have is 2.6.x or 2.7.x (if it's not, upgrade to one of those versions). |
+* **Python 2.6 or 2.7:** Make sure that the Python executable is in your path. |
+ Python 2.7 is preferred. Python 3.x is not yet supported. |
+ |
+ * On Mac and Linux, Python is likely preinstalled. Run the command "``python |
+ -V``" in a terminal window, and make sure that the version you have is 2.6.x |
+ or 2.7.x. |
* On Windows, you may need to install Python. Go to |
`http://www.python.org/download/ <http://www.python.org/download/>`_ and |
select the latest 2.x version. In addition, be sure to add the Python |
directory (for example, ``C:\python27``) to the PATH `environment |
- variable <http://en.wikipedia.org/wiki/Environment_variable>`_. After |
- you've installed Python, run the command ``"python -V``" in a Command |
- Prompt window and verify that the version of Python you have is 2.6.x or |
- 2.7.x. |
- * Note that Python 3.x is not yet supported. |
+ variable <http://en.wikipedia.org/wiki/Environment_variable>`_. Run |
+ "``python -V``" from a command line to verify that you properly configured |
+ the PATH variable. |
* **Make:** On the Mac, you need to install the ``make`` command on your system |
before you can build and run the examples in the SDK. One easy way to get |
``make``, along with several other useful tools, is to install |
`Xcode Developer Tools <https://developer.apple.com/technologies/tools/>`_. |
- After installing Xcode, go to the Preferences menu, select |
- Downloads and Components, and verify that Command Line Tools are installed. |
- If you'd rather not install Xcode, you can download and build an |
+ After installing Xcode, go to the XCode menu, open the Preferences dialog box |
+ then select Downloads and Components. Verify that Command Line Tools are |
+ installed. If you'd rather not install Xcode, you can download and build an |
`open source version |
- <http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1>`_ of |
- ``make``. In order to build the command you may also need to download and |
- install a copy of `gcc <https://github.com/kennethreitz/osx-gcc-installer>`_. |
+ <http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1>`_ of ``make``. |
+ To build the command you may also need to download and install |
+ `gcc <https://github.com/kennethreitz/osx-gcc-installer>`_. |
-Download and install the SDK |
----------------------------- |
+Installing the SDK |
+------------------ |
-#. Download the SDK update utility: `nacl_sdk.zip |
+#. Download the SDK update zip file: `nacl_sdk.zip |
<http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip>`_. |
-#. Unzip the SDK update utility: |
+#. Unzip the file: |
* On Mac/Linux, run the command "``unzip nacl_sdk.zip``" in a terminal |
window. |
* On Windows, right-click on the .zip file and select "Extract All...". A |
dialog box will open; enter a location and click "Extract". |
- Unzipping the SDK update utility creates a directory called ``nacl_sdk`` with |
- the following files and directories: |
+ A directory is created called ``nacl_sdk`` with the following files and |
+ directories: |
- * ``naclsdk`` (and ``naclsdk.bat`` for Windows) --- the front end of the update |
- utility, i.e., the command you run to download the latest bundles |
+ * ``naclsdk`` (and ``naclsdk.bat`` for Windows) --- the update utility, |
+ which is the command you run to download and update bundles. |
* ``sdk_cache`` --- a directory with a manifest file that lists the bundles |
- you have already downloaded |
- * ``sdk_tools`` --- the back end of the update utility, also known as the |
- "sdk_tools" bundle |
+ you have already downloaded. |
+ * ``sdk_tools`` --- the code run by the ``naclsdk`` command. |
+ |
+.. installing-bundles: |
+ |
+Installing bundles |
+------------------ |
-#. To see the SDK bundles that are available for download, go to the ``nacl_sdk`` |
- directory and run ``naclsdk`` with the ``"list"`` command. |
- The SDK includes a separate bundle for each version of Chrome/Pepper. |
+#. To see the SDK bundles that are available for download, go to the |
+ ``nacl_sdk`` directory and run ``naclsdk`` with the "``list``" command. The |
+ SDK includes a separate bundle for each version of Chrome/Pepper. |
On Mac/Linux:: |
@@ -128,26 +111,28 @@ Download and install the SDK |
I sdk_tools (stable) |
vs_addin (dev) |
- pepper_27 (post_stable) |
- pepper_28 (post_stable) |
- pepper_29 (post_stable) |
- pepper_30 (post_stable) |
- pepper_31 (stable) |
- pepper_32 (beta) |
+ pepper_31 (post_stable) |
+ pepper_32 (post_stable) |
+ pepper_33 (post_stable) |
+ pepper_34 (post_stable) |
+ pepper_35 (stable) |
+ pepper_36 (beta) |
+ pepper_37 (dev) |
pepper_canary (canary) |
+ bionic_canary (canary) |
- The sample output above shows that there are a number of bundles available |
- for download, and that you have already installed the latest revision of the |
- ``sdk_tools`` bundle (it was included in the zip file you downloaded). |
- Each bundle is labeled post-stable, stable, beta, dev, or canary. |
- These labels usually correspond to the current versions of |
- Chrome. (In the example above, Chrome 31 is stable, Chrome 32 is beta, etc.). |
- We generally recommend that you download and use a "stable" bundle, |
- as applications developed with "stable" bundles can be used by all current |
+ |
+ The sample output above shows that several bundles are available for |
+ download, and that you have already installed the latest revision of the |
+ ``sdk_tools`` bundle. (It was included in the zip file you downloaded.) Each |
+ bundle is labeled post-stable, stable, beta, dev, or canary. These labels |
+ usually correspond to the current versions of Chrome. |
+ |
+ We recommend that you download and use a "stable" bundle, because |
+ applications developed with "stable" bundles can be used by all current |
Chrome users. This is because Native Client is designed to be |
backward-compatible (for example, applications developed with the |
``pepper_31`` bundle can run in Chrome 31, Chrome 32, etc.). |
- Thus in the example above, ``pepper_31`` is the recommended bundle to use. |
#. Run ``naclsdk`` with the "update" command to download recommended bundles. |
@@ -159,27 +144,27 @@ Download and install the SDK |
> naclsdk update |
- By default, ``naclsdk`` only downloads bundles that are |
- recommended---generally those that are "stable." Continuing with the earlier example, the |
- "update" command would only download the ``pepper_31`` |
- bundle, since the bundles ``pepper_32`` and greater are not yet stable. |
- If you want the ``pepper_32`` bundle, you must ask for it explicitly:: |
- |
- $ ./naclsdk update pepper_32 |
+ By default, ``naclsdk`` only downloads bundles that are recommended--- |
+ generally those that are "stable." Continuing with the earlier example, the |
+ "update" command would only download the ``pepper_35`` bundle, since the |
+ bundles ``pepper_36`` and greater are not yet stable. If you want the |
+ ``pepper_36`` bundle, you must ask for it explicitly:: |
- Note that you never need to update the ``sdk_tools`` bundle---it is |
- updated automatically (if necessary) whenever you run ``naclsdk``. |
+ $ ./naclsdk update pepper_36 |
.. Note:: |
:class: note |
+ |
+ You never need to update the ``sdk_tools`` bundle. It is updated |
+ automatically (if necessary) whenever you run ``naclsdk``. |
- The minimum SDK bundle that supports PNaCl is ``pepper_31``. |
+.. updating-bundles: |
-Staying up-to-date and getting new versions of bundles |
+Updating bundles |
------------------------------------------------------ |
-#. Run ``naclsdk`` with the "list" command again; this will show you the list of |
- available bundles and verify which bundles you have installed. |
+#. Run ``naclsdk`` with the "list" command. This shows you the list of available |
+ bundles and verifies which bundles you have installed. |
On Mac/Linux:: |
@@ -188,42 +173,8 @@ Staying up-to-date and getting new versions of bundles |
On Windows:: |
> naclsdk list |
- |
- Continuing with the earlier example, if you previously downloaded the |
- ``pepper_31`` bundle, you should see output similar to this:: |
- |
- Bundles: |
- I: installed |
- *: update available |
- |
- I sdk_tools (stable) |
- vs_addin (dev) |
- pepper_27 (post_stable) |
- pepper_28 (post_stable) |
- pepper_29 (post_stable) |
- pepper_30 (post_stable) |
- I pepper_31 (stable) |
- pepper_32 (beta) |
- pepper_canary (canary) |
- |
-#. Running ``naclsdk`` with the "update" command again will verify that your |
- bundles are up-to-date, or warn if you there are new versions of previously |
- installed bundles. |
- |
- On Mac/Linux:: |
- |
- $ ./naclsdk update |
- |
- On Windows:: |
- |
- > naclsdk update |
- |
- Continuing with the earlier example, you should see output similar to this:: |
- |
- pepper_31 is already up-to-date. |
- |
-#. To check if there is a new version of a previously installed bundle, you can |
- run the "list" command again:: |
+ |
+ If an update is available, you'll see something like this.:: |
Bundles: |
I: installed |
@@ -231,24 +182,25 @@ Staying up-to-date and getting new versions of bundles |
I sdk_tools (stable) |
vs_addin (dev) |
- pepper_27 (post_stable) |
- pepper_28 (post_stable) |
- pepper_29 (post_stable) |
- pepper_30 (post_stable) |
- I* pepper_31 (stable) |
- pepper_32 (beta) |
+ pepper_31 (post_stable) |
+ pepper_32 (post_stable) |
+ pepper_33 (post_stable) |
+ pepper_34 (post_stable) |
+ I* pepper_35 (stable) |
+ pepper_36 (beta) |
+ pepper_37 (dev) |
pepper_canary (canary) |
+ bionic_canary (canary) |
- An asterisk next to a bundle indicates that there is an update |
- available for that bundle. If you run the "update" command now, |
- ``naclsdk`` will warn you with a message similar to this:: |
+ An asterisk next to a bundle indicates that there is an update available it. |
+ If you run "``naclsdk update``" now, it warns you with a message similar to |
+ this:: |
- WARNING: pepper_31 already exists, but has an update available. |
- Run update with the --force option to overwrite the existing directory. |
- Warning: This will overwrite any modifications you have made within this directory. |
+ WARNING: pepper_35 already exists, but has an update available. Run update |
+ with the --force option to overwrite the existing directory. Warning: This |
+ will overwrite any modifications you have made within this directory. |
- To dowload the new version of a bundle and overwrite the existing directory |
- for that bundle, run ``naclsdk`` with the ``--force`` option. |
+#. To download and install the new bundle, run: |
On Mac/Linux:: |
@@ -257,6 +209,9 @@ Staying up-to-date and getting new versions of bundles |
On Windows:: |
> naclsdk update --force |
+ |
+Help with the ``naclsdk`` utility |
+--------------------------------- |
#. For more information about the ``naclsdk`` utility, run: |
@@ -268,12 +223,12 @@ Staying up-to-date and getting new versions of bundles |
> naclsdk help |
-Next steps: |
+**Next steps:** |
-* Browse through the :doc:`Release Notes <release-notes>` for important |
+* Browse through the `Release Notes <release-notes>`_ for important |
information about the SDK and new bundles. |
-* If you're just getting started with Native Client, we recommend reading |
- the :doc:`Technical Overview <../overview>` and walking through the |
- :doc:`Getting Started Tutorial </devguide/tutorial/tutorial-part1>`. |
+* If you're just starting with Native Client, we recommend reading the |
+ `Technical Overview <../overview>`_ and walking through the |
+ `Getting Started Tutorial </devguide/tutorial/tutorial-part1>`_. |
* If you'd rather dive into information about the toolchains, see |
- :doc:`Building Native Client Modules </devguide/devcycle/building>`. |
+ `Building Native Client Modules </devguide/devcycle/building>`_. |