1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/docs/build-targets.rst Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,64 @@ 1.4 +.. _build_targets: 1.5 + 1.6 +============= 1.7 +Build Targets 1.8 +============= 1.9 + 1.10 +When you build with ``mach build``, there are some special targets that can be 1.11 +built. This page attempts to document them. 1.12 + 1.13 +Partial Tree Targets 1.14 +==================== 1.15 + 1.16 +The targets in this section only build part of the tree. Please note that 1.17 +partial tree builds can be unreliable. Use at your own risk. 1.18 + 1.19 +export 1.20 + Build the *export* tier. The *export* tier builds everything that is 1.21 + required for C/C++ compilation. It stages all header files, processes 1.22 + IDLs, etc. 1.23 + 1.24 +compile 1.25 + Build the *compile* tier. The *compile* tier compiles all C/C++ files. 1.26 + Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. 1.27 + 1.28 +libs 1.29 + Build the *libs* tier. The *libs* tier performs linking and performs 1.30 + most build steps which aren't related to compilation. 1.31 + 1.32 +tools 1.33 + Build the *tools* tier. The *tools* tier mostly deals with supplementary 1.34 + tools and compiled tests. It will link tools against libXUL, including 1.35 + compiled test binaries. 1.36 + 1.37 +binaries: 1.38 + Recompiles and relinks C/C++ files. Only works after a complete normal 1.39 + build, but allows for much faster rebuilds of C/C++ code. For performance 1.40 + reasons, however, it skips nss, nspr, icu and ffi. This is targeted to 1.41 + improve local developer workflow when touching C/C++ code. 1.42 + Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. 1.43 + 1.44 +install-manifests 1.45 + Process install manifests. Install manifests handle the installation of 1.46 + files into the object directory. 1.47 + 1.48 + Unless ``NO_REMOVE=1`` is defined in the environment, files not accounted 1.49 + in the install manifests will be deleted from the object directory. 1.50 + 1.51 +install-tests 1.52 + Processes the tests install manifest. 1.53 + 1.54 +Common Actions 1.55 +============== 1.56 + 1.57 +The targets in this section correspond to common build-related actions. Many 1.58 +of the actions in this section are effectively frontends to shell scripts. 1.59 +These actions will likely all be replaced by mach commands someday. 1.60 + 1.61 +buildsymbols 1.62 + Create a symbols archive for the current build. 1.63 + 1.64 + This must be performed after a successful build. 1.65 + 1.66 +check 1.67 + Run build system tests.