OLD | NEW |
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-35-31-mar-2014"> | 5 <section id="chrome-pepper-36-09-may-2014"> |
6 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> | 6 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> |
7 <section id="pnacl"> | 7 <section id="pnacl"> |
8 <h3 id="pnacl">PNaCl</h3> | 8 <h3 id="pnacl">PNaCl</h3> |
9 <ul class="small-gap"> | 9 <ul class="small-gap"> |
| 10 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu
ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> |
| 11 / <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector-E
xtensions.html">GCC vectors</a> for SIMD |
| 12 vectors.</li> |
| 13 </ul> |
| 14 </section></section><section id="chrome-pepper-35-31-mar-2014"> |
| 15 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> |
| 16 <section id="id1"> |
| 17 <h3 id="id1">PNaCl</h3> |
| 18 <ul class="small-gap"> |
10 <li>Upgraded LLVM to version 3.4.</li> | 19 <li>Upgraded LLVM to version 3.4.</li> |
11 <li>Translation now uses dynamic load balancing, making translation time faster.
</li> | 20 <li>Translation now uses dynamic load balancing, making translation time faster.
</li> |
12 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by | 21 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by |
13 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> | 22 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> |
14 </ul> | 23 </ul> |
15 </section></section><section id="chrome-pepper-34-20-feb-2014"> | 24 </section></section><section id="chrome-pepper-34-20-feb-2014"> |
16 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> | 25 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> |
17 <section id="pepper"> | 26 <section id="pepper"> |
18 <h3 id="pepper">Pepper</h3> | 27 <h3 id="pepper">Pepper</h3> |
19 <ul class="small-gap"> | 28 <ul class="small-gap"> |
20 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting | 29 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting |
21 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given
to the | 30 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given
to the |
22 <code>pp::FileSystem</code> constructor.</li> | 31 <code>pp::FileSystem</code> constructor.</li> |
23 <li>New Audio and Video input APIs have been added as dev interfaces. See | 32 <li>New Audio and Video input APIs have been added as dev interfaces. See |
24 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me
dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and | 33 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me
dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and |
25 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me
dia_stream_video_track">pp::MediaStreamVideoTrack</a> for | 34 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me
dia_stream_video_track">pp::MediaStreamVideoTrack</a> for |
26 more details.</li> | 35 more details.</li> |
27 </ul> | 36 </ul> |
28 </section><section id="id1"> | 37 </section><section id="id2"> |
29 <h3 id="id1">PNaCl</h3> | 38 <h3 id="id2">PNaCl</h3> |
30 <ul class="small-gap"> | 39 <ul class="small-gap"> |
31 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> | 40 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> |
32 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using | 41 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using |
33 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin
g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> | 42 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin
g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> |
34 </ul> | 43 </ul> |
35 </section></section><section id="chrome-pepper-33-16-dec-2013"> | 44 </section></section><section id="chrome-pepper-33-16-dec-2013"> |
36 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> | 45 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> |
37 <section id="portable-native-client"> | 46 <section id="portable-native-client"> |
38 <h3 id="portable-native-client">Portable Native Client</h3> | 47 <h3 id="portable-native-client">Portable Native Client</h3> |
39 <ul class="small-gap"> | 48 <ul class="small-gap"> |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou
rce files | 167 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou
rce files |
159 located outside of an application’s root directory. For example, a Makefil
e | 168 located outside of an application’s root directory. For example, a Makefil
e |
160 for an application can specify a source file to compile such as | 169 for an application can specify a source file to compile such as |
161 <code>../../some/other/place.cpp</code>.</li> | 170 <code>../../some/other/place.cpp</code>.</li> |
162 </ul> | 171 </ul> |
163 </section></section><section id="pepper-26-29-march-2013"> | 172 </section></section><section id="pepper-26-29-march-2013"> |
164 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> | 173 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> |
165 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts | 174 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts |
166 library (which has been renamed nacl_io), changes to the example Makefiles, a | 175 library (which has been renamed nacl_io), changes to the example Makefiles, a |
167 simple new 3D example, and a threaded file IO example.</p> | 176 simple new 3D example, and a threaded file IO example.</p> |
168 <section id="id2"> | 177 <section id="id3"> |
169 <h3 id="id2">Build tools and toolchains</h3> | 178 <h3 id="id3">Build tools and toolchains</h3> |
170 <ul class="small-gap"> | 179 <ul class="small-gap"> |
171 <li><p class="first">Makefiles have been changed significantly:</p> | 180 <li><p class="first">Makefiles have been changed significantly:</p> |
172 <ul class="small-gap"> | 181 <ul class="small-gap"> |
173 <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 |
174 (<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> |
175 <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 |
176 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. |
177 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> |
178 <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 |
179 configuration (Debug). To build an example using a different toolchain or | 188 configuration (Debug). To build an example using a different toolchain or |
180 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=<x&g
t;</code> or | 189 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=<x&g
t;</code> or |
181 <code>CONFIG=<y></code>. You can also run make <code>all_versions</code>
to build an example | 190 <code>CONFIG=<y></code>. You can also run make <code>all_versions</code>
to build an example |
182 with all toolchains.</li> | 191 with all toolchains.</li> |
183 </ul> | 192 </ul> |
184 </li> | 193 </li> |
185 <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 |
186 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 |
187 used different headers, which could cause build problems.</li> | 196 used different headers, which could cause build problems.</li> |
188 </ul> | 197 </ul> |
189 </section><section id="id3"> | 198 </section><section id="id4"> |
190 <h3 id="id3">Libraries</h3> | 199 <h3 id="id4">Libraries</h3> |
191 <ul class="small-gap"> | 200 <ul class="small-gap"> |
192 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b
een expanded | 201 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b
een expanded |
193 with a new type of mount, httpfs, which can be used to read URLs via HTTP. | 202 with a new type of mount, httpfs, which can be used to read URLs via HTTP. |
194 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the | 203 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the |
195 <code>hello_nacl_io</code> example.</li> | 204 <code>hello_nacl_io</code> example.</li> |
196 </ul> | 205 </ul> |
197 </section><section id="id4"> | 206 </section><section id="id5"> |
198 <h3 id="id4">Examples</h3> | 207 <h3 id="id5">Examples</h3> |
199 <ul class="small-gap"> | 208 <ul class="small-gap"> |
200 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de
monstrate a | 209 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de
monstrate a |
201 simplified 3D app.</li> | 210 simplified 3D app.</li> |
202 <li>The <strong>file_io</strong> example has been rewritten to do all file opera
tions on a | 211 <li>The <strong>file_io</strong> example has been rewritten to do all file opera
tions on a |
203 thread. The example demonstrates how to use the MessageLoop API and blocking | 212 thread. The example demonstrates how to use the MessageLoop API and blocking |
204 callbacks on a thread.</li> | 213 callbacks on a thread.</li> |
205 </ul> | 214 </ul> |
206 </section><section id="general"> | 215 </section><section id="general"> |
207 <h3 id="general">General</h3> | 216 <h3 id="general">General</h3> |
208 <ul class="small-gap"> | 217 <ul class="small-gap"> |
209 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the
Native | 218 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the
Native |
210 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> | 219 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> |
211 command.</li> | 220 command.</li> |
212 </ul> | 221 </ul> |
213 </section></section><section id="pepper-25-21-december-2012"> | 222 </section></section><section id="pepper-25-21-december-2012"> |
214 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> | 223 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> |
215 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules | 224 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules |
216 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets | 225 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets |
217 you make Pepper calls on background threads), two new libraries (nacl_mounts, | 226 you make Pepper calls on background threads), two new libraries (nacl_mounts, |
218 which provides a virtual file system that you can use with standard C file | 227 which provides a virtual file system that you can use with standard C file |
219 operations, and ppapi_main, which lets you implement a Native Client module | 228 operations, and ppapi_main, which lets you implement a Native Client module |
220 using a simple ppapi_main function), and two new examples that demonstrate how | 229 using a simple ppapi_main function), and two new examples that demonstrate how |
221 to use the nacl_mounts and ppapi_main libraries.</p> | 230 to use the nacl_mounts and ppapi_main libraries.</p> |
222 <section id="id5"> | 231 <section id="id6"> |
223 <h3 id="id5">Build tools and toolchains</h3> | 232 <h3 id="id6">Build tools and toolchains</h3> |
224 <ul class="small-gap"> | 233 <ul class="small-gap"> |
225 <li><p class="first">The SDK includes a new toolchain to build Native Client exe
cutables (.nexe | 234 <li><p class="first">The SDK includes a new toolchain to build Native Client exe
cutables (.nexe |
226 files) for <strong>ARM devices</strong>.</p> | 235 files) for <strong>ARM devices</strong>.</p> |
227 <ul class="small-gap"> | 236 <ul class="small-gap"> |
228 <li>Currently the ARM toolchain can only be used to compile modules that use | 237 <li>Currently the ARM toolchain can only be used to compile modules that use |
229 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 | 238 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 |
230 to compile modules that use the glibc library.</li> | 239 to compile modules that use the glibc library.</li> |
231 <li>The ARM toolchain is in the directory | 240 <li>The ARM toolchain is in the directory |
232 <code>pepper_25/toolchain/<host>_arm_newlib</code>. The bin subdirectory
contains | 241 <code>pepper_25/toolchain/<host>_arm_newlib</code>. The bin subdirectory
contains |
233 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>)
, and the | 242 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>)
, and the |
(...skipping 17 matching lines...) Expand all Loading... |
251 lets your module log messages to the JavaScript console in the Chrome browser.</
li> | 260 lets your module log messages to the JavaScript console in the Chrome browser.</
li> |
252 <li>The <a class="reference external" href="https://developers.google.com/native
-client/dev/peppercpp/classpp_1_1_message_loop">MessageLoop</a> | 261 <li>The <a class="reference external" href="https://developers.google.com/native
-client/dev/peppercpp/classpp_1_1_message_loop">MessageLoop</a> |
253 API lets your module make PPAPI calls on a background thread. Once you’ve | 262 API lets your module make PPAPI calls on a background thread. Once you’ve |
254 created a message loop resource, attached it to a thread, and run it, you can | 263 created a message loop resource, attached it to a thread, and run it, you can |
255 post work to the thread, including completion callbacks for asynchronous | 264 post work to the thread, including completion callbacks for asynchronous |
256 operations. For a C++ example of how to use the MessageLoop API, | 265 operations. For a C++ example of how to use the MessageLoop API, |
257 see <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note
that | 266 see <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note
that |
258 you cannot make asynchronous PPAPI calls on a background thread without | 267 you cannot make asynchronous PPAPI calls on a background thread without |
259 creating and using a message loop.</li> | 268 creating and using a message loop.</li> |
260 </ul> | 269 </ul> |
261 </section><section id="id6"> | 270 </section><section id="id7"> |
262 <h3 id="id6">Libraries</h3> | 271 <h3 id="id7">Libraries</h3> |
263 <p>The SDK includes two new libraries:</p> | 272 <p>The SDK includes two new libraries:</p> |
264 <ul class="small-gap"> | 273 <ul class="small-gap"> |
265 <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 |
266 can “mount” in a given directory tree. The file system can be one of
several | 275 can “mount” in a given directory tree. The file system can be one of
several |
267 types:</p> | 276 types:</p> |
268 <ul class="small-gap"> | 277 <ul class="small-gap"> |
269 <li>“memfs” is an in-memory file system,</li> | 278 <li>“memfs” is an in-memory file system,</li> |
270 <li>“dev” is a file system with various utility nodes (e.g., <code>/
dev/null</code>, | 279 <li>“dev” is a file system with various utility nodes (e.g., <code>/
dev/null</code>, |
271 <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> |
272 <li>“html5fs” is a persistent file system.</li> | 281 <li>“html5fs” is a persistent file system.</li> |
(...skipping 13 matching lines...) Expand all Loading... |
286 providing a familiar C programming environment. With this library, your | 295 providing a familiar C programming environment. With this library, your |
287 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 |
288 the standard C main() function, complete with argc and argv[] parameters. | 297 the standard C main() function, complete with argc and argv[] parameters. |
289 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 |
290 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 |
291 how to use ppapi_main, see examples/hello_world_stdio.</li> | 300 how to use ppapi_main, see examples/hello_world_stdio.</li> |
292 </ul> | 301 </ul> |
293 <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 |
294 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> |
295 directory.</p> | 304 directory.</p> |
296 </section><section id="id7"> | 305 </section><section id="id8"> |
297 <h3 id="id7">Examples</h3> | 306 <h3 id="id8">Examples</h3> |
298 <ul class="small-gap"> | 307 <ul class="small-gap"> |
299 <li><p class="first">The SDK includes two new examples:</p> | 308 <li><p class="first">The SDK includes two new examples:</p> |
300 <ul class="small-gap"> | 309 <ul class="small-gap"> |
301 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library
file | 310 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library
file |
302 operations in a Native Client module through the use of the nacl_mounts | 311 operations in a Native Client module through the use of the nacl_mounts |
303 library.</li> | 312 library.</li> |
304 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli
ent module | 313 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli
ent module |
305 with a ppapi_main() function, and how to write to STDOUT and STDERR in a | 314 with a ppapi_main() function, and how to write to STDOUT and STDERR in a |
306 module, through the use of the nacl_mounts and ppapi_main libraries. This | 315 module, through the use of the nacl_mounts and ppapi_main libraries. This |
307 example makes it easy for new users to get started with Native Client by | 316 example makes it easy for new users to get started with Native Client by |
(...skipping 21 matching lines...) Expand all Loading... |
329 <li>The hello_world_stdio example includes a simplified Makefile that only lists | 338 <li>The hello_world_stdio example includes a simplified Makefile that only lists |
330 source dependencies, and invokes the build rules in a separate file | 339 source dependencies, and invokes the build rules in a separate file |
331 (common.mk).</li> | 340 (common.mk).</li> |
332 </ul> | 341 </ul> |
333 </section></section><section id="pepper-24-5-december-2012"> | 342 </section></section><section id="pepper-24-5-december-2012"> |
334 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> | 343 <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 | 344 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho
rt |
336 for “Portable Native Client”), a new library (pthreads-win32) for th
e Windows | 345 for “Portable Native Client”), a new library (pthreads-win32) for th
e Windows |
337 SDK, and an expanded list of attributes for Pepper 3D contexts that lets | 346 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> | 347 applications specify a GPU preference for low power or performance.</p> |
339 <section id="id8"> | 348 <section id="id9"> |
340 <h3 id="id8">Build tools and toolchains</h3> | 349 <h3 id="id9">Build tools and toolchains</h3> |
341 <ul class="small-gap"> | 350 <ul class="small-gap"> |
342 <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 | 351 <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 |
343 “pinnacle”). The PNaCl toolchain produces architecture-independent e
xecutable | 352 “pinnacle”). The PNaCl toolchain produces architecture-independent e
xecutable |
344 files (.pexe files). Chrome doesn’t yet support .pexe files directly, but
if | 353 files (.pexe files). Chrome doesn’t yet support .pexe files directly, but
if |
345 you want to experiment with this early preview of PNaCl, the toolchain | 354 you want to experiment with this early preview of PNaCl, the toolchain |
346 includes a tool to translate .pexe files into architecture-specific .nexe | 355 includes a tool to translate .pexe files into architecture-specific .nexe |
347 files. Take a look at the <code>hello_world</code> example to see how to build a
.pexe | 356 files. Take a look at the <code>hello_world</code> example to see how to build a
.pexe |
348 file and translate it into multiple .nexe files. Note that PNaCl is currently | 357 file and translate it into multiple .nexe files. Note that PNaCl is currently |
349 restricted to the newlib C standard library – if your application uses glibc, | 358 restricted to the newlib C standard library – if your application uses glibc, |
350 you can’t build it with PNaCl.</li> | 359 you can’t build it with PNaCl.</li> |
351 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam
es) to | 360 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam
es) to |
352 determine the architecture of .nexe files. That means you can change the | 361 determine the architecture of .nexe files. That means you can change the |
353 names of your .nexe files and <code>create_nmf.py</code> will still be able to | 362 names of your .nexe files and <code>create_nmf.py</code> will still be able to |
354 generate the appropriate Native Client manifest file for your application.</li> | 363 generate the appropriate Native Client manifest file for your application.</li> |
355 </ul> | 364 </ul> |
356 </section><section id="id10"> | 365 </section><section id="id11"> |
357 <h3 id="id10">Examples</h3> | 366 <h3 id="id11">Examples</h3> |
358 <ul class="small-gap"> | 367 <ul class="small-gap"> |
359 <li>The SDK examples now build with four toolchains: the glibc and newlib | 368 <li>The SDK examples now build with four toolchains: the glibc and newlib |
360 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on | 369 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on |
361 your development machine. Within each toolchain build, each example also | 370 your development machine. Within each toolchain build, each example also |
362 builds both a debug and a release version.</li> | 371 builds both a debug and a release version.</li> |
363 <li>The example Makefiles use dependency (.d) files to enable incremental builds
.</li> | 372 <li>The example Makefiles use dependency (.d) files to enable incremental builds
.</li> |
364 <li>The pong example has been cleaned up and modified to run more smoothly. The | 373 <li>The pong example has been cleaned up and modified to run more smoothly. The |
365 drawing function is now set up as the Flush() callback, which allows 2D | 374 drawing function is now set up as the Flush() callback, which allows 2D |
366 drawing to occur as quickly as possible.</li> | 375 drawing to occur as quickly as possible.</li> |
367 </ul> | 376 </ul> |
368 </section><section id="id11"> | 377 </section><section id="id12"> |
369 <h3 id="id11">PPAPI</h3> | 378 <h3 id="id12">PPAPI</h3> |
370 <ul class="small-gap"> | 379 <ul class="small-gap"> |
371 <li>When creating a 3D rendering context, the <a class="reference external" href
="https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48e
1c55f6401beea2a1b9c07967e8">attribute list</a> | 380 <li>When creating a 3D rendering context, the <a class="reference external" href
="https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48e
1c55f6401beea2a1b9c07967e8">attribute list</a> |
372 for the context can specify whether to prefer low power or performance for | 381 for the context can specify whether to prefer low power or performance for |
373 the GPU. Contexts with a low power preference may be created on an integrated | 382 the GPU. Contexts with a low power preference may be created on an integrated |
374 GPU; contexts with a performance preference may be created on a discrete GPU.</l
i> | 383 GPU; contexts with a performance preference may be created on a discrete GPU.</l
i> |
375 </ul> | 384 </ul> |
376 </section><section id="windows-sdk"> | 385 </section><section id="windows-sdk"> |
377 <h3 id="windows-sdk">Windows SDK</h3> | 386 <h3 id="windows-sdk">Windows SDK</h3> |
378 <ul class="small-gap"> | 387 <ul class="small-gap"> |
379 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro
m | 388 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro
m |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 <ul class="small-gap"> | 444 <ul class="small-gap"> |
436 <li>Look at the example Makefiles or run <code>make</code> in the example direct
ories to | 445 <li>Look at the example Makefiles or run <code>make</code> in the example direct
ories to |
437 see the commands and flags used to build modules as Pepper plugins.</li> | 446 see the commands and flags used to build modules as Pepper plugins.</li> |
438 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th
e | 447 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th
e |
439 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom
e. | 448 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom
e. |
440 Note that you must set the <code>CHROME_PATH</code> environment variable and sta
rt a | 449 Note that you must set the <code>CHROME_PATH</code> environment variable and sta
rt a |
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> | 450 <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> |
442 </ul> | 451 </ul> |
443 </li> | 452 </li> |
444 </ul> | 453 </ul> |
445 </section><section id="id12"> | 454 </section><section id="id13"> |
446 <h3 id="id12">Examples</h3> | 455 <h3 id="id13">Examples</h3> |
447 <ul class="small-gap"> | 456 <ul class="small-gap"> |
448 <li>On Linux and Windows systems, most of the examples now build with three | 457 <li>On Linux and Windows systems, most of the examples now build with three |
449 toolchains: the Native Client glibc and newlib toolchains, and the native | 458 toolchains: the Native Client glibc and newlib toolchains, and the native |
450 toolchain on the host system. Modules built with the native toolchain on the | 459 toolchain on the host system. Modules built with the native toolchain on the |
451 host system can only run as Pepper plugins.</li> | 460 host system can only run as Pepper plugins.</li> |
452 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store | 461 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store |
453 <a class="reference external" href="http://developer.chrome.com/extensions/manif
est.html">manifest file format</a>. By default, | 462 <a class="reference external" href="http://developer.chrome.com/extensions/manif
est.html">manifest file format</a>. By default, |
454 applications that use version 2 of the manifest file format apply a strict | 463 applications that use version 2 of the manifest file format apply a strict |
455 <a class="reference external" href="http://developer.chrome.com/extensions/conte
ntSecurityPolicy.html">content security policy</a>, which | 464 <a class="reference external" href="http://developer.chrome.com/extensions/conte
ntSecurityPolicy.html">content security policy</a>, which |
456 includes a restriction against inline JavaScript. This restriction prohibits | 465 includes a restriction against inline JavaScript. This restriction prohibits |
457 both inline <code><script></code> blocks and inline event handlers (e.g.,
<code><button | 466 both inline <code><script></code> blocks and inline event handlers (e.g.,
<code><button |
458 onclick="..."></code>). See <a class="reference external" href="ht
tp://developer.chrome.com/extensions/manifestVersion.html">Manifest Version</a>
for a list of | 467 onclick="..."></code>). See <a class="reference external" href="ht
tp://developer.chrome.com/extensions/manifestVersion.html">Manifest Version</a>
for a list of |
459 changes between version 1 and version 2 of the manifest file format, and a | 468 changes between version 1 and version 2 of the manifest file format, and a |
460 support schedule for applications that use version 1.</li> | 469 support schedule for applications that use version 1.</li> |
461 </ul> | 470 </ul> |
462 </section><section id="id13"> | 471 </section><section id="id14"> |
463 <h3 id="id13">PPAPI</h3> | 472 <h3 id="id14">PPAPI</h3> |
464 <ul class="small-gap"> | 473 <ul class="small-gap"> |
465 <li><a class="reference external" href="https://developers.google.com/native-cli
ent/pepper23/pepperc/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputE
vent_Modifier</a> | 474 <li><a class="reference external" href="https://developers.google.com/native-cli
ent/pepper23/pepperc/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputE
vent_Modifier</a> |
466 has two new enum values (_ISLEFT and _ISRIGHT).</li> | 475 has two new enum values (_ISLEFT and _ISRIGHT).</li> |
467 <li>The memory leak in the <a class="reference external" href="https://developer
s.google.com/native-client/pepper23/pepperc/struct_p_p_b___web_socket__1__0">Web
Socket</a> | 476 <li>The memory leak in the <a class="reference external" href="https://developer
s.google.com/native-client/pepper23/pepperc/struct_p_p_b___web_socket__1__0">Web
Socket</a> |
468 API has been fixed.</li> | 477 API has been fixed.</li> |
469 </ul> | 478 </ul> |
470 </section></section><section id="pepper-22-22-august-2012"> | 479 </section></section><section id="pepper-22-22-august-2012"> |
471 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> | 480 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> |
472 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou
rces to enable | 481 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou
rces to enable |
473 <strong>hosted development on Windows</strong>, and changes to the example Makef
iles (each | 482 <strong>hosted development on Windows</strong>, and changes to the example Makef
iles (each |
474 example now builds both a debug and a release version).</p> | 483 example now builds both a debug and a release version).</p> |
475 <section id="id14"> | 484 <section id="id15"> |
476 <h3 id="id14">Tools</h3> | 485 <h3 id="id15">Tools</h3> |
477 <ul class="small-gap"> | 486 <ul class="small-gap"> |
478 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u
se to debug | 487 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u
se to debug |
479 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, | 488 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, |
480 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux | 489 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux |
481 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> | 490 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> |
482 </ul> | 491 </ul> |
483 </section><section id="id15"> | 492 </section><section id="id16"> |
484 <h3 id="id15">Windows SDK</h3> | 493 <h3 id="id16">Windows SDK</h3> |
485 <ul class="small-gap"> | 494 <ul class="small-gap"> |
486 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo
dule as a Pepper | 495 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo
dule as a Pepper |
487 plugin</strong> (sometimes called a “trusted” or “in-process&#
8221; plugin) using the | 496 plugin</strong> (sometimes called a “trusted” or “in-process&#
8221; plugin) using the |
488 native C/C++ compiler on their development system. In essence this makes | 497 native C/C++ compiler on their development system. In essence this makes |
489 developing a Native Client module a two-step process:</p> | 498 developing a Native Client module a two-step process:</p> |
490 <ol class="arabic simple"> | 499 <ol class="arabic simple"> |
491 <li>Build the module into a DLL using your system’s C/C++ compiler. Test a
nd | 500 <li>Build the module into a DLL using your system’s C/C++ compiler. Test a
nd |
492 debug the DLL using the tools in your normal development environment.</li> | 501 debug the DLL using the tools in your normal development environment.</li> |
493 <li>Build the module into a .nexe using the compiler from one of the Native | 502 <li>Build the module into a .nexe using the compiler from one of the Native |
494 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the | 503 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the |
(...skipping 27 matching lines...) Expand all Loading... |
522 <strong>Note:</strong> It’s also possible to build a module as a trusted p
lugin on Mac and | 531 <strong>Note:</strong> It’s also possible to build a module as a trusted p
lugin on Mac and |
523 Linux systems, but doing so requires more work because the SDK does not yet | 532 Linux systems, but doing so requires more work because the SDK does not yet |
524 include the above resources (library source files and pre-built libraries) | 533 include the above resources (library source files and pre-built libraries) |
525 for Mac and Linux systems. To build and debug a trusted plugin on Mac and | 534 for Mac and Linux systems. To build and debug a trusted plugin on Mac and |
526 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 | 535 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 |
527 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> | 536 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> |
528 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>. | 537 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>. |
529 In the future, the SDK will include resources for hosted development on Mac | 538 In the future, the SDK will include resources for hosted development on Mac |
530 and Linux as well as Windows. | 539 and Linux as well as Windows. |
531 </aside> | 540 </aside> |
532 </section><section id="id16"> | 541 </section><section id="id17"> |
533 <h3 id="id16">Examples</h3> | 542 <h3 id="id17">Examples</h3> |
534 <ul class="small-gap"> | 543 <ul class="small-gap"> |
535 <li>Each example in the SDK now builds both a debug and a release version. As | 544 <li>Each example in the SDK now builds both a debug and a release version. As |
536 before, most examples also build newlib and glibc versions, which means that | 545 before, most examples also build newlib and glibc versions, which means that |
537 there are now four versions for each example. Take a look at the Makefiles in | 546 there are now four versions for each example. Take a look at the Makefiles in |
538 the examples to see the compiler flags that are used for debug and release | 547 the examples to see the compiler flags that are used for debug and release |
539 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 | 548 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 |
540 different development scenarios</em></a>.</li> | 549 different development scenarios</em></a>.</li> |
541 <li>Comments have been added to common.js, which is used in all the examples. Th
e | 550 <li>Comments have been added to common.js, which is used in all the examples. Th
e |
542 JavaScript in common.js inserts an <embed> element that loads the NaCl mod
ule | 551 JavaScript in common.js inserts an <embed> element that loads the NaCl mod
ule |
543 in each example’s web page, attaches event listeners to monitor the loadin
g | 552 in each example’s web page, attaches event listeners to monitor the loadin
g |
544 of the module, and implements handleMessage() to respond to messages sent | 553 of the module, and implements handleMessage() to respond to messages sent |
545 from the NaCl module to the JavaScript side of the application</li> | 554 from the NaCl module to the JavaScript side of the application</li> |
546 </ul> | 555 </ul> |
547 </section><section id="id17"> | 556 </section><section id="id18"> |
548 <h3 id="id17">PPAPI</h3> | 557 <h3 id="id18">PPAPI</h3> |
549 <ul class="small-gap"> | 558 <ul class="small-gap"> |
550 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread
traits | 559 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread
traits |
551 class as its second parameter. For details see the <a class="reference external"
href="https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_
1_completion_callback_factory#details">CompletionCallbackFactory | 560 class as its second parameter. For details see the <a class="reference external"
href="https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_
1_completion_callback_factory#details">CompletionCallbackFactory |
552 class template reference</a>.</li> | 561 class template reference</a>.</li> |
553 </ul> | 562 </ul> |
554 </section></section></section> | 563 </section></section></section> |
555 | 564 |
556 {{/partials.standard_nacl_article}} | 565 {{/partials.standard_nacl_article}} |
OLD | NEW |