build/docs/mozbuild/index.rst

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/build/docs/mozbuild/index.rst	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,41 @@
     1.4 +========
     1.5 +mozbuild
     1.6 +========
     1.7 +
     1.8 +mozbuild is a Python package providing functionality used by Mozilla's
     1.9 +build system.
    1.10 +
    1.11 +Modules Overview
    1.12 +================
    1.13 +
    1.14 +* mozbuild.backend -- Functionality for producing and interacting with build
    1.15 +  backends. A build backend is an entity that consumes build system metadata
    1.16 +  (from mozbuild.frontend) and does something useful with it (typically writing
    1.17 +  out files that can be used by a build tool to build the tree).
    1.18 +* mozbuild.compilation -- Functionality related to compiling. This
    1.19 +  includes managing compiler warnings.
    1.20 +* mozbuild.frontend -- Functionality for reading build frontend files
    1.21 +  (what defines the build system) and converting them to data structures
    1.22 +  which are fed into build backends to produce backend configurations.
    1.23 +* mozpack -- Functionality related to packaging builds.
    1.24 +
    1.25 +Overview
    1.26 +========
    1.27 +
    1.28 +The build system consists of frontend files that define what to do. They
    1.29 +say things like "compile X" "copy Y."
    1.30 +
    1.31 +The mozbuild.frontend package contains code for reading these frontend
    1.32 +files and converting them to static data structures. The set of produced
    1.33 +static data structures for the tree constitute the current build
    1.34 +configuration.
    1.35 +
    1.36 +There exist entities called build backends. From a high level, build
    1.37 +backends consume the build configuration and do something with it. They
    1.38 +typically produce tool-specific files such as make files which can be used
    1.39 +to build the tree.
    1.40 +
    1.41 +Piecing it all together, we have frontend files that are parsed into data
    1.42 +structures. These data structures are fed into a build backend. The output
    1.43 +from build backends is used by builders to build the tree.
    1.44 +

mercurial