Chromium Code Reviews| 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 |