OLD | NEW |
(Empty) | |
| 1 .. _download: |
| 2 |
| 3 Download the Native Client SDK |
| 4 ============================== |
| 5 |
| 6 Follow the steps below to download and install the SDK: |
| 7 |
| 8 1. Prerequisites: |
| 9 |
| 10 * Make sure you have Python 2.6 or 2.7 installed, and that the Python |
| 11 executable is in your path. |
| 12 |
| 13 * On Mac/Linux, Python is probably preinstalled. Run the command ``"python |
| 14 -V``" in a terminal window, and make sure that the version of Python you |
| 15 have is 2.6.x or 2.7.x (if it's not, upgrade to one of those versions). |
| 16 * On Windows, you may need to install Python. Go to |
| 17 `http://www.python.org/download/ <http://www.python.org/download/>`_ and |
| 18 select the latest 2.x version. In addition, be sure to add the Python |
| 19 directory (for example, ``C:\python27``) to the PATH `environment |
| 20 variable <http://en.wikipedia.org/wiki/Environment_variable>`_. After |
| 21 you've installed Python, run the command ``"python -V``" in a Command |
| 22 Prompt window and verify that the version of Python you have is 2.6.x or |
| 23 2.7.x. |
| 24 * Note that Python 3.x is not yet supported. |
| 25 |
| 26 * On the Mac, you need to install the ``make`` command on your system before |
| 27 you can build and run the examples. One easy way to get ``make``, along |
| 28 with several other useful tools, is to install `Xcode Developer Tools |
| 29 <https://developer.apple.com/technologies/tools/>`_. After installing |
| 30 Xcode, go to the Preferences menu, select Downloads and Components, and |
| 31 verify that Command Line Tools are installed. If you'd rather not install |
| 32 Xcode, you can download and build an `open source version |
| 33 <http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1>`_ of |
| 34 ``make``. In order to build the command you may also need to download and |
| 35 install a copy of `gcc |
| 36 <https://github.com/kennethreitz/osx-gcc-installer>`_. |
| 37 |
| 38 2. Download the SDK update utility: `nacl_sdk.zip |
| 39 <http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip
>`_. |
| 40 |
| 41 3. Unzip the SDK update utility: |
| 42 |
| 43 * On Mac/Linux, run the command "``unzip nacl_sdk.zip``" in a Terminal window. |
| 44 * On Windows, right-click on the .zip file and select "Extract All...". A |
| 45 dialog box will open; enter a location and click "Extract". |
| 46 |
| 47 Unzipping the SDK update utility creates a directory called ``nacl_sdk`` with |
| 48 the following files and directories: |
| 49 |
| 50 * ``naclsdk`` (and ``naclsdk.bat`` for Windows) --- the front end of the updat
e |
| 51 utility, i.e., the command you run to download the latest bundles |
| 52 * ``sdk_cache`` --- a directory with a manifest file that lists the bundles yo
u |
| 53 have already downloaded |
| 54 * ``sdk_tools`` --- the back end of the update utility, also known as the |
| 55 "sdk_tools" bundle |
| 56 |
| 57 4. Go to the ``nacl_sdk`` directory and run ``naclsdk`` with the "list" |
| 58 command to see a list of available bundles. The SDK includes a separate |
| 59 bundle for each version of Chrome/Pepper (see versioning information). |
| 60 |
| 61 On Mac/Linux:: |
| 62 |
| 63 $ cd nacl_sdk |
| 64 $ ./naclsdk list |
| 65 |
| 66 On Windows:: |
| 67 |
| 68 > cd nacl_sdk |
| 69 > naclsdk list |
| 70 |
| 71 You should see output similar to this:: |
| 72 |
| 73 Bundles: |
| 74 I: installed |
| 75 *: update available |
| 76 |
| 77 I sdk_tools (stable) |
| 78 vs_addin (dev) |
| 79 pepper_25 (post_stable) |
| 80 pepper_26 (post_stable) |
| 81 pepper_27 (post_stable) |
| 82 pepper_28 (stable) |
| 83 pepper_29 (beta) |
| 84 pepper_30 (dev) |
| 85 pepper_canary (canary) |
| 86 |
| 87 This sample output shows many bundles available for download, and that you |
| 88 have already installed the latest revision of the sdk_tools bundle (it was |
| 89 included in the zip file you downloaded). Note that the bundles are labelled |
| 90 "post-stable", "stable", "beta", "dev" and "canary". These labels correspond |
| 91 to the current versions of Chrome. In this example, Chrome 28 is stable, |
| 92 Chrome 29 is beta, etc. Therefore ``pepper_28`` is the recommended bundle to |
| 93 download, because if you released an application that used it today, it |
| 94 could be used by all current Chrome users. Note that Native Client is |
| 95 designed to be backward compatible---users of Chrome 29 can use the features |
| 96 of ``pepper_28`` and earlier. |
| 97 |
| 98 5. Run ``naclsdk`` with the "update" command to download particular bundles that |
| 99 are available. |
| 100 |
| 101 On Mac/Linux:: |
| 102 |
| 103 $ ./naclsdk update |
| 104 |
| 105 On Windows:: |
| 106 |
| 107 > naclsdk update |
| 108 |
| 109 By default, ``naclsdk`` only downloads bundles that are recommended. In |
| 110 general, only the "stable" bundles are recommended. Continuing with the |
| 111 earlier example, the "update" command would only download the ``pepper_28`` |
| 112 bundles, since the bundles ``pepper_29`` and greater are not yet recommended. |
| 113 If you want the ``pepper_29`` bundle, you must ask for it explicitly:: |
| 114 |
| 115 $ ./naclsdk update pepper_29 |
| 116 |
| 117 Note that you never need update the ``sdk_tools`` bundle, it is |
| 118 updated automatically as necessary whenever ``naclsdk`` is run. |
| 119 |
| 120 6. Run ``naclsdk`` with the "list" command again; this will show you the list of |
| 121 available bundles and verify which bundles are installed. |
| 122 |
| 123 On Mac/Linux:: |
| 124 |
| 125 $ ./naclsdk list |
| 126 |
| 127 On Windows:: |
| 128 |
| 129 > naclsdk list |
| 130 |
| 131 Continuing with the earlier example, if you previously downloaded the |
| 132 ``pepper_28`` bundle, you should see output similar to this:: |
| 133 |
| 134 Bundles: |
| 135 I: installed |
| 136 *: update available |
| 137 |
| 138 I sdk_tools (stable) |
| 139 vs_addin (dev) |
| 140 pepper_25 (post_stable) |
| 141 pepper_26 (post_stable) |
| 142 pepper_27 (post_stable) |
| 143 I pepper_28 (stable) |
| 144 pepper_29 (beta) |
| 145 pepper_30 (dev) |
| 146 pepper_canary (canary) |
| 147 |
| 148 7. Running ``naclsdk`` with the "update" command again will verify that your |
| 149 bundles are up-to-date, or warn if you there are new versions of previously |
| 150 installed bundles. |
| 151 |
| 152 On Mac/Linux:: |
| 153 |
| 154 $ ./naclsdk update |
| 155 |
| 156 On Windows:: |
| 157 |
| 158 > naclsdk update |
| 159 |
| 160 Continuing with the earlier example, you should see output similar to this:: |
| 161 |
| 162 pepper_28 is already up-to-date. |
| 163 |
| 164 To check if there is a new version of a previously installed bundle, you can |
| 165 run the "list" command again:: |
| 166 |
| 167 Bundles: |
| 168 I: installed |
| 169 *: update available |
| 170 |
| 171 I sdk_tools (stable) |
| 172 vs_addin (dev) |
| 173 pepper_25 (post_stable) |
| 174 pepper_26 (post_stable) |
| 175 pepper_27 (post_stable) |
| 176 I* pepper_28 (stable) |
| 177 pepper_29 (beta) |
| 178 pepper_30 (dev) |
| 179 pepper_canary (canary) |
| 180 |
| 181 The asterisk next to the bundle name indicates that there is an update |
| 182 available. If you run the "update" command now, ``naclsdk`` will warn you |
| 183 with a message similar to this:: |
| 184 |
| 185 WARNING: pepper_28 already exists, but has an update available. |
| 186 Run update with the --force option to overwrite the existing directory. |
| 187 Warning: This will overwrite any modifications you have made within this dir
ectory. |
| 188 |
| 189 To dowload the new version of a bundle and overwrite the existing directory |
| 190 for that bundle, run ``naclsdk`` with the ``--force`` option. |
| 191 |
| 192 On Mac/Linux:: |
| 193 |
| 194 $ ./naclsdk update --force |
| 195 |
| 196 On Windows:: |
| 197 |
| 198 > naclsdk update --force |
| 199 |
| 200 8. For more information about the ``naclsdk`` utility, run: |
| 201 |
| 202 On Mac/Linux:: |
| 203 |
| 204 $ ./naclsdk help |
| 205 |
| 206 On Windows:: |
| 207 |
| 208 > naclsdk help |
| 209 |
| 210 Next steps: |
| 211 |
| 212 * Browse through the `Release Notes |
| 213 <https://developers.google.com/native-client/sdk/release-notes>`_ for |
| 214 important information about the SDK and new bundles. |
| 215 * If you're just getting started with Native Client, we recommend reading |
| 216 the :doc:`Technical Overview <../overview>` and walking through the |
| 217 `Getting Started Tutorial |
| 218 <https://developers.google.com/native-client/devguide/tutorial>`_. |
| 219 * If you'd rather dive into information about the toolchains, see `Building |
| 220 Native Client Modules |
| 221 <https://developers.google.com/native-client/devguide/devcycle/building>`_. |
OLD | NEW |