build/docs/mozbuild/index.rst

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 ========
     2 mozbuild
     3 ========
     5 mozbuild is a Python package providing functionality used by Mozilla's
     6 build system.
     8 Modules Overview
     9 ================
    11 * mozbuild.backend -- Functionality for producing and interacting with build
    12   backends. A build backend is an entity that consumes build system metadata
    13   (from mozbuild.frontend) and does something useful with it (typically writing
    14   out files that can be used by a build tool to build the tree).
    15 * mozbuild.compilation -- Functionality related to compiling. This
    16   includes managing compiler warnings.
    17 * mozbuild.frontend -- Functionality for reading build frontend files
    18   (what defines the build system) and converting them to data structures
    19   which are fed into build backends to produce backend configurations.
    20 * mozpack -- Functionality related to packaging builds.
    22 Overview
    23 ========
    25 The build system consists of frontend files that define what to do. They
    26 say things like "compile X" "copy Y."
    28 The mozbuild.frontend package contains code for reading these frontend
    29 files and converting them to static data structures. The set of produced
    30 static data structures for the tree constitute the current build
    31 configuration.
    33 There exist entities called build backends. From a high level, build
    34 backends consume the build configuration and do something with it. They
    35 typically produce tool-specific files such as make files which can be used
    36 to build the tree.
    38 Piecing it all together, we have frontend files that are parsed into data
    39 structures. These data structures are fed into a build backend. The output
    40 from build backends is used by builders to build the tree.

mercurial