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

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

Issue 477203002: NaCl documentation: update release notes for Chrome 38 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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 | 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 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
6 <h3 id="pnacl">PNaCl</h3>
7 <ul class="small-gap">
8 <li>Compilation speed improvements due to validation caching of the translator a nd
9 linker.</li>
10 <li>Performance improvement of SIMD vector shuffle.</li>
11 </ul>
5 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2> 12 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
6 <h3 id="pnacl">PNaCl</h3> 13 <h3 id="id1">PNaCl</h3>
7 <ul class="small-gap"> 14 <ul class="small-gap">
8 <li>2–10% translation time improvement.</li> 15 <li>2–10% translation time improvement.</li>
9 <li>Improved vector load/store and shuffle performance.</li> 16 <li>Improved vector load/store and shuffle performance.</li>
10 </ul> 17 </ul>
11 <h3 id="pepper">Pepper</h3> 18 <h3 id="pepper">Pepper</h3>
12 <ul class="small-gap"> 19 <ul class="small-gap">
13 <li>Media Streams Input support.</li> 20 <li>Media Streams Input support.</li>
14 <li>Compositor API.</li> 21 <li>Compositor API.</li>
15 <li>Hardware Decode API in development preview.</li> 22 <li>Hardware Decode API in development preview.</li>
16 <li>Sync API in development preview.</li> 23 <li>Sync API in development preview.</li>
17 </ul> 24 </ul>
18 <h3 id="sdk">SDK</h3> 25 <h3 id="sdk">SDK</h3>
19 <ul class="small-gap"> 26 <ul class="small-gap">
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> 27 <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>
21 </ul> 28 </ul>
22 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> 29 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
23 <h3 id="id1">PNaCl</h3> 30 <h3 id="id2">PNaCl</h3>
24 <ul class="small-gap"> 31 <ul class="small-gap">
25 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> 32 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
26 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD 33 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
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 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,
28 and performance is expected to become acceptable for version 37 of 35 and performance is expected to become acceptable for version 37 of
29 Chrome. More SIMD instructions will be added in later releases.</li> 36 Chrome. More SIMD instructions will be added in later releases.</li>
30 </ul> 37 </ul>
31 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 38 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
32 <h3 id="id2">PNaCl</h3> 39 <h3 id="id3">PNaCl</h3>
33 <ul class="small-gap"> 40 <ul class="small-gap">
34 <li>Upgraded LLVM to version 3.4.</li> 41 <li>Upgraded LLVM to version 3.4.</li>
35 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 42 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
36 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 43 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
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> 44 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>
38 </ul> 45 </ul>
39 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 46 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
40 <h3 id="id3">Pepper</h3> 47 <h3 id="id4">Pepper</h3>
41 <ul class="small-gap"> 48 <ul class="small-gap">
42 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 49 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
43 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 50 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
44 <code>pp::FileSystem</code> constructor.</li> 51 <code>pp::FileSystem</code> constructor.</li>
45 <li>New Audio and Video input APIs have been added as dev interfaces. See 52 <li>New Audio and Video input APIs have been added as dev interfaces. See
46 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 53 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
47 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 54 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
48 more details.</li> 55 more details.</li>
49 </ul> 56 </ul>
50 <h3 id="id4">PNaCl</h3> 57 <h3 id="id5">PNaCl</h3>
51 <ul class="small-gap"> 58 <ul class="small-gap">
52 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 59 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
53 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 60 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
54 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 61 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
55 </ul> 62 </ul>
56 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 63 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
57 <h3 id="portable-native-client">Portable Native Client</h3> 64 <h3 id="portable-native-client">Portable Native Client</h3>
58 <ul class="small-gap"> 65 <ul class="small-gap">
59 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on 66 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on
60 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception 67 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception
61 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a> 68 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
62 for details).</li> 69 for details).</li>
63 </ul> 70 </ul>
64 <h3 id="id5">SDK</h3> 71 <h3 id="id6">SDK</h3>
65 <ul class="small-gap"> 72 <ul class="small-gap">
66 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li> 73 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
67 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the 74 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
68 nexes/pexes that are built (by default).</li> 75 nexes/pexes that are built (by default).</li>
69 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li> 76 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li>
70 </ul> 77 </ul>
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> 78 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2>
72 <ul class="small-gap"> 79 <ul class="small-gap">
73 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See 80 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
74 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between 81 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 <ul class="small-gap"> 175 <ul class="small-gap">
169 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 176 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
170 located outside of an application&#8217;s root directory. For example, a Makefil e 177 located outside of an application&#8217;s root directory. For example, a Makefil e
171 for an application can specify a source file to compile such as 178 for an application can specify a source file to compile such as
172 <code>../../some/other/place.cpp</code>.</li> 179 <code>../../some/other/place.cpp</code>.</li>
173 </ul> 180 </ul>
174 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 181 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
175 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 182 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
176 library (which has been renamed nacl_io), changes to the example Makefiles, a 183 library (which has been renamed nacl_io), changes to the example Makefiles, a
177 simple new 3D example, and a threaded file IO example.</p> 184 simple new 3D example, and a threaded file IO example.</p>
178 <h3 id="id6">Build tools and toolchains</h3> 185 <h3 id="id7">Build tools and toolchains</h3>
179 <ul class="small-gap"> 186 <ul class="small-gap">
180 <li><p class="first">Makefiles have been changed significantly:</p> 187 <li><p class="first">Makefiles have been changed significantly:</p>
181 <ul class="small-gap"> 188 <ul class="small-gap">
182 <li>Build commands are now specified in a number of common files 189 <li>Build commands are now specified in a number of common files
183 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 190 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
184 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 191 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
185 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 192 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
186 To see the actual build commands, run <code>make V=1</code>.</li> 193 To see the actual build commands, run <code>make V=1</code>.</li>
187 <li>By default, most examples are built using one toolchain (newlib) and one 194 <li>By default, most examples are built using one toolchain (newlib) and one
188 configuration (Debug). To build an example using a different toolchain or 195 configuration (Debug). To build an example using a different toolchain or
189 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 196 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
190 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 197 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
191 with all toolchains.</li> 198 with all toolchains.</li>
192 </ul> 199 </ul>
193 </li> 200 </li>
194 <li>Header files have been moved out of the toolchains. All toolchains now share 201 <li>Header files have been moved out of the toolchains. All toolchains now share
195 the same set of header files as host builds. Previously host and NaCl builds 202 the same set of header files as host builds. Previously host and NaCl builds
196 used different headers, which could cause build problems.</li> 203 used different headers, which could cause build problems.</li>
197 </ul> 204 </ul>
198 <h3 id="id7">Libraries</h3> 205 <h3 id="id8">Libraries</h3>
199 <ul class="small-gap"> 206 <ul class="small-gap">
200 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 207 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
201 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 208 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
202 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 209 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
203 <code>hello_nacl_io</code> example.</li> 210 <code>hello_nacl_io</code> example.</li>
204 </ul> 211 </ul>
205 <h3 id="id8">Examples</h3> 212 <h3 id="id9">Examples</h3>
206 <ul class="small-gap"> 213 <ul class="small-gap">
207 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 214 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
208 simplified 3D app.</li> 215 simplified 3D app.</li>
209 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 216 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
210 thread. The example demonstrates how to use the MessageLoop API and blocking 217 thread. The example demonstrates how to use the MessageLoop API and blocking
211 callbacks on a thread.</li> 218 callbacks on a thread.</li>
212 </ul> 219 </ul>
213 <h3 id="general">General</h3> 220 <h3 id="general">General</h3>
214 <ul class="small-gap"> 221 <ul class="small-gap">
215 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 222 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
216 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 223 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
217 command.</li> 224 command.</li>
218 </ul> 225 </ul>
219 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 226 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
220 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 227 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
221 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 228 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
222 you make Pepper calls on background threads), two new libraries (nacl_mounts, 229 you make Pepper calls on background threads), two new libraries (nacl_mounts,
223 which provides a virtual file system that you can use with standard C file 230 which provides a virtual file system that you can use with standard C file
224 operations, and ppapi_main, which lets you implement a Native Client module 231 operations, and ppapi_main, which lets you implement a Native Client module
225 using a simple ppapi_main function), and two new examples that demonstrate how 232 using a simple ppapi_main function), and two new examples that demonstrate how
226 to use the nacl_mounts and ppapi_main libraries.</p> 233 to use the nacl_mounts and ppapi_main libraries.</p>
227 <h3 id="id9">Build tools and toolchains</h3> 234 <h3 id="id10">Build tools and toolchains</h3>
228 <ul class="small-gap"> 235 <ul class="small-gap">
229 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 236 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
230 files) for <strong>ARM devices</strong>.</p> 237 files) for <strong>ARM devices</strong>.</p>
231 <ul class="small-gap"> 238 <ul class="small-gap">
232 <li>Currently the ARM toolchain can only be used to compile modules that use 239 <li>Currently the ARM toolchain can only be used to compile modules that use
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 240 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
234 to compile modules that use the glibc library.</li> 241 to compile modules that use the glibc library.</li>
235 <li>The ARM toolchain is in the directory 242 <li>The ARM toolchain is in the directory
236 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 243 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
237 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 244 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
(...skipping 16 matching lines...) Expand all
254 module log messages to the JavaScript console in the Chrome browser.</li> 261 module log messages to the JavaScript console in the Chrome browser.</li>
255 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your 262 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your
256 module make PPAPI calls on a background thread. Once you&#8217;ve created a 263 module make PPAPI calls on a background thread. Once you&#8217;ve created a
257 message loop resource, attached it to a thread, and run it, you can post work 264 message loop resource, attached it to a thread, and run it, you can post work
258 to the thread, including completion callbacks for asynchronous operations. 265 to the thread, including completion callbacks for asynchronous operations.
259 For a C++ example of how to use the MessageLoop API, see 266 For a C++ example of how to use the MessageLoop API, see
260 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you 267 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you
261 cannot make asynchronous PPAPI calls on a background thread without creating 268 cannot make asynchronous PPAPI calls on a background thread without creating
262 and using a message loop.</li> 269 and using a message loop.</li>
263 </ul> 270 </ul>
264 <h3 id="id10">Libraries</h3> 271 <h3 id="id11">Libraries</h3>
265 <p>The SDK includes two new libraries:</p> 272 <p>The SDK includes two new libraries:</p>
266 <ul class="small-gap"> 273 <ul class="small-gap">
267 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 274 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
268 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 275 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
269 types:</p> 276 types:</p>
270 <ul class="small-gap"> 277 <ul class="small-gap">
271 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 278 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
272 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 279 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
273 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 280 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
274 <li>&#8220;html5fs&#8221; is a persistent file system.</li> 281 <li>&#8220;html5fs&#8221; is a persistent file system.</li>
(...skipping 13 matching lines...) Expand all
288 providing a familiar C programming environment. With this library, your 295 providing a familiar C programming environment. With this library, your
289 module can have a simple entry point called ppapi_main(), which is similar to 296 module can have a simple entry point called ppapi_main(), which is similar to
290 the standard C main() function, complete with argc and argv[] parameters. 297 the standard C main() function, complete with argc and argv[] parameters.
291 Your module can also use standard C functions such as printf(), fopen(), and 298 Your module can also use standard C functions such as printf(), fopen(), and
292 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 299 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
293 how to use ppapi_main, see examples/hello_world_stdio.</li> 300 how to use ppapi_main, see examples/hello_world_stdio.</li>
294 </ul> 301 </ul>
295 <p>Header files for the new libraries are in the <code>include/</code> directory , source 302 <p>Header files for the new libraries are in the <code>include/</code> directory , source
296 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 303 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
297 directory.</p> 304 directory.</p>
298 <h3 id="id11">Examples</h3> 305 <h3 id="id12">Examples</h3>
299 <ul class="small-gap"> 306 <ul class="small-gap">
300 <li><p class="first">The SDK includes two new examples:</p> 307 <li><p class="first">The SDK includes two new examples:</p>
301 <ul class="small-gap"> 308 <ul class="small-gap">
302 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 309 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
303 operations in a Native Client module through the use of the nacl_mounts 310 operations in a Native Client module through the use of the nacl_mounts
304 library.</li> 311 library.</li>
305 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 312 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
306 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 313 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
307 module, through the use of the nacl_mounts and ppapi_main libraries. This 314 module, through the use of the nacl_mounts and ppapi_main libraries. This
308 example makes it easy for new users to get started with Native Client by 315 example makes it easy for new users to get started with Native Client by
(...skipping 20 matching lines...) Expand all
329 Chrome is closed, the local server is shut down as well.</li> 336 Chrome is closed, the local server is shut down as well.</li>
330 <li>The hello_world_stdio example includes a simplified Makefile that only lists 337 <li>The hello_world_stdio example includes a simplified Makefile that only lists
331 source dependencies, and invokes the build rules in a separate file 338 source dependencies, and invokes the build rules in a separate file
332 (common.mk).</li> 339 (common.mk).</li>
333 </ul> 340 </ul>
334 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 341 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
335 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 342 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
336 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 343 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
337 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 344 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
338 applications specify a GPU preference for low power or performance.</p> 345 applications specify a GPU preference for low power or performance.</p>
339 <h3 id="id12">Build tools and toolchains</h3> 346 <h3 id="id13">Build tools and toolchains</h3>
340 <ul class="small-gap"> 347 <ul class="small-gap">
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 348 <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
342 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 349 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
343 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 350 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
344 you want to experiment with this early preview of PNaCl, the toolchain 351 you want to experiment with this early preview of PNaCl, the toolchain
345 includes a tool to translate .pexe files into architecture-specific .nexe 352 includes a tool to translate .pexe files into architecture-specific .nexe
346 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 353 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
347 file and translate it into multiple .nexe files. Note that PNaCl is currently 354 file and translate it into multiple .nexe files. Note that PNaCl is currently
348 restricted to the newlib C standard library – if your application uses glibc, 355 restricted to the newlib C standard library – if your application uses glibc,
349 you can&#8217;t build it with PNaCl.</li> 356 you can&#8217;t build it with PNaCl.</li>
350 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 357 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
351 determine the architecture of .nexe files. That means you can change the 358 determine the architecture of .nexe files. That means you can change the
352 names of your .nexe files and <code>create_nmf.py</code> will still be able to 359 names of your .nexe files and <code>create_nmf.py</code> will still be able to
353 generate the appropriate Native Client manifest file for your application.</li> 360 generate the appropriate Native Client manifest file for your application.</li>
354 </ul> 361 </ul>
355 <h3 id="id14">Examples</h3> 362 <h3 id="id15">Examples</h3>
356 <ul class="small-gap"> 363 <ul class="small-gap">
357 <li>The SDK examples now build with four toolchains: the glibc and newlib 364 <li>The SDK examples now build with four toolchains: the glibc and newlib
358 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 365 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
359 your development machine. Within each toolchain build, each example also 366 your development machine. Within each toolchain build, each example also
360 builds both a debug and a release version.</li> 367 builds both a debug and a release version.</li>
361 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 368 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
362 <li>The pong example has been cleaned up and modified to run more smoothly. The 369 <li>The pong example has been cleaned up and modified to run more smoothly. The
363 drawing function is now set up as the Flush() callback, which allows 2D 370 drawing function is now set up as the Flush() callback, which allows 2D
364 drawing to occur as quickly as possible.</li> 371 drawing to occur as quickly as possible.</li>
365 </ul> 372 </ul>
366 <h3 id="id15">PPAPI</h3> 373 <h3 id="id16">PPAPI</h3>
367 <ul class="small-gap"> 374 <ul class="small-gap">
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> 375 <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>
369 for the context can specify whether to prefer low power or performance for 376 for the context can specify whether to prefer low power or performance for
370 the GPU. Contexts with a low power preference may be created on an integrated 377 the GPU. Contexts with a low power preference may be created on an integrated
371 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 378 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
372 </ul> 379 </ul>
373 <h3 id="windows-sdk">Windows SDK</h3> 380 <h3 id="windows-sdk">Windows SDK</h3>
374 <ul class="small-gap"> 381 <ul class="small-gap">
375 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 382 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
376 win32 code. You can use this library when developing your module as a Pepper 383 win32 code. You can use this library when developing your module as a Pepper
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 <ul class="small-gap"> 435 <ul class="small-gap">
429 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 436 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
430 see the commands and flags used to build modules as Pepper plugins.</li> 437 see the commands and flags used to build modules as Pepper plugins.</li>
431 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 438 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
432 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 439 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
433 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 440 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
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> 441 <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>
435 </ul> 442 </ul>
436 </li> 443 </li>
437 </ul> 444 </ul>
438 <h3 id="id16">Examples</h3> 445 <h3 id="id17">Examples</h3>
439 <ul class="small-gap"> 446 <ul class="small-gap">
440 <li>On Linux and Windows systems, most of the examples now build with three 447 <li>On Linux and Windows systems, most of the examples now build with three
441 toolchains: the Native Client glibc and newlib toolchains, and the native 448 toolchains: the Native Client glibc and newlib toolchains, and the native
442 toolchain on the host system. Modules built with the native toolchain on the 449 toolchain on the host system. Modules built with the native toolchain on the
443 host system can only run as Pepper plugins.</li> 450 host system can only run as Pepper plugins.</li>
444 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 451 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
445 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default, 452 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default,
446 applications that use version 2 of the manifest file format apply a strict 453 applications that use version 2 of the manifest file format apply a strict
447 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which 454 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which
448 includes a restriction against inline JavaScript. This restriction prohibits 455 includes a restriction against inline JavaScript. This restriction prohibits
449 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 456 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
450 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for 457 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for
451 a list of changes between version 1 and version 2 of the manifest file 458 a list of changes between version 1 and version 2 of the manifest file
452 format, and a support schedule for applications that use version 1.</li> 459 format, and a support schedule for applications that use version 1.</li>
453 </ul> 460 </ul>
454 <h3 id="id17">PPAPI</h3> 461 <h3 id="id18">PPAPI</h3>
455 <ul class="small-gap"> 462 <ul class="small-gap">
456 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> 463 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
457 has two new enum values (_ISLEFT and _ISRIGHT).</li> 464 has two new enum values (_ISLEFT and _ISRIGHT).</li>
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 465 <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
459 been fixed.</li> 466 been fixed.</li>
460 </ul> 467 </ul>
461 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 468 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
462 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 469 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
463 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 470 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
464 example now builds both a debug and a release version).</p> 471 example now builds both a debug and a release version).</p>
465 <h3 id="id18">Tools</h3> 472 <h3 id="id19">Tools</h3>
466 <ul class="small-gap"> 473 <ul class="small-gap">
467 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 474 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
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, 475 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,
469 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 476 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
470 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 477 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
471 </ul> 478 </ul>
472 <h3 id="id19">Windows SDK</h3> 479 <h3 id="id20">Windows SDK</h3>
473 <ul class="small-gap"> 480 <ul class="small-gap">
474 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 481 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
475 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 482 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
476 native C/C++ compiler on their development system. In essence this makes 483 native C/C++ compiler on their development system. In essence this makes
477 developing a Native Client module a two-step process:</p> 484 developing a Native Client module a two-step process:</p>
478 <ol class="arabic simple"> 485 <ol class="arabic simple">
479 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 486 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
480 debug the DLL using the tools in your normal development environment.</li> 487 debug the DLL using the tools in your normal development environment.</li>
481 <li>Build the module into a .nexe using the compiler from one of the Native 488 <li>Build the module into a .nexe using the compiler from one of the Native
482 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the 489 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
(...skipping 27 matching lines...) Expand all
510 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 517 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
511 Linux systems, but doing so requires more work because the SDK does not yet 518 Linux systems, but doing so requires more work because the SDK does not yet
512 include the above resources (library source files and pre-built libraries) 519 include the above resources (library source files and pre-built libraries)
513 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 520 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
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 521 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
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> 522 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>
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>. 523 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>.
517 In the future, the SDK will include resources for hosted development on Mac 524 In the future, the SDK will include resources for hosted development on Mac
518 and Linux as well as Windows. 525 and Linux as well as Windows.
519 </aside> 526 </aside>
520 <h3 id="id20">Examples</h3> 527 <h3 id="id21">Examples</h3>
521 <ul class="small-gap"> 528 <ul class="small-gap">
522 <li>Each example in the SDK now builds both a debug and a release version. As 529 <li>Each example in the SDK now builds both a debug and a release version. As
523 before, most examples also build newlib and glibc versions, which means that 530 before, most examples also build newlib and glibc versions, which means that
524 there are now four versions for each example. Take a look at the Makefiles in 531 there are now four versions for each example. Take a look at the Makefiles in
525 the examples to see the compiler flags that are used for debug and release 532 the examples to see the compiler flags that are used for debug and release
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 533 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
527 different development scenarios</em></a>.</li> 534 different development scenarios</em></a>.</li>
528 <li>Comments have been added to common.js, which is used in all the examples. Th e 535 <li>Comments have been added to common.js, which is used in all the examples. Th e
529 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 536 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
530 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 537 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
531 of the module, and implements handleMessage() to respond to messages sent 538 of the module, and implements handleMessage() to respond to messages sent
532 from the NaCl module to the JavaScript side of the application</li> 539 from the NaCl module to the JavaScript side of the application</li>
533 </ul> 540 </ul>
534 <h3 id="id21">PPAPI</h3> 541 <h3 id="id22">PPAPI</h3>
535 <ul class="small-gap"> 542 <ul class="small-gap">
536 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 543 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
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 544 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
538 class template reference</a>.</li> 545 class template reference</a>.</li>
539 </ul> 546 </ul>
540 </section> 547 </section>
541 548
542 {{/partials.standard_nacl_article}} 549 {{/partials.standard_nacl_article}}
OLDNEW
« no previous file with comments | « native_client_sdk/doc_generated/devguide/distributing.html ('k') | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698