Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
michael@0 | 1 | .. _build_targets: |
michael@0 | 2 | |
michael@0 | 3 | ============= |
michael@0 | 4 | Build Targets |
michael@0 | 5 | ============= |
michael@0 | 6 | |
michael@0 | 7 | When you build with ``mach build``, there are some special targets that can be |
michael@0 | 8 | built. This page attempts to document them. |
michael@0 | 9 | |
michael@0 | 10 | Partial Tree Targets |
michael@0 | 11 | ==================== |
michael@0 | 12 | |
michael@0 | 13 | The targets in this section only build part of the tree. Please note that |
michael@0 | 14 | partial tree builds can be unreliable. Use at your own risk. |
michael@0 | 15 | |
michael@0 | 16 | export |
michael@0 | 17 | Build the *export* tier. The *export* tier builds everything that is |
michael@0 | 18 | required for C/C++ compilation. It stages all header files, processes |
michael@0 | 19 | IDLs, etc. |
michael@0 | 20 | |
michael@0 | 21 | compile |
michael@0 | 22 | Build the *compile* tier. The *compile* tier compiles all C/C++ files. |
michael@0 | 23 | Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. |
michael@0 | 24 | |
michael@0 | 25 | libs |
michael@0 | 26 | Build the *libs* tier. The *libs* tier performs linking and performs |
michael@0 | 27 | most build steps which aren't related to compilation. |
michael@0 | 28 | |
michael@0 | 29 | tools |
michael@0 | 30 | Build the *tools* tier. The *tools* tier mostly deals with supplementary |
michael@0 | 31 | tools and compiled tests. It will link tools against libXUL, including |
michael@0 | 32 | compiled test binaries. |
michael@0 | 33 | |
michael@0 | 34 | binaries: |
michael@0 | 35 | Recompiles and relinks C/C++ files. Only works after a complete normal |
michael@0 | 36 | build, but allows for much faster rebuilds of C/C++ code. For performance |
michael@0 | 37 | reasons, however, it skips nss, nspr, icu and ffi. This is targeted to |
michael@0 | 38 | improve local developer workflow when touching C/C++ code. |
michael@0 | 39 | Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. |
michael@0 | 40 | |
michael@0 | 41 | install-manifests |
michael@0 | 42 | Process install manifests. Install manifests handle the installation of |
michael@0 | 43 | files into the object directory. |
michael@0 | 44 | |
michael@0 | 45 | Unless ``NO_REMOVE=1`` is defined in the environment, files not accounted |
michael@0 | 46 | in the install manifests will be deleted from the object directory. |
michael@0 | 47 | |
michael@0 | 48 | install-tests |
michael@0 | 49 | Processes the tests install manifest. |
michael@0 | 50 | |
michael@0 | 51 | Common Actions |
michael@0 | 52 | ============== |
michael@0 | 53 | |
michael@0 | 54 | The targets in this section correspond to common build-related actions. Many |
michael@0 | 55 | of the actions in this section are effectively frontends to shell scripts. |
michael@0 | 56 | These actions will likely all be replaced by mach commands someday. |
michael@0 | 57 | |
michael@0 | 58 | buildsymbols |
michael@0 | 59 | Create a symbols archive for the current build. |
michael@0 | 60 | |
michael@0 | 61 | This must be performed after a successful build. |
michael@0 | 62 | |
michael@0 | 63 | check |
michael@0 | 64 | Run build system tests. |