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

Side by Side Diff: native_client_sdk/src/doc/devguide/devcycle/building.rst

Issue 177533025: Add section on compressing pexe files for deployment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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/
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698