OLD | NEW |
---|---|
1 .. _devcycle-building: | 1 .. _devcycle-building: |
2 | 2 |
3 ######## | 3 ######## |
4 Building | 4 Building |
5 ######## | 5 ######## |
6 | 6 |
7 .. contents:: Table Of Contents | 7 .. contents:: Table Of Contents |
8 :local: | 8 :local: |
9 :backlinks: none | 9 :backlinks: none |
10 :depth: 2 | 10 :depth: 2 |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
154 tools include: | 154 tools include: |
155 | 155 |
156 pnacl-abicheck | 156 pnacl-abicheck |
157 Check that the **pexe** follows the PNaCl ABI rules. | 157 Check that the **pexe** follows the PNaCl ABI rules. |
158 pnacl-ar | 158 pnacl-ar |
159 Creates archives (i.e., static libraries) | 159 Creates archives (i.e., static libraries) |
160 pnacl-clang | 160 pnacl-clang |
161 C compiler and compiler driver | 161 C compiler and compiler driver |
162 pnacl-clang++ | 162 pnacl-clang++ |
163 C++ compiler and compiler driver | 163 C++ compiler and compiler driver |
164 pnacl-compress | |
165 Size compresses a finalized **pexe** file for deployment. | |
164 pnacl-dis | 166 pnacl-dis |
165 Disassembler for both **pexe** files and **nexe** files | 167 Disassembler for both **pexe** files and **nexe** files |
166 pnacl-finalize | 168 pnacl-finalize |
167 Finalizes **pexe** files for deployment | 169 Finalizes **pexe** files for deployment |
168 pnacl-ld | 170 pnacl-ld |
169 Bitcode linker | 171 Bitcode linker |
170 pnacl-nm | 172 pnacl-nm |
171 Lists symbols in bitcode files, native code, and libraries | 173 Lists symbols in bitcode files, native code, and libraries |
172 pnacl-ranlib | 174 pnacl-ranlib |
173 Generates a symbol table for archives (i.e., static libraries) | 175 Generates a symbol table for archives (i.e., static libraries) |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
317 and will be supported by future versions of PNaCl. The finalization step | 319 and will be supported by future versions of PNaCl. The finalization step |
318 also helps minimize the size of your application for distribution by | 320 also helps minimize the size of your application for distribution by |
319 stripping out debug information and other metadata. | 321 stripping out debug information and other metadata. |
320 | 322 |
321 Once the application is finalized, be sure to adjust the manifest file to | 323 Once the application is finalized, be sure to adjust the manifest file to |
322 refer to the final version of the application before deployment. | 324 refer to the final version of the application before deployment. |
323 The ``create_nmf.py`` tool helps generate an ``.nmf`` file, but ``.nmf`` | 325 The ``create_nmf.py`` tool helps generate an ``.nmf`` file, but ``.nmf`` |
324 files can also be written by hand. | 326 files can also be written by hand. |
325 | 327 |
326 | 328 |
329 | |
330 Compressing the **pexe** for deployment | |
331 --------------------------------------- | |
332 | |
333 Size compression is an optional step for deployment, and reduces the | |
334 size of the pexe file that must be transmitted over the wire. The tool | |
335 pnacl-compress applies compression strategies that are already built | |
jvoung (off chromium)
2014/02/26 18:01:04
Some of the tool names are formatted with "``" aro
Karl
2014/02/27 18:37:27
Done.
| |
336 into the **stable** binary format of a pexe application. As such, | |
337 compressed pexe files do not need any extra time to be decompressed on | |
338 the client's side. All costs are upfront when you call pnacl-compress. | |
jvoung (off chromium)
2014/02/26 18:01:04
Might be worth mentioning that it doesn't replace
Karl
2014/02/27 18:37:27
Added paragraph for this.
| |
339 | |
340 Currently, this tool will compress pexe files by about 25%. However, | |
341 it is somewhat slow (can take from seconds to minutes on large | |
342 appications). Hence, this step is optional. | |
343 | |
344 .. naclcode:: | |
345 :prettyprint: 0 | |
346 | |
347 <NACL_SDK_ROOT>/toolchain/win_pnacl/bin/pnacl-compress ^ | |
348 hello_world.final.pexe | |
349 | |
350 Tool pncl-compress must be called after a pexe file has been finalized | |
JF
2014/02/26 17:27:21
s/pncl/pnacl/
Karl
2014/02/27 18:37:27
Done.
| |
351 for deployment (via pnacl-finalize). Alternatively, you can apply this | |
352 step as part of the finalizing step by adding the ``--compress`` flag | |
353 to the pnacl-finalize command line. | |
354 | |
355 | |
327 The GNU-based toolchains | 356 The GNU-based toolchains |
328 ======================== | 357 ======================== |
329 | 358 |
330 Besides the PNaCl toolchain, the Native Client SDK also includes modified | 359 Besides the PNaCl toolchain, the Native Client SDK also includes modified |
331 versions of the tools in the standard GNU toolchain, including the GCC | 360 versions of the tools in the standard GNU toolchain, including the GCC |
332 compilers and the linkers and other tools from binutils. These tools only | 361 compilers and the linkers and other tools from binutils. These tools only |
333 support building **nexe** files. Run the tool with the ``--version`` | 362 support building **nexe** files. Run the tool with the ``--version`` |
334 command line flag to determine the current version of the tools. | 363 command line flag to determine the current version of the tools. |
335 | 364 |
336 Each tool in the toolchain is prefixed with the name of the target | 365 Each tool in the toolchain is prefixed with the name of the target |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
649 Function foo has disallowed type: i128 (i128) | 678 Function foo has disallowed type: i128 (i128) |
650 LLVM ERROR: PNaCl ABI verification failed | 679 LLVM ERROR: PNaCl ABI verification failed |
651 | 680 |
652 When faced with a PNaCl ABI verification error, check the list of features | 681 When faced with a PNaCl ABI verification error, check the list of features |
653 that are :ref:`not supported by PNaCl <when-to-use-nacl>`. | 682 that are :ref:`not supported by PNaCl <when-to-use-nacl>`. |
654 If the problem you face is not listed as restricted, | 683 If the problem you face is not listed as restricted, |
655 :ref:`let us know <help>`! | 684 :ref:`let us know <help>`! |
656 | 685 |
657 .. _glibc: http://www.gnu.org/software/libc/ | 686 .. _glibc: http://www.gnu.org/software/libc/ |
658 .. _newlib: http://sourceware.org/newlib/ | 687 .. _newlib: http://sourceware.org/newlib/ |
OLD | NEW |