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

Side by Side Diff: native_client_sdk/doc_generated/sdk/release-notes.html

Issue 438403003: [NaCl SDK Docs] Only generate one top-level <section> element. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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
OLDNEW
1 {{+bindTo:partials.standard_nacl_article}} 1 {{+bindTo:partials.standard_nacl_article}}
2 2
3 <section id="release-notes"> 3 <section id="release-notes">
4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1> 4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1>
5 <section id="chrome-pepper-37-20-june-2014">
6 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2> 5 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
7 <section id="pnacl">
8 <h3 id="pnacl">PNaCl</h3> 6 <h3 id="pnacl">PNaCl</h3>
9 <ul class="small-gap"> 7 <ul class="small-gap">
10 <li>2–10% translation time improvement.</li> 8 <li>2–10% translation time improvement.</li>
11 <li>Improved vector load/store and shuffle performance.</li> 9 <li>Improved vector load/store and shuffle performance.</li>
12 </ul> 10 </ul>
13 </section><section id="pepper">
14 <h3 id="pepper">Pepper</h3> 11 <h3 id="pepper">Pepper</h3>
15 <ul class="small-gap"> 12 <ul class="small-gap">
16 <li>Media Streams Input support.</li> 13 <li>Media Streams Input support.</li>
17 <li>Compositor API.</li> 14 <li>Compositor API.</li>
18 <li>Hardware Decode API in development preview.</li> 15 <li>Hardware Decode API in development preview.</li>
19 <li>Sync API in development preview.</li> 16 <li>Sync API in development preview.</li>
20 </ul> 17 </ul>
21 </section><section id="sdk">
22 <h3 id="sdk">SDK</h3> 18 <h3 id="sdk">SDK</h3>
23 <ul class="small-gap"> 19 <ul class="small-gap">
24 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li> 20 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li>
25 </ul> 21 </ul>
26 </section></section><section id="chrome-pepper-36-09-may-2014">
27 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> 22 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
28 <section id="id1">
29 <h3 id="id1">PNaCl</h3> 23 <h3 id="id1">PNaCl</h3>
30 <ul class="small-gap"> 24 <ul class="small-gap">
31 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> 25 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
32 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD 26 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
33 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release, 27 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release,
34 and performance is expected to become acceptable for version 37 of 28 and performance is expected to become acceptable for version 37 of
35 Chrome. More SIMD instructions will be added in later releases.</li> 29 Chrome. More SIMD instructions will be added in later releases.</li>
36 </ul> 30 </ul>
37 </section></section><section id="chrome-pepper-35-31-mar-2014">
38 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 31 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
39 <section id="id2">
40 <h3 id="id2">PNaCl</h3> 32 <h3 id="id2">PNaCl</h3>
41 <ul class="small-gap"> 33 <ul class="small-gap">
42 <li>Upgraded LLVM to version 3.4.</li> 34 <li>Upgraded LLVM to version 3.4.</li>
43 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 35 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
44 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 36 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
45 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li> 37 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li>
46 </ul> 38 </ul>
47 </section></section><section id="chrome-pepper-34-20-feb-2014">
48 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 39 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
49 <section id="id3">
50 <h3 id="id3">Pepper</h3> 40 <h3 id="id3">Pepper</h3>
51 <ul class="small-gap"> 41 <ul class="small-gap">
52 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 42 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
53 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 43 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
54 <code>pp::FileSystem</code> constructor.</li> 44 <code>pp::FileSystem</code> constructor.</li>
55 <li>New Audio and Video input APIs have been added as dev interfaces. See 45 <li>New Audio and Video input APIs have been added as dev interfaces. See
56 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 46 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
57 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 47 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
58 more details.</li> 48 more details.</li>
59 </ul> 49 </ul>
60 </section><section id="id4">
61 <h3 id="id4">PNaCl</h3> 50 <h3 id="id4">PNaCl</h3>
62 <ul class="small-gap"> 51 <ul class="small-gap">
63 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 52 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
64 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 53 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
65 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 54 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
66 </ul> 55 </ul>
67 </section></section><section id="chrome-pepper-33-16-dec-2013">
68 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 56 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
69 <section id="portable-native-client">
70 <h3 id="portable-native-client">Portable Native Client</h3> 57 <h3 id="portable-native-client">Portable Native Client</h3>
71 <ul class="small-gap"> 58 <ul class="small-gap">
72 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on 59 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on
73 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception 60 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception
74 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a> 61 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
75 for details).</li> 62 for details).</li>
76 </ul> 63 </ul>
77 </section><section id="id5">
78 <h3 id="id5">SDK</h3> 64 <h3 id="id5">SDK</h3>
79 <ul class="small-gap"> 65 <ul class="small-gap">
80 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li> 66 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
81 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the 67 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
82 nexes/pexes that are built (by default).</li> 68 nexes/pexes that are built (by default).</li>
83 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li> 69 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li>
84 </ul> 70 </ul>
85 </section></section><section id="pnacl-enabled-by-default-in-chrome-31-12-nov-20 13">
86 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2> 71 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2>
87 <ul class="small-gap"> 72 <ul class="small-gap">
88 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See 73 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
89 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between 74 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
90 NaCl and PNaCl.</li> 75 NaCl and PNaCl.</li>
91 <li>The PNaCl ABI has changed from the preview release in Chrome 30. 76 <li>The PNaCl ABI has changed from the preview release in Chrome 30.
92 Pexe modules built with the <code>pepper_30</code> bundle in the SDK must be rec ompiled 77 Pexe modules built with the <code>pepper_30</code> bundle in the SDK must be rec ompiled
93 with the <code>pepper_31</code> bundle or later. 78 with the <code>pepper_31</code> bundle or later.
94 As a general rule, we always recommended building applications with the latest 79 As a general rule, we always recommended building applications with the latest
95 stable bundle in the Native Client SDK. 80 stable bundle in the Native Client SDK.
96 The PNaCl ABI will remain stable starting with the release of Chrome 31.</li> 81 The PNaCl ABI will remain stable starting with the release of Chrome 31.</li>
97 <li><p class="first">Additional changes in the Chrome/Pepper 31 release:</p> 82 <li><p class="first">Additional changes in the Chrome/Pepper 31 release:</p>
98 <ul class="small-gap"> 83 <ul class="small-gap">
99 <li>Updates to the Pepper API, including socket and network support</li> 84 <li>Updates to the Pepper API, including socket and network support</li>
100 <li>Improved socket support in the <code>nacl_io</code> library</li> 85 <li>Improved socket support in the <code>nacl_io</code> library</li>
101 </ul> 86 </ul>
102 </li> 87 </li>
103 </ul> 88 </ul>
104 </section><section id="pnacl-in-chrome-30-dev-channel-01-aug-2013">
105 <h2 id="pnacl-in-chrome-30-dev-channel-01-aug-2013">PNaCl in Chrome 30 Dev chann el (01 Aug 2013)</h2> 89 <h2 id="pnacl-in-chrome-30-dev-channel-01-aug-2013">PNaCl in Chrome 30 Dev chann el (01 Aug 2013)</h2>
106 <ul class="small-gap"> 90 <ul class="small-gap">
107 <li>Portable Native Client (PNaCl) is currently available for preview in Chrome 91 <li>Portable Native Client (PNaCl) is currently available for preview in Chrome
108 30 (currently in the Dev channel). Apps and sites built with PNaCl can run in 92 30 (currently in the Dev channel). Apps and sites built with PNaCl can run in
109 Chrome 30 without an explicit flag.</li> 93 Chrome 30 without an explicit flag.</li>
110 <li>See <a class="reference external" href="http://www.chromium.org/nativeclient /pnacl/introduction-to-portable-native-client">Introduction to Portable Native C lient</a> 94 <li>See <a class="reference external" href="http://www.chromium.org/nativeclient /pnacl/introduction-to-portable-native-client">Introduction to Portable Native C lient</a>
111 for information on developing for PNaCl. More documentation will be available 95 for information on developing for PNaCl. More documentation will be available
112 soon.</li> 96 soon.</li>
113 <li>Please note that the <a class="reference external" href="http://www.chromium .org/nativeclient/pnacl/bitcode-abi">PNaCl bitcode ABI</a> may still change 97 <li>Please note that the <a class="reference external" href="http://www.chromium .org/nativeclient/pnacl/bitcode-abi">PNaCl bitcode ABI</a> may still change
114 before the official public release; if you&#8217;re developing a PNaCl-based 98 before the official public release; if you&#8217;re developing a PNaCl-based
115 application, be sure to build your code with the latest version of the Native 99 application, be sure to build your code with the latest version of the Native
116 Client SDK.</li> 100 Client SDK.</li>
117 <li>Update: PNaCl is not enabled by default in beta or stable versions of M30.</ li> 101 <li>Update: PNaCl is not enabled by default in beta or stable versions of M30.</ li>
118 </ul> 102 </ul>
119 </section><section id="pnacl-15-may-2013">
120 <h2 id="pnacl-15-may-2013">PNaCl (15 May 2013)</h2> 103 <h2 id="pnacl-15-may-2013">PNaCl (15 May 2013)</h2>
121 <ul class="small-gap"> 104 <ul class="small-gap">
122 <li>Portable Native Client (PNaCl) is currently available for developer preview 105 <li>Portable Native Client (PNaCl) is currently available for developer preview
123 in Chrome 29 or higher.</li> 106 in Chrome 29 or higher.</li>
124 <li>To produce a PNaCl executable (.pexe) file, you must use the pnacl toolchain 107 <li>To produce a PNaCl executable (.pexe) file, you must use the pnacl toolchain
125 in the current <code>pepper_canary</code> bundle. Chrome 29 does not support .pe xe 108 in the current <code>pepper_canary</code> bundle. Chrome 29 does not support .pe xe
126 files produced by earlier versions of the pnacl toolchain (that is, 109 files produced by earlier versions of the pnacl toolchain (that is,
127 executables compiled with the <code>pepper_28</code> bundle or earlier).</li> 110 executables compiled with the <code>pepper_28</code> bundle or earlier).</li>
128 <li>To run an application with a PNaCl module, you must launch Chrome 29 with th e 111 <li>To run an application with a PNaCl module, you must launch Chrome 29 with th e
129 <code>--enable-pnacl</code> flag (for <a class="reference external" href="/apps/ about_apps">packaged apps</a>), or the 112 <code>--enable-pnacl</code> flag (for <a class="reference external" href="/apps/ about_apps">packaged apps</a>), or the
130 <code>--enable-nacl</code> flag (for other apps).</li> 113 <code>--enable-nacl</code> flag (for other apps).</li>
131 <li>When you launch Chrome with the <code>--enable-pnacl</code> flag, Chrome loa ds a PNaCl 114 <li>When you launch Chrome with the <code>--enable-pnacl</code> flag, Chrome loa ds a PNaCl
132 translator in the background. Wait about a minute after you launch Chrome and 115 translator in the background. Wait about a minute after you launch Chrome and
133 check <a class="reference external" href="chrome://nacl">chrome://nacl</a> to ve rify that the translator loaded.</li> 116 check <a class="reference external" href="chrome://nacl">chrome://nacl</a> to ve rify that the translator loaded.</li>
134 <li>PNaCl translators are currently available for 32-bit x86, 64-bit x86, and AR M 117 <li>PNaCl translators are currently available for 32-bit x86, 64-bit x86, and AR M
135 architectures.</li> 118 architectures.</li>
136 <li>PNaCl applications must use the newlib C library (glibc and dynamic linking 119 <li>PNaCl applications must use the newlib C library (glibc and dynamic linking
137 are not supported yet).</li> 120 are not supported yet).</li>
138 <li>The intermediate representation (IR) format may change prior to the release 121 <li>The intermediate representation (IR) format may change prior to the release
139 of PNaCl. If so, you will need to recompile your application with the pnacl 122 of PNaCl. If so, you will need to recompile your application with the pnacl
140 toolchain in a new SDK bundle.</li> 123 toolchain in a new SDK bundle.</li>
141 </ul> 124 </ul>
142 </section><section id="pepper-27-12-april-2013">
143 <h2 id="pepper-27-12-april-2013">Pepper 27 (12 April 2013)</h2> 125 <h2 id="pepper-27-12-april-2013">Pepper 27 (12 April 2013)</h2>
144 <p>The Pepper 27 bundle features a significant number of new libraries that have 126 <p>The Pepper 27 bundle features a significant number of new libraries that have
145 been incorporated directly into the SDK.</p> 127 been incorporated directly into the SDK.</p>
146 <section id="libraries">
147 <h3 id="libraries">Libraries</h3> 128 <h3 id="libraries">Libraries</h3>
148 <ul class="small-gap"> 129 <ul class="small-gap">
149 <li><p class="first">A number of libraries from the naclports project have been incorporated 130 <li><p class="first">A number of libraries from the naclports project have been incorporated
150 directly into the Native Client SDK. These libraries include:</p> 131 directly into the Native Client SDK. These libraries include:</p>
151 <ul class="small-gap"> 132 <ul class="small-gap">
152 <li>image encoding/decoding: jpeg, tiff, png, webp</li> 133 <li>image encoding/decoding: jpeg, tiff, png, webp</li>
153 <li>multimedia: openal, freealut, ogg, vorbis</li> 134 <li>multimedia: openal, freealut, ogg, vorbis</li>
154 <li>XML parsing: tinyxml, xml2</li> 135 <li>XML parsing: tinyxml, xml2</li>
155 <li>miscellaneous: zlib (general purpose compression), freetype (font 136 <li>miscellaneous: zlib (general purpose compression), freetype (font
156 rendering), lua (Lua interpreter)</li> 137 rendering), lua (Lua interpreter)</li>
157 </ul> 138 </ul>
158 <p>The libraries are located in <code>ports/lib</code>, and the header files are in 139 <p>The libraries are located in <code>ports/lib</code>, and the header files are in
159 <code>ports/include</code>.</p> 140 <code>ports/include</code>.</p>
160 </li> 141 </li>
161 <li>The <code>httpfs</code> filesystem in the nacl_io library now caches content in memory 142 <li>The <code>httpfs</code> filesystem in the nacl_io library now caches content in memory
162 by default; this improves performance considerably.</li> 143 by default; this improves performance considerably.</li>
163 <li>For applications compiled with a glibc toolchain, <code>dlopen()</code> can now be 144 <li>For applications compiled with a glibc toolchain, <code>dlopen()</code> can now be
164 used to open shared libraries that are not specified in an application&#8217;s 145 used to open shared libraries that are not specified in an application&#8217;s
165 Native Client manifest (.nmf) file. This allows applications, for example, to 146 Native Client manifest (.nmf) file. This allows applications, for example, to
166 download a shared object and then use <code>dlopen()</code> to access the shared 147 download a shared object and then use <code>dlopen()</code> to access the shared
167 object. The <code>dlopen</code> example has been modified to demonstrate this 148 object. The <code>dlopen</code> example has been modified to demonstrate this
168 functionality: reverse.cc is built into a shared object (.so) file, which is 149 functionality: reverse.cc is built into a shared object (.so) file, which is
169 downloaded and opened using an <code>httpfs</code> mount.</li> 150 downloaded and opened using an <code>httpfs</code> mount.</li>
170 </ul> 151 </ul>
171 </section><section id="examples">
172 <h3 id="examples">Examples</h3> 152 <h3 id="examples">Examples</h3>
173 <ul class="small-gap"> 153 <ul class="small-gap">
174 <li>Each example now has a single <code>index.html</code> file, instead of multi ple HTML 154 <li>Each example now has a single <code>index.html</code> file, instead of multi ple HTML
175 files corresponding to NaCl modules built using different toolchains and 155 files corresponding to NaCl modules built using different toolchains and
176 configurations. By default, most examples are built using one toolchain 156 configurations. By default, most examples are built using one toolchain
177 (newlib) and one configuration (Debug). If you build an example using 157 (newlib) and one configuration (Debug). If you build an example using
178 multiple toolchains or configurations, you can specify which version to run 158 multiple toolchains or configurations, you can specify which version to run
179 in Chrome using the query parameters <code>tc</code> and <code>config</code>. Fo r example, 159 in Chrome using the query parameters <code>tc</code> and <code>config</code>. Fo r example,
180 assuming you are serving an example from the local server localhost:5103, you 160 assuming you are serving an example from the local server localhost:5103, you
181 can run a version of the example built with the glibc toolchain in the 161 can run a version of the example built with the glibc toolchain in the
182 Release configuration by specifying the following URL in Chrome: 162 Release configuration by specifying the following URL in Chrome:
183 <code>http://localhost:5103/index.html?tc=glibc&amp;config=Release</code>. For a dditional 163 <code>http://localhost:5103/index.html?tc=glibc&amp;config=Release</code>. For a dditional
184 information about how different NaCl modules are loaded into <code>index.html</c ode>, 164 information about how different NaCl modules are loaded into <code>index.html</c ode>,
185 see the <code>common.js</code> file in each example.</li> 165 see the <code>common.js</code> file in each example.</li>
186 </ul> 166 </ul>
187 </section><section id="build-tools-and-toolchains">
188 <h3 id="build-tools-and-toolchains">Build tools and toolchains</h3> 167 <h3 id="build-tools-and-toolchains">Build tools and toolchains</h3>
189 <ul class="small-gap"> 168 <ul class="small-gap">
190 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 169 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
191 located outside of an application&#8217;s root directory. For example, a Makefil e 170 located outside of an application&#8217;s root directory. For example, a Makefil e
192 for an application can specify a source file to compile such as 171 for an application can specify a source file to compile such as
193 <code>../../some/other/place.cpp</code>.</li> 172 <code>../../some/other/place.cpp</code>.</li>
194 </ul> 173 </ul>
195 </section></section><section id="pepper-26-29-march-2013">
196 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 174 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
197 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 175 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
198 library (which has been renamed nacl_io), changes to the example Makefiles, a 176 library (which has been renamed nacl_io), changes to the example Makefiles, a
199 simple new 3D example, and a threaded file IO example.</p> 177 simple new 3D example, and a threaded file IO example.</p>
200 <section id="id6">
201 <h3 id="id6">Build tools and toolchains</h3> 178 <h3 id="id6">Build tools and toolchains</h3>
202 <ul class="small-gap"> 179 <ul class="small-gap">
203 <li><p class="first">Makefiles have been changed significantly:</p> 180 <li><p class="first">Makefiles have been changed significantly:</p>
204 <ul class="small-gap"> 181 <ul class="small-gap">
205 <li>Build commands are now specified in a number of common files 182 <li>Build commands are now specified in a number of common files
206 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 183 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
207 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 184 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
208 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 185 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
209 To see the actual build commands, run <code>make V=1</code>.</li> 186 To see the actual build commands, run <code>make V=1</code>.</li>
210 <li>By default, most examples are built using one toolchain (newlib) and one 187 <li>By default, most examples are built using one toolchain (newlib) and one
211 configuration (Debug). To build an example using a different toolchain or 188 configuration (Debug). To build an example using a different toolchain or
212 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 189 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
213 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 190 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
214 with all toolchains.</li> 191 with all toolchains.</li>
215 </ul> 192 </ul>
216 </li> 193 </li>
217 <li>Header files have been moved out of the toolchains. All toolchains now share 194 <li>Header files have been moved out of the toolchains. All toolchains now share
218 the same set of header files as host builds. Previously host and NaCl builds 195 the same set of header files as host builds. Previously host and NaCl builds
219 used different headers, which could cause build problems.</li> 196 used different headers, which could cause build problems.</li>
220 </ul> 197 </ul>
221 </section><section id="id7">
222 <h3 id="id7">Libraries</h3> 198 <h3 id="id7">Libraries</h3>
223 <ul class="small-gap"> 199 <ul class="small-gap">
224 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 200 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
225 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 201 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
226 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 202 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
227 <code>hello_nacl_io</code> example.</li> 203 <code>hello_nacl_io</code> example.</li>
228 </ul> 204 </ul>
229 </section><section id="id8">
230 <h3 id="id8">Examples</h3> 205 <h3 id="id8">Examples</h3>
231 <ul class="small-gap"> 206 <ul class="small-gap">
232 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 207 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
233 simplified 3D app.</li> 208 simplified 3D app.</li>
234 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 209 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
235 thread. The example demonstrates how to use the MessageLoop API and blocking 210 thread. The example demonstrates how to use the MessageLoop API and blocking
236 callbacks on a thread.</li> 211 callbacks on a thread.</li>
237 </ul> 212 </ul>
238 </section><section id="general">
239 <h3 id="general">General</h3> 213 <h3 id="general">General</h3>
240 <ul class="small-gap"> 214 <ul class="small-gap">
241 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 215 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
242 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 216 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
243 command.</li> 217 command.</li>
244 </ul> 218 </ul>
245 </section></section><section id="pepper-25-21-december-2012">
246 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 219 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
247 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 220 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
248 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 221 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
249 you make Pepper calls on background threads), two new libraries (nacl_mounts, 222 you make Pepper calls on background threads), two new libraries (nacl_mounts,
250 which provides a virtual file system that you can use with standard C file 223 which provides a virtual file system that you can use with standard C file
251 operations, and ppapi_main, which lets you implement a Native Client module 224 operations, and ppapi_main, which lets you implement a Native Client module
252 using a simple ppapi_main function), and two new examples that demonstrate how 225 using a simple ppapi_main function), and two new examples that demonstrate how
253 to use the nacl_mounts and ppapi_main libraries.</p> 226 to use the nacl_mounts and ppapi_main libraries.</p>
254 <section id="id9">
255 <h3 id="id9">Build tools and toolchains</h3> 227 <h3 id="id9">Build tools and toolchains</h3>
256 <ul class="small-gap"> 228 <ul class="small-gap">
257 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 229 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
258 files) for <strong>ARM devices</strong>.</p> 230 files) for <strong>ARM devices</strong>.</p>
259 <ul class="small-gap"> 231 <ul class="small-gap">
260 <li>Currently the ARM toolchain can only be used to compile modules that use 232 <li>Currently the ARM toolchain can only be used to compile modules that use
261 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain 233 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain
262 to compile modules that use the glibc library.</li> 234 to compile modules that use the glibc library.</li>
263 <li>The ARM toolchain is in the directory 235 <li>The ARM toolchain is in the directory
264 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 236 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
265 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 237 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
266 other tools in the toolchain.</li> 238 other tools in the toolchain.</li>
267 <li>Take a look at the <code>hello_world</code> example to see how to use the AR M 239 <li>Take a look at the <code>hello_world</code> example to see how to use the AR M
268 toolchain. Go to <code>examples/hello_world</code> and run <code>make</code>. Wh en the build 240 toolchain. Go to <code>examples/hello_world</code> and run <code>make</code>. Wh en the build
269 finishes, the newlib/Debug and newlib/Release subdirectories will contain 241 finishes, the newlib/Debug and newlib/Release subdirectories will contain
270 .nexe files for the x86-32, x86-64, and ARM target architecutes, and a 242 .nexe files for the x86-32, x86-64, and ARM target architecutes, and a
271 Native Client manifest (.nmf file) that references those three .nexe files.</li> 243 Native Client manifest (.nmf file) that references those three .nexe files.</li>
272 </ul> 244 </ul>
273 </li> 245 </li>
274 <li>The simple web server included in the SDK, <code>httpd.py</code>, has been m oved from 246 <li>The simple web server included in the SDK, <code>httpd.py</code>, has been m oved from
275 the <code>examples/</code> directory to the <code>tools/</code> directory. On Wi ndows, you can 247 the <code>examples/</code> directory to the <code>tools/</code> directory. On Wi ndows, you can
276 run <code>httpd.cmd</code> (in the <code>examples/</code> directory) to start th e server.</li> 248 run <code>httpd.cmd</code> (in the <code>examples/</code> directory) to start th e server.</li>
277 </ul> 249 </ul>
278 </section><section id="ppapi">
279 <h3 id="ppapi">PPAPI</h3> 250 <h3 id="ppapi">PPAPI</h3>
280 <p>Pepper 25 includes two new APIs:</p> 251 <p>Pepper 25 includes two new APIs:</p>
281 <ul class="small-gap"> 252 <ul class="small-gap">
282 <li>The <a class="reference external" href="/native-client/pepper_stable/c/struc t_p_p_b___console__1__0">Console API</a> lets your 253 <li>The <a class="reference external" href="/native-client/pepper_stable/c/struc t_p_p_b___console__1__0">Console API</a> lets your
283 module log messages to the JavaScript console in the Chrome browser.</li> 254 module log messages to the JavaScript console in the Chrome browser.</li>
284 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your 255 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your
285 module make PPAPI calls on a background thread. Once you&#8217;ve created a 256 module make PPAPI calls on a background thread. Once you&#8217;ve created a
286 message loop resource, attached it to a thread, and run it, you can post work 257 message loop resource, attached it to a thread, and run it, you can post work
287 to the thread, including completion callbacks for asynchronous operations. 258 to the thread, including completion callbacks for asynchronous operations.
288 For a C++ example of how to use the MessageLoop API, see 259 For a C++ example of how to use the MessageLoop API, see
289 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you 260 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you
290 cannot make asynchronous PPAPI calls on a background thread without creating 261 cannot make asynchronous PPAPI calls on a background thread without creating
291 and using a message loop.</li> 262 and using a message loop.</li>
292 </ul> 263 </ul>
293 </section><section id="id10">
294 <h3 id="id10">Libraries</h3> 264 <h3 id="id10">Libraries</h3>
295 <p>The SDK includes two new libraries:</p> 265 <p>The SDK includes two new libraries:</p>
296 <ul class="small-gap"> 266 <ul class="small-gap">
297 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 267 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
298 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 268 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
299 types:</p> 269 types:</p>
300 <ul class="small-gap"> 270 <ul class="small-gap">
301 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 271 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
302 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 272 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
303 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 273 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
(...skipping 14 matching lines...) Expand all
318 providing a familiar C programming environment. With this library, your 288 providing a familiar C programming environment. With this library, your
319 module can have a simple entry point called ppapi_main(), which is similar to 289 module can have a simple entry point called ppapi_main(), which is similar to
320 the standard C main() function, complete with argc and argv[] parameters. 290 the standard C main() function, complete with argc and argv[] parameters.
321 Your module can also use standard C functions such as printf(), fopen(), and 291 Your module can also use standard C functions such as printf(), fopen(), and
322 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 292 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
323 how to use ppapi_main, see examples/hello_world_stdio.</li> 293 how to use ppapi_main, see examples/hello_world_stdio.</li>
324 </ul> 294 </ul>
325 <p>Header files for the new libraries are in the <code>include/</code> directory , source 295 <p>Header files for the new libraries are in the <code>include/</code> directory , source
326 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 296 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
327 directory.</p> 297 directory.</p>
328 </section><section id="id11">
329 <h3 id="id11">Examples</h3> 298 <h3 id="id11">Examples</h3>
330 <ul class="small-gap"> 299 <ul class="small-gap">
331 <li><p class="first">The SDK includes two new examples:</p> 300 <li><p class="first">The SDK includes two new examples:</p>
332 <ul class="small-gap"> 301 <ul class="small-gap">
333 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 302 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
334 operations in a Native Client module through the use of the nacl_mounts 303 operations in a Native Client module through the use of the nacl_mounts
335 library.</li> 304 library.</li>
336 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 305 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
337 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 306 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
338 module, through the use of the nacl_mounts and ppapi_main libraries. This 307 module, through the use of the nacl_mounts and ppapi_main libraries. This
(...skipping 16 matching lines...) Expand all
355 <li>Additionally, each version is built in both a Debug and a Release 324 <li>Additionally, each version is built in both a Debug and a Release
356 configuration.</li> 325 configuration.</li>
357 <li>The Makefile for each example includes two new targets: <code>make RUN</code > and 326 <li>The Makefile for each example includes two new targets: <code>make RUN</code > and
358 <code>make LAUNCH</code>. These targets, which are interchangeable, launch a loc al 327 <code>make LAUNCH</code>. These targets, which are interchangeable, launch a loc al
359 server and an instance of Chrome to run an example. When the instance of 328 server and an instance of Chrome to run an example. When the instance of
360 Chrome is closed, the local server is shut down as well.</li> 329 Chrome is closed, the local server is shut down as well.</li>
361 <li>The hello_world_stdio example includes a simplified Makefile that only lists 330 <li>The hello_world_stdio example includes a simplified Makefile that only lists
362 source dependencies, and invokes the build rules in a separate file 331 source dependencies, and invokes the build rules in a separate file
363 (common.mk).</li> 332 (common.mk).</li>
364 </ul> 333 </ul>
365 </section></section><section id="pepper-24-5-december-2012">
366 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 334 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
367 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 335 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
368 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 336 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
369 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 337 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
370 applications specify a GPU preference for low power or performance.</p> 338 applications specify a GPU preference for low power or performance.</p>
371 <section id="id12">
372 <h3 id="id12">Build tools and toolchains</h3> 339 <h3 id="id12">Build tools and toolchains</h3>
373 <ul class="small-gap"> 340 <ul class="small-gap">
374 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced 341 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced
375 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 342 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
376 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 343 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
377 you want to experiment with this early preview of PNaCl, the toolchain 344 you want to experiment with this early preview of PNaCl, the toolchain
378 includes a tool to translate .pexe files into architecture-specific .nexe 345 includes a tool to translate .pexe files into architecture-specific .nexe
379 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 346 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
380 file and translate it into multiple .nexe files. Note that PNaCl is currently 347 file and translate it into multiple .nexe files. Note that PNaCl is currently
381 restricted to the newlib C standard library – if your application uses glibc, 348 restricted to the newlib C standard library – if your application uses glibc,
382 you can&#8217;t build it with PNaCl.</li> 349 you can&#8217;t build it with PNaCl.</li>
383 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 350 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
384 determine the architecture of .nexe files. That means you can change the 351 determine the architecture of .nexe files. That means you can change the
385 names of your .nexe files and <code>create_nmf.py</code> will still be able to 352 names of your .nexe files and <code>create_nmf.py</code> will still be able to
386 generate the appropriate Native Client manifest file for your application.</li> 353 generate the appropriate Native Client manifest file for your application.</li>
387 </ul> 354 </ul>
388 </section><section id="id14">
389 <h3 id="id14">Examples</h3> 355 <h3 id="id14">Examples</h3>
390 <ul class="small-gap"> 356 <ul class="small-gap">
391 <li>The SDK examples now build with four toolchains: the glibc and newlib 357 <li>The SDK examples now build with four toolchains: the glibc and newlib
392 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 358 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
393 your development machine. Within each toolchain build, each example also 359 your development machine. Within each toolchain build, each example also
394 builds both a debug and a release version.</li> 360 builds both a debug and a release version.</li>
395 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 361 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
396 <li>The pong example has been cleaned up and modified to run more smoothly. The 362 <li>The pong example has been cleaned up and modified to run more smoothly. The
397 drawing function is now set up as the Flush() callback, which allows 2D 363 drawing function is now set up as the Flush() callback, which allows 2D
398 drawing to occur as quickly as possible.</li> 364 drawing to occur as quickly as possible.</li>
399 </ul> 365 </ul>
400 </section><section id="id15">
401 <h3 id="id15">PPAPI</h3> 366 <h3 id="id15">PPAPI</h3>
402 <ul class="small-gap"> 367 <ul class="small-gap">
403 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a> 368 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a>
404 for the context can specify whether to prefer low power or performance for 369 for the context can specify whether to prefer low power or performance for
405 the GPU. Contexts with a low power preference may be created on an integrated 370 the GPU. Contexts with a low power preference may be created on an integrated
406 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 371 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
407 </ul> 372 </ul>
408 </section><section id="windows-sdk">
409 <h3 id="windows-sdk">Windows SDK</h3> 373 <h3 id="windows-sdk">Windows SDK</h3>
410 <ul class="small-gap"> 374 <ul class="small-gap">
411 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 375 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
412 win32 code. You can use this library when developing your module as a Pepper 376 win32 code. You can use this library when developing your module as a Pepper
413 plug-in (.dll). See pepper_24/include/win/pthread.h and 377 plug-in (.dll). See pepper_24/include/win/pthread.h and
414 pepper_24/src/pthread/README for additional information.</li> 378 pepper_24/src/pthread/README for additional information.</li>
415 <li>The update utility naclsdk.bat works when it is run from a path with spaces. </li> 379 <li>The update utility naclsdk.bat works when it is run from a path with spaces. </li>
416 </ul> 380 </ul>
417 </section></section><section id="pepper-23-15-october-2012">
418 <h2 id="pepper-23-15-october-2012">Pepper 23 (15 October 2012)</h2> 381 <h2 id="pepper-23-15-october-2012">Pepper 23 (15 October 2012)</h2>
419 <p>The Pepper 23 bundle includes support for the nacl-gdb debugger on Mac and 382 <p>The Pepper 23 bundle includes support for the nacl-gdb debugger on Mac and
420 32-bit Windows, resources to enable hosted development on Linux, and changes to 383 32-bit Windows, resources to enable hosted development on Linux, and changes to
421 make the SDK examples compliant with version 2 of the Chrome Web Store manifest 384 make the SDK examples compliant with version 2 of the Chrome Web Store manifest
422 file format.</p> 385 file format.</p>
423 <section id="tools">
424 <h3 id="tools">Tools</h3> 386 <h3 id="tools">Tools</h3>
425 <ul class="small-gap"> 387 <ul class="small-gap">
426 <li>The <a class="reference internal" href="/native-client/devguide/devcycle/deb ugging.html#using-gdb"><em>nacl-gdb debugger</em></a> now works on all systems ( Mac, 388 <li>The <a class="reference internal" href="/native-client/devguide/devcycle/deb ugging.html#using-gdb"><em>nacl-gdb debugger</em></a> now works on all systems ( Mac,
427 Windows, and Linux).</li> 389 Windows, and Linux).</li>
428 <li>The output of the SDK update utility has been simplified. When you run the 390 <li>The output of the SDK update utility has been simplified. When you run the
429 command <code>naclsdk list</code>, the utility displays one line for each availa ble 391 command <code>naclsdk list</code>, the utility displays one line for each availa ble
430 bundle, annotated with an &#8220;<code>I</code>&#8221; if the bundle is already installed on your 392 bundle, annotated with an &#8220;<code>I</code>&#8221; if the bundle is already installed on your
431 system, and a &#8220;<code>*</code>&#8221; if the bundle has an update available . To see full 393 system, and a &#8220;<code>*</code>&#8221; if the bundle has an update available . To see full
432 information about a bundle, use the command <code>naclsdk info &lt;bundle&gt;</c ode> (for 394 information about a bundle, use the command <code>naclsdk info &lt;bundle&gt;</c ode> (for
433 example, <code>naclsdk info pepper_28</code>).</li> 395 example, <code>naclsdk info pepper_28</code>).</li>
434 </ul> 396 </ul>
435 </section><section id="linux-sdk">
436 <h3 id="linux-sdk">Linux SDK</h3> 397 <h3 id="linux-sdk">Linux SDK</h3>
437 <ul class="small-gap"> 398 <ul class="small-gap">
438 <li><p class="first">Developers using the Linux SDK now have resources, includin g pre-built 399 <li><p class="first">Developers using the Linux SDK now have resources, includin g pre-built
439 libraries and example Makefiles, that make it easier to <strong>build a module a s a 400 libraries and example Makefiles, that make it easier to <strong>build a module a s a
440 Pepper plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-pr ocess&#8221; plugin) using 401 Pepper plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-pr ocess&#8221; plugin) using
441 the native C/C++ compiler on their development system. In essence this makes 402 the native C/C++ compiler on their development system. In essence this makes
442 developing a Native Client module a two-step process:</p> 403 developing a Native Client module a two-step process:</p>
443 <ol class="arabic simple"> 404 <ol class="arabic simple">
444 <li>Build the module into a shared library (.so file) using your system&#8217;s 405 <li>Build the module into a shared library (.so file) using your system&#8217;s
445 C/C++ compiler. Test and debug the .so file using the tools in your normal 406 C/C++ compiler. Test and debug the .so file using the tools in your normal
(...skipping 21 matching lines...) Expand all
467 <ul class="small-gap"> 428 <ul class="small-gap">
468 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 429 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
469 see the commands and flags used to build modules as Pepper plugins.</li> 430 see the commands and flags used to build modules as Pepper plugins.</li>
470 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 431 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
471 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 432 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
472 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 433 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
473 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li> 434 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li>
474 </ul> 435 </ul>
475 </li> 436 </li>
476 </ul> 437 </ul>
477 </section><section id="id16">
478 <h3 id="id16">Examples</h3> 438 <h3 id="id16">Examples</h3>
479 <ul class="small-gap"> 439 <ul class="small-gap">
480 <li>On Linux and Windows systems, most of the examples now build with three 440 <li>On Linux and Windows systems, most of the examples now build with three
481 toolchains: the Native Client glibc and newlib toolchains, and the native 441 toolchains: the Native Client glibc and newlib toolchains, and the native
482 toolchain on the host system. Modules built with the native toolchain on the 442 toolchain on the host system. Modules built with the native toolchain on the
483 host system can only run as Pepper plugins.</li> 443 host system can only run as Pepper plugins.</li>
484 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 444 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
485 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default, 445 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default,
486 applications that use version 2 of the manifest file format apply a strict 446 applications that use version 2 of the manifest file format apply a strict
487 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which 447 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which
488 includes a restriction against inline JavaScript. This restriction prohibits 448 includes a restriction against inline JavaScript. This restriction prohibits
489 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 449 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
490 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for 450 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for
491 a list of changes between version 1 and version 2 of the manifest file 451 a list of changes between version 1 and version 2 of the manifest file
492 format, and a support schedule for applications that use version 1.</li> 452 format, and a support schedule for applications that use version 1.</li>
493 </ul> 453 </ul>
494 </section><section id="id17">
495 <h3 id="id17">PPAPI</h3> 454 <h3 id="id17">PPAPI</h3>
496 <ul class="small-gap"> 455 <ul class="small-gap">
497 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> 456 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
498 has two new enum values (_ISLEFT and _ISRIGHT).</li> 457 has two new enum values (_ISLEFT and _ISRIGHT).</li>
499 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has 458 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has
500 been fixed.</li> 459 been fixed.</li>
501 </ul> 460 </ul>
502 </section></section><section id="pepper-22-22-august-2012">
503 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 461 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
504 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 462 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
505 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 463 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
506 example now builds both a debug and a release version).</p> 464 example now builds both a debug and a release version).</p>
507 <section id="id18">
508 <h3 id="id18">Tools</h3> 465 <h3 id="id18">Tools</h3>
509 <ul class="small-gap"> 466 <ul class="small-gap">
510 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 467 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
511 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now, 468 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now,
512 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 469 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
513 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 470 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
514 </ul> 471 </ul>
515 </section><section id="id19">
516 <h3 id="id19">Windows SDK</h3> 472 <h3 id="id19">Windows SDK</h3>
517 <ul class="small-gap"> 473 <ul class="small-gap">
518 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 474 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
519 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 475 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
520 native C/C++ compiler on their development system. In essence this makes 476 native C/C++ compiler on their development system. In essence this makes
521 developing a Native Client module a two-step process:</p> 477 developing a Native Client module a two-step process:</p>
522 <ol class="arabic simple"> 478 <ol class="arabic simple">
523 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 479 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
524 debug the DLL using the tools in your normal development environment.</li> 480 debug the DLL using the tools in your normal development environment.</li>
525 <li>Build the module into a .nexe using the compiler from one of the Native 481 <li>Build the module into a .nexe using the compiler from one of the Native
(...skipping 28 matching lines...) Expand all
554 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 510 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
555 Linux systems, but doing so requires more work because the SDK does not yet 511 Linux systems, but doing so requires more work because the SDK does not yet
556 include the above resources (library source files and pre-built libraries) 512 include the above resources (library source files and pre-built libraries)
557 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 513 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
558 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w 514 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w
559 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a> 515 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a>
560 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>. 516 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>.
561 In the future, the SDK will include resources for hosted development on Mac 517 In the future, the SDK will include resources for hosted development on Mac
562 and Linux as well as Windows. 518 and Linux as well as Windows.
563 </aside> 519 </aside>
564 </section><section id="id20">
565 <h3 id="id20">Examples</h3> 520 <h3 id="id20">Examples</h3>
566 <ul class="small-gap"> 521 <ul class="small-gap">
567 <li>Each example in the SDK now builds both a debug and a release version. As 522 <li>Each example in the SDK now builds both a debug and a release version. As
568 before, most examples also build newlib and glibc versions, which means that 523 before, most examples also build newlib and glibc versions, which means that
569 there are now four versions for each example. Take a look at the Makefiles in 524 there are now four versions for each example. Take a look at the Makefiles in
570 the examples to see the compiler flags that are used for debug and release 525 the examples to see the compiler flags that are used for debug and release
571 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for 526 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for
572 different development scenarios</em></a>.</li> 527 different development scenarios</em></a>.</li>
573 <li>Comments have been added to common.js, which is used in all the examples. Th e 528 <li>Comments have been added to common.js, which is used in all the examples. Th e
574 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 529 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
575 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 530 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
576 of the module, and implements handleMessage() to respond to messages sent 531 of the module, and implements handleMessage() to respond to messages sent
577 from the NaCl module to the JavaScript side of the application</li> 532 from the NaCl module to the JavaScript side of the application</li>
578 </ul> 533 </ul>
579 </section><section id="id21">
580 <h3 id="id21">PPAPI</h3> 534 <h3 id="id21">PPAPI</h3>
581 <ul class="small-gap"> 535 <ul class="small-gap">
582 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 536 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
583 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory 537 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory
584 class template reference</a>.</li> 538 class template reference</a>.</li>
585 </ul> 539 </ul>
586 </section></section></section> 540 </section>
587 541
588 {{/partials.standard_nacl_article}} 542 {{/partials.standard_nacl_article}}
OLDNEW
« no previous file with comments | « native_client_sdk/doc_generated/sdk/examples.html ('k') | native_client_sdk/src/doc/_sphinxext/chromesite_builder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698