| 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..0ac791a4ea156785f5314476d30e69e5595f8ea9 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 the "``naclsdk update``" now, it will warn 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>`_.
|
|
|