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

Side by Side Diff: native_client_sdk/src/doc/sdk/download.rst

Issue 127433002: Updated SDK download instructions. (Ported changes from DevSite.) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | native_client_sdk/src/doc/sdk/index.rst » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 .. _download: 1 .. _download:
2 2
3 Download the Native Client SDK 3 Download the Native Client SDK
4 ============================== 4 ==============================
5 5
6 Follow the steps below to download and install the SDK: 6 To build Native Client modules, you must download and install the Native
7 Client Software Development Kit (SDK). This page provides an overview
8 of the Native Client SDK, and instructions for how to download and
9 install the SDK.
10
11 Overview
12 --------
13
14 The Native Client SDK includes the following:
15
16 support for multiple Pepper versions
17 The SDK contains **bundles** that let you compile Native Client modules
18 using different versions of the
19 :ref:`link_pepper` (e.g., Pepper 31 or Pepper Canary). Review the
20 :doc:`Release Notes <release-notes>` for a description of the new features
21 included in each Pepper version to help you decide which bundle to
22 use to develop your application. In general, Native Client modules
23 compiled using a particular Pepper version will work in
24 corresponding versions of Chrome and higher. For example, a module
25 compiled using the Pepper 31 bundle will work in Chrome 31 and
26 higher.
27
28 update utility
29 The ``naclsdk`` utility (``naclsdk.bat`` on Windows) lets you download new
30 bundles that are available, as well as new versions of existing bundles.
31
32 toolchains
33 Each platform includes three toolchains: one for compiling
34 Portable Native Client (PNaCl) applications, one for compiling
35 architecture-specific Native Client applications with newlib, and
36 one for compiling architecture-specific Native Client applications with glibc.
37 Newlib and glibc are two different implementations
38 of the C standard library. All three toolchains contain
39 Native Client-compatible versions of standard compilers, linkers,
40 and other tools. See :doc:`NaCl and PNaCl </nacl-and-pnacl>` to help
41 you choose the right toolchain.
42
43 examples
44 Each example in the SDK includes C or C++ source files and header files
45 illustrating how to use NaCl and Pepper, along with a Makefile to build
46 the example using each of the toolchains.
47
48 tools
49 The SDK includes a number of additional tools that you can use for
50 tasks such as validating Native Client modules and running modules
51 from the command line.
52
53 Follow the steps below to download and install the Native Client SDK.
7 54
8 Prerequisites 55 Prerequisites
9 ------------- 56 -------------
10 57
11 * Python: Make sure you have Python 2.6 or 2.7 installed, and that the Python 58 * **Python:** Make sure you have Python 2.6 or 2.7 installed, and that the
12 executable is in your path. 59 Python executable is in your path.
13 60
14 * On Mac/Linux, Python is probably preinstalled. Run the command ``"python 61 * On Mac/Linux, Python is likely preinstalled. Run the command ``"python
15 -V``" in a terminal window, and make sure that the version of Python you 62 -V``" in a terminal window, and make sure that the version of Python you
16 have is 2.6.x or 2.7.x (if it's not, upgrade to one of those versions). 63 have is 2.6.x or 2.7.x (if it's not, upgrade to one of those versions).
17 * On Windows, you may need to install Python. Go to 64 * On Windows, you may need to install Python. Go to
18 `http://www.python.org/download/ <http://www.python.org/download/>`_ and 65 `http://www.python.org/download/ <http://www.python.org/download/>`_ and
19 select the latest 2.x version. In addition, be sure to add the Python 66 select the latest 2.x version. In addition, be sure to add the Python
20 directory (for example, ``C:\python27``) to the PATH `environment 67 directory (for example, ``C:\python27``) to the PATH `environment
21 variable <http://en.wikipedia.org/wiki/Environment_variable>`_. After 68 variable <http://en.wikipedia.org/wiki/Environment_variable>`_. After
22 you've installed Python, run the command ``"python -V``" in a Command 69 you've installed Python, run the command ``"python -V``" in a Command
23 Prompt window and verify that the version of Python you have is 2.6.x or 70 Prompt window and verify that the version of Python you have is 2.6.x or
24 2.7.x. 71 2.7.x.
25 * Note that Python 3.x is not yet supported. 72 * Note that Python 3.x is not yet supported.
26 73
27 * Make: On the Mac, you need to install the ``make`` command on your system befo re 74 * **Make:** On the Mac, you need to install the ``make`` command on your system
28 you can build and run the examples. One easy way to get ``make``, along 75 before you can build and run the examples in the SDK. One easy way to get
29 with several other useful tools, is to install `Xcode Developer Tools 76 ``make``, along with several other useful tools, is to install
30 <https://developer.apple.com/technologies/tools/>`_. After installing 77 `Xcode Developer Tools <https://developer.apple.com/technologies/tools/>`_.
31 Xcode, go to the Preferences menu, select Downloads and Components, and 78 After installing Xcode, go to the Preferences menu, select
32 verify that Command Line Tools are installed. If you'd rather not install 79 Downloads and Components, and verify that Command Line Tools are installed.
33 Xcode, you can download and build an `open source version 80 If you'd rather not install Xcode, you can download and build an
81 `open source version
34 <http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1>`_ of 82 <http://mac.softpedia.com/dyn-postdownload.php?p=44632&t=4&i=1>`_ of
35 ``make``. In order to build the command you may also need to download and 83 ``make``. In order to build the command you may also need to download and
36 install a copy of `gcc 84 install a copy of `gcc <https://github.com/kennethreitz/osx-gcc-installer>`_.
37 <https://github.com/kennethreitz/osx-gcc-installer>`_.
38 85
39 Download Steps 86 Download and install the SDK
40 -------------- 87 ----------------------------
41 88
42 #. Download the SDK update utility: `nacl_sdk.zip 89 #. Download the SDK update utility: `nacl_sdk.zip
43 <http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip >`_. 90 <http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip >`_.
44 91
45 #. Unzip the SDK update utility: 92 #. Unzip the SDK update utility:
46 93
47 * On Mac/Linux, run the command "``unzip nacl_sdk.zip``" in a Terminal window . 94 * On Mac/Linux, run the command "``unzip nacl_sdk.zip``" in a terminal
95 window.
48 * On Windows, right-click on the .zip file and select "Extract All...". A 96 * On Windows, right-click on the .zip file and select "Extract All...". A
49 dialog box will open; enter a location and click "Extract". 97 dialog box will open; enter a location and click "Extract".
50 98
51 Unzipping the SDK update utility creates a directory called ``nacl_sdk`` with 99 Unzipping the SDK update utility creates a directory called ``nacl_sdk`` with
52 the following files and directories: 100 the following files and directories:
53 101
54 * ``naclsdk`` (and ``naclsdk.bat`` for Windows) --- the front end of the upda te 102 * ``naclsdk`` (and ``naclsdk.bat`` for Windows) --- the front end of the upda te
55 utility, i.e., the command you run to download the latest bundles 103 utility, i.e., the command you run to download the latest bundles
56 * ``sdk_cache`` --- a directory with a manifest file that lists the bundles y ou 104 * ``sdk_cache`` --- a directory with a manifest file that lists the bundles
57 have already downloaded 105 you have already downloaded
58 * ``sdk_tools`` --- the back end of the update utility, also known as the 106 * ``sdk_tools`` --- the back end of the update utility, also known as the
59 "sdk_tools" bundle 107 "sdk_tools" bundle
60 108
61 #. See which SDK versions are available: Go to the ``nacl_sdk`` directory and 109 #. To see the SDK bundles that are available for download, go to the ``nacl_sdk` `
62 run ``naclsdk`` with the ``"list"`` command to see a list of available bundle s. 110 directory and run ``naclsdk`` with the ``"list"`` command.
63 The SDK includes a separate bundle for each version of Chrome/Pepper 111 The SDK includes a separate bundle for each version of Chrome/Pepper.
64 (see versioning information).
65 112
66 On Mac/Linux:: 113 On Mac/Linux::
67 114
68 $ cd nacl_sdk 115 $ cd nacl_sdk
69 $ ./naclsdk list 116 $ ./naclsdk list
70 117
71 On Windows:: 118 On Windows::
72 119
73 > cd nacl_sdk 120 > cd nacl_sdk
74 > naclsdk list 121 > naclsdk list
75 122
76 You should see output similar to this:: 123 You should see output similar to this::
77 124
78 Bundles: 125 Bundles:
79 I: installed 126 I: installed
80 *: update available 127 *: update available
81 128
82 I sdk_tools (stable) 129 I sdk_tools (stable)
83 vs_addin (dev) 130 vs_addin (dev)
84 pepper_26 (post_stable)
85 pepper_27 (post_stable) 131 pepper_27 (post_stable)
86 pepper_28 (post_stable) 132 pepper_28 (post_stable)
87 pepper_29 (post_stable) 133 pepper_29 (post_stable)
88 pepper_30 (stable) 134 pepper_30 (post_stable)
89 pepper_31 (beta) 135 pepper_31 (stable)
136 pepper_32 (beta)
90 pepper_canary (canary) 137 pepper_canary (canary)
91 138
92 This sample output shows many bundles available for download, and that you 139 The sample output above shows that there are a number of bundles available
93 have already installed the latest revision of the sdk_tools bundle (it was 140 for download, and that you have already installed the latest revision of the
94 included in the zip file you downloaded). Note that the bundles are labelled 141 ``sdk_tools`` bundle (it was included in the zip file you downloaded).
95 "post-stable", "stable", "beta", "dev" and "canary". These labels correspond 142 Each bundle is labeled post-stable, stable, beta, dev, or canary.
96 to the current versions of Chrome. In this example, Chrome 30 is stable, 143 These labels usually correspond to the current versions of
97 Chrome 31 is beta, etc. Therefore ``pepper_30`` is the recommended bundle to 144 Chrome. (In the example above, Chrome 31 is stable, Chrome 32 is beta, etc.).
98 download, because if you released an application that used it today, it 145 We generally recommend that you download and use a "stable" bundle,
99 could be used by all current Chrome users. Note that Native Client is 146 as applications developed with "stable" bundles can be used by all current
100 designed to be backward compatible---users of Chrome 31 can use the features 147 Chrome users. This is because Native Client is designed to be
101 of ``pepper_30`` and earlier. 148 backward-compatible (for example, applications developed with the
149 ``pepper_31`` bundle can run in Chrome 31, Chrome 32, etc.).
150 Thus in the example above, ``pepper_31`` is the recommended bundle to use.
102 151
103 #. Run ``naclsdk`` with the "update" command to download particular bundles that 152 #. Run ``naclsdk`` with the "update" command to download recommended bundles.
104 are available.
105 153
106 On Mac/Linux:: 154 On Mac/Linux::
107 155
108 $ ./naclsdk update 156 $ ./naclsdk update
109 157
110 On Windows:: 158 On Windows::
111 159
112 > naclsdk update 160 > naclsdk update
113 161
114 By default, ``naclsdk`` only downloads bundles that are recommended. In 162 By default, ``naclsdk`` only downloads bundles that are
115 general, only the "stable" bundles are recommended. Continuing with the 163 recommended---generally those that are "stable." Continuing with the earlier example, the
116 earlier example, the "update" command would only download the ``pepper_30`` 164 "update" command would only download the ``pepper_31``
117 bundles, since the bundles ``pepper_31`` and greater are not yet recommended. 165 bundle, since the bundles ``pepper_32`` and greater are not yet stable.
118 If you want the ``pepper_31`` bundle, you must ask for it explicitly:: 166 If you want the ``pepper_32`` bundle, you must ask for it explicitly::
119 167
120 $ ./naclsdk update pepper_31 168 $ ./naclsdk update pepper_32
121 169
122 Note that you never need update the ``sdk_tools`` bundle, it is 170 Note that you never need to update the ``sdk_tools`` bundle---it is
123 updated automatically as necessary whenever ``naclsdk`` is run. 171 updated automatically (if necessary) whenever you run ``naclsdk``.
124 172
125 .. Note:: 173 .. Note::
126 :class: note 174 :class: note
127 175
128 The minimum SDK version that supports PNaCl is ``pepper_31``. 176 The minimum SDK bundle that supports PNaCl is ``pepper_31``.
129 177
130 Staying up-to-date and getting new versions 178 Staying up-to-date and getting new versions of bundles
131 ------------------------------------------- 179 ------------------------------------------------------
132 180
133 #. Run ``naclsdk`` with the "list" command again; this will show you the list of 181 #. Run ``naclsdk`` with the "list" command again; this will show you the list of
134 available bundles and verify which bundles are installed. 182 available bundles and verify which bundles you have installed.
135 183
136 On Mac/Linux:: 184 On Mac/Linux::
137 185
138 $ ./naclsdk list 186 $ ./naclsdk list
139 187
140 On Windows:: 188 On Windows::
141 189
142 > naclsdk list 190 > naclsdk list
143 191
144 Continuing with the earlier example, if you previously downloaded the 192 Continuing with the earlier example, if you previously downloaded the
145 ``pepper_30`` bundle, you should see output similar to this:: 193 ``pepper_31`` bundle, you should see output similar to this::
146 194
147 Bundles: 195 Bundles:
148 I: installed 196 I: installed
149 *: update available 197 *: update available
150 198
151 I sdk_tools (stable) 199 I sdk_tools (stable)
152 vs_addin (dev) 200 vs_addin (dev)
153 pepper_26 (post_stable)
154 pepper_27 (post_stable) 201 pepper_27 (post_stable)
155 pepper_28 (post_stable) 202 pepper_28 (post_stable)
156 pepper_29 (post_stable) 203 pepper_29 (post_stable)
157 I pepper_30 (stable) 204 pepper_30 (post_stable)
158 pepper_31 (beta) 205 I pepper_31 (stable)
206 pepper_32 (beta)
159 pepper_canary (canary) 207 pepper_canary (canary)
160 208
161 #. Running ``naclsdk`` with the "update" command again will verify that your 209 #. Running ``naclsdk`` with the "update" command again will verify that your
162 bundles are up-to-date, or warn if you there are new versions of previously 210 bundles are up-to-date, or warn if you there are new versions of previously
163 installed bundles. 211 installed bundles.
164 212
165 On Mac/Linux:: 213 On Mac/Linux::
166 214
167 $ ./naclsdk update 215 $ ./naclsdk update
168 216
169 On Windows:: 217 On Windows::
170 218
171 > naclsdk update 219 > naclsdk update
172 220
173 Continuing with the earlier example, you should see output similar to this:: 221 Continuing with the earlier example, you should see output similar to this::
174 222
175 pepper_30 is already up-to-date. 223 pepper_31 is already up-to-date.
176 224
177 #. To check if there is a new version of a previously installed bundle, you can 225 #. To check if there is a new version of a previously installed bundle, you can
178 run the "list" command again:: 226 run the "list" command again::
179 227
180 Bundles: 228 Bundles:
181 I: installed 229 I: installed
182 *: update available 230 *: update available
183 231
184 I sdk_tools (stable) 232 I sdk_tools (stable)
185 vs_addin (dev) 233 vs_addin (dev)
186 pepper_26 (post_stable)
187 pepper_27 (post_stable) 234 pepper_27 (post_stable)
188 pepper_28 (post_stable) 235 pepper_28 (post_stable)
189 pepper_29 (post_stable) 236 pepper_29 (post_stable)
190 I* pepper_30 (stable) 237 pepper_30 (post_stable)
191 pepper_31 (beta) 238 I* pepper_31 (stable)
239 pepper_32 (beta)
192 pepper_canary (canary) 240 pepper_canary (canary)
193 241
194 The asterisk next to the bundle name indicates that there is an update 242 An asterisk next to a bundle indicates that there is an update
195 available. If you run the "update" command now, ``naclsdk`` will warn you 243 available for that bundle. If you run the "update" command now,
196 with a message similar to this:: 244 ``naclsdk`` will warn you with a message similar to this::
197 245
198 WARNING: pepper_30 already exists, but has an update available. 246 WARNING: pepper_31 already exists, but has an update available.
199 Run update with the --force option to overwrite the existing directory. 247 Run update with the --force option to overwrite the existing directory.
200 Warning: This will overwrite any modifications you have made within this di rectory. 248 Warning: This will overwrite any modifications you have made within this di rectory.
201 249
202 To dowload the new version of a bundle and overwrite the existing directory 250 To dowload the new version of a bundle and overwrite the existing directory
203 for that bundle, run ``naclsdk`` with the ``--force`` option. 251 for that bundle, run ``naclsdk`` with the ``--force`` option.
204 252
205 On Mac/Linux:: 253 On Mac/Linux::
206 254
207 $ ./naclsdk update --force 255 $ ./naclsdk update --force
208 256
(...skipping 10 matching lines...) Expand all
219 On Windows:: 267 On Windows::
220 268
221 > naclsdk help 269 > naclsdk help
222 270
223 Next steps: 271 Next steps:
224 272
225 * Browse through the :doc:`Release Notes <release-notes>` for important 273 * Browse through the :doc:`Release Notes <release-notes>` for important
226 information about the SDK and new bundles. 274 information about the SDK and new bundles.
227 * If you're just getting started with Native Client, we recommend reading 275 * If you're just getting started with Native Client, we recommend reading
228 the :doc:`Technical Overview <../overview>` and walking through the 276 the :doc:`Technical Overview <../overview>` and walking through the
229 :doc:`Getting Started Tutorial </devguide/tutorial/index>`. 277 :doc:`Getting Started Tutorial </devguide/tutorial/tutorial-part1>`.
230 * If you'd rather dive into information about the toolchains, see 278 * If you'd rather dive into information about the toolchains, see
231 :doc:`Building Native Client Modules </devguide/devcycle/building>`. 279 :doc:`Building Native Client Modules </devguide/devcycle/building>`.
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/src/doc/sdk/index.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698