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

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

Issue 476793002: Per P0 reqs add launch pts + make download obvious. Also misc cpy edits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CL synced with master. Created 6 years, 3 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
« no previous file with comments | « native_client_sdk/src/doc/sdk/download.rst ('k') | native_client_sdk/src/doc/sitemap.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 .. _sdk-examples-2: 1 .. _sdk-examples-2:
2 2
3 Running the SDK Examples 3 Running the SDK Examples
4 ======================== 4 ========================
5 5
6 Every Native Client SDK bundle comes with a folder of example applications. 6 Every Native Client SDK bundle comes with a folder of example applications.
7 Each example demonstrates one or two key Native Client programming concepts. 7 Each example demonstrates one or two key Native Client programming concepts.
8 After you've :doc:`downloaded the SDK <download>`, follow the instructions 8 After you've :doc:`downloaded the SDK <download>`, follow the instructions
9 on this page to build and run the examples. 9 on this page to build and run the examples.
10 10
11 Configure the Google Chrome Browser 11 Your version of Chrome must be equal to or greater than the version of your SDK
12 ----------------------------------- 12 bundle. For example, if you're developing with the ``pepper_31`` bundle, you
13 must use Google Chrome version 31 or greater. To find out what version of Chrome
14 you're using, type ``about:chrome`` or ``about:version`` in the Chrome address
15 bar.
13 16
14 #. Your version of Chrome must be equal to or greater than the version of 17
15 your SDK bundle. For example, if you're developing with the ``pepper_31`` 18 Enable Native Client
16 bundle, you must use Google Chrome version 31 or greater. To find out what 19 --------------------
17 version of Chrome you're using, type ``about:chrome`` or ``about:version``
18 in the Chrome address bar.
19 20
20 #. For Portable Native Client, no extra Chrome flags are needed as of 21 .. note::
21 Chrome version 31. 22 :class: note
23
24 If you are using Chrome 31 or later, you can skip this section.
22 25
23 For other Native Client applications, or to **debug** Portable Native 26 To run Portable Native Client applications you must specifically enable Native
24 Client applications by translating the **pexe** to a **nexe** ahead of 27 Client in Chrome:
25 time, enable the Native Client flag. Native Client is enabled by default
26 only for applications distributed through the Chrome Web Store. To run
27 Native Client applications that are not distributed through the Chrome
28 Web Store, like the SDK examples, you must specifically enable the Native
29 Client flag in Chrome:
30 28
31 * Type ``about:flags`` in the Chrome address bar and scroll down to 29 #. Type ``about:flags`` in the Chrome address bar and scroll down to "Native
32 "Native Client". 30 Client".
33 * If the link below "Native Client" says "Disable", then Native Client is 31
32 - If the link below "Native Client" says "Disable", then Native Client is
34 already enabled and you don't need to do anything else. 33 already enabled and you don't need to do anything else.
34
35 * If the link below "Native Client" says "Enable", click the "Enable" 35 * If the link below "Native Client" says "Enable", click the "Enable"
36 link, scroll down to the bottom of the page, and click the "Relaunch 36 link.
37 Now" button. All browser windows will restart when you relaunch Chrome. 37
38 #. Scroll down to the bottom of the page, and click "Relaunch Now". All browser
39 windows will restart when you relaunch Chrome.
38 40
39 #. Disable the Chrome cache. Chrome caches resources aggressively; when you 41 Disable the Chrome cache
40 are building a Native Client application you should disable the cache to 42 ------------------------
41 make sure that Chrome loads the latest version:
42 43
43 * Open Chrome's developer tools by clicking the menu icon |menu-icon| and 44 Chrome caches resources aggressively. When you are building a Native Client
44 choosing Tools > Developer tools. 45 application you should disable the cache to make sure that Chrome loads the
45 * Click the gear icon |gear-icon| in the bottom right corner of the 46 latest version.
46 Chrome window. 47
47 * Under the "General" settings, check the box next to "Disable cache". 48 #. Open Chrome's developer tools by clicking the menu icon |menu-icon| and
49 choosing Tools > Developer tools.
50
51 #. Click the gear icon |gear-icon| in the bottom right corner of the Chrome
52 window.
53
54 #. Under the "General" settings, check the box next to "Disable cache".
48 55
49 Build the SDK examples 56 Build the SDK examples
50 ---------------------- 57 ----------------------
51 58
52 Starting with the ``pepper_24`` bundle, the Makefile scripts for the SDK 59 The Makefile scripts for the SDK examples build multiple versions of the
53 examples build multiple versions of the examples using all three SDK 60 examples using all three SDK toolchains (newlib, glibc, and PNaCl) and in both
54 toolchains (newlib, glibc, and PNaCl) and in both release and debug 61 release and debug configurations. (Note that some examples build only with
55 configurations. (Note that some examples build only with the particular 62 particular toolchains).
56 toolchains). 63
64 Build all examples
65 ^^^^^^^^^^^^^^^^^^
57 66
58 To build all the examples, go to the examples directory in a specific SDK 67 To build all the examples, go to the examples directory in a specific SDK
59 bundle and run ``make``:: 68 bundle and run ``make``::
60 69
61 $ cd pepper_31/examples 70 $ cd pepper_31/examples
62 $ make 71 $ make
63 make -C api all 72 make -C api all
64 make[1]: Entering directory `pepper_31/examples/api' 73 make[1]: Entering directory `pepper_31/examples/api'
65 make -C audio all 74 make -C audio all
66 make[2]: Entering directory `pepper_31/examples/api/audio' 75 make[2]: Entering directory `pepper_31/examples/api/audio'
67 CXX newlib/Debug/audio_x86_32.o 76 CXX newlib/Debug/audio_x86_32.o
68 LINK newlib/Debug/audio_x86_32.nexe 77 LINK newlib/Debug/audio_x86_32.nexe
69 CXX newlib/Debug/audio_x86_64.o 78 CXX newlib/Debug/audio_x86_64.o
70 LINK newlib/Debug/audio_x86_64.nexe 79 LINK newlib/Debug/audio_x86_64.nexe
71 CXX newlib/Debug/audio_arm.o 80 CXX newlib/Debug/audio_arm.o
72 LINK newlib/Debug/audio_arm.nexe 81 LINK newlib/Debug/audio_arm.nexe
73 CREATE_NMF newlib/Debug/audio.nmf 82 CREATE_NMF newlib/Debug/audio.nmf
74 make[2]: Leaving directory `pepper_31/examples/api/audio' 83 make[2]: Leaving directory `pepper_31/examples/api/audio'
75 make -C url_loader all 84 make -C url_loader all
76 make[2]: Entering directory `pepper_31/examples/api/url_loader' 85 make[2]: Entering directory `pepper_31/examples/api/url_loader'
77 CXX newlib/Debug/url_loader_x86_32.o 86 CXX newlib/Debug/url_loader_x86_32.o
78 ... 87 ...
88
89 Build a single example
90 ^^^^^^^^^^^^^^^^^^^^^^
79 91
80 Calling ``make`` from inside a particular example's directory will build only 92 Calling ``make`` from inside a particular example's directory will build only
81 that example:: 93 that example::
82 94
83 $ cd pepper_31/examples/api/core 95 $ cd pepper_31/examples/api/core
84 $ make 96 $ make
85 CXX newlib/Debug/core_x86_32.o 97 CXX newlib/Debug/core_x86_32.o
86 LINK newlib/Debug/core_x86_32.nexe 98 LINK newlib/Debug/core_x86_32.nexe
87 CXX newlib/Debug/core_x86_64.o 99 CXX newlib/Debug/core_x86_64.o
88 LINK newlib/Debug/core_x86_64.nexe 100 LINK newlib/Debug/core_x86_64.nexe
89 CXX newlib/Debug/core_arm.o 101 CXX newlib/Debug/core_arm.o
90 LINK newlib/Debug/core_arm.nexe 102 LINK newlib/Debug/core_arm.nexe
91 CREATE_NMF newlib/Debug/core.nmf 103 CREATE_NMF newlib/Debug/core.nmf
92 104
105 Override defaults
106 ^^^^^^^^^^^^^^^^^
107
93 You can call ``make`` with the ``TOOLCHAIN`` and ``CONFIG`` parameters to 108 You can call ``make`` with the ``TOOLCHAIN`` and ``CONFIG`` parameters to
94 override the defaults:: 109 override the defaults::
95 110
96 $ make TOOLCHAIN=pnacl CONFIG=Release 111 $ make TOOLCHAIN=pnacl CONFIG=Release
97 CXX pnacl/Release/core_pnacl.o 112 CXX pnacl/Release/core_pnacl.o
98 LINK pnacl/Release/core.bc 113 LINK pnacl/Release/core.bc
99 FINALIZE pnacl/Release/core.pexe 114 FINALIZE pnacl/Release/core.pexe
100 CREATE_NMF pnacl/Release/core.nmf 115 CREATE_NMF pnacl/Release/core.nmf
101 116
102 117
(...skipping 25 matching lines...) Expand all
128 LINK pnacl/Debug/core_unstripped.bc 143 LINK pnacl/Debug/core_unstripped.bc
129 FINALIZE pnacl/Debug/core_unstripped.pexe 144 FINALIZE pnacl/Debug/core_unstripped.pexe
130 CREATE_NMF pnacl/Debug/core.nmf 145 CREATE_NMF pnacl/Debug/core.nmf
131 make[1]: Leaving directory `pepper_31/examples/api/core' 146 make[1]: Leaving directory `pepper_31/examples/api/core'
132 make TOOLCHAIN=linux 147 make TOOLCHAIN=linux
133 make[1]: Entering directory `pepper_31/examples/api/core' 148 make[1]: Entering directory `pepper_31/examples/api/core'
134 CXX linux/Debug/core.o 149 CXX linux/Debug/core.o
135 LINK linux/Debug/core.so 150 LINK linux/Debug/core.so
136 make[1]: Leaving directory `pepper_31/examples/api/core' 151 make[1]: Leaving directory `pepper_31/examples/api/core'
137 152
153 Build results
154 -------------
138 155
139 After running ``make``, each example directory will contain one or more of 156 After running ``make``, each example directory will contain one or more of
140 the following subdirectories: 157 the following subdirectories:
141 158
142 * a ``newlib`` directory with subdirectories ``Debug`` and ``Release``; 159 * ``newlib`` with subdirectories ``Debug`` and ``Release``;
143 * a ``glibc`` directory with subdirectories ``Debug`` and ``Release``; 160 * ``glibc`` with subdirectories ``Debug`` and ``Release``;
144 * a ``pnacl`` directory with subdirectories ``Debug`` and ``Release``; 161 * ``pnacl`` with subdirectories ``Debug`` and ``Release``;
145 162
146 For the newlib and glibc toolchains the Debug and Release subdirectories 163 For the newlib and glibc toolchains the Debug and Release subdirectories
147 contain .nexe files for all target architectures. For the PNaCl toolchain 164 contain .nexe files for all target architectures. For the PNaCl toolchain
148 they contain a single .pexe file. PNaCl debug also produces pre-translated 165 they contain a single .pexe file. PNaCl debug also produces pre-translated
149 .nexe files, for ease of debugging. All Debug and Release directories contain 166 .nexe files, for ease of debugging. All Debug and Release directories contain
150 a manifest (.nmf) file that references the associated .nexe or .pexe files. 167 a manifest (.nmf) file that references the associated .nexe or .pexe files.
151 For information about Native Client manifest files, see the :doc:`Technical 168 For information about Native Client manifest files, see the :doc:`Technical
152 Overview <../overview>`. 169 Overview <../overview>`.
153 170
154 For details on how to use ``make``, see the `GNU 'make' Manual 171 For details on how to use ``make``, see the `GNU 'make' Manual
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 275
259 At this point, you can use the standard GDB commands to debug your NaCl module. 276 At this point, you can use the standard GDB commands to debug your NaCl module.
260 The most common commands you will use to debug are ``continue``, ``step``, 277 The most common commands you will use to debug are ``continue``, ``step``,
261 ``next``, ``break`` and ``backtrace``. See :doc:`Debugging 278 ``next``, ``break`` and ``backtrace``. See :doc:`Debugging
262 <../devguide/devcycle/debugging>` for more information about debugging a Native Client 279 <../devguide/devcycle/debugging>` for more information about debugging a Native Client
263 application. 280 application.
264 281
265 282
266 .. |menu-icon| image:: /images/menu-icon.png 283 .. |menu-icon| image:: /images/menu-icon.png
267 .. |gear-icon| image:: /images/gear-icon.png 284 .. |gear-icon| image:: /images/gear-icon.png
OLDNEW
« no previous file with comments | « native_client_sdk/src/doc/sdk/download.rst ('k') | native_client_sdk/src/doc/sitemap.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698