no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / build / docs / mozconfigs.rst
blob1859b87875667b88a72556eecdb4c7e56d8d7b55
1 .. _mozconfig:
3 ===============
4 mozconfig Files
5 ===============
7 mozconfig files are used to configure how a build works.
9 mozconfig files are actually shell scripts. They are executed in a
10 special context with specific variables and functions exposed to them.
12 API
13 ===
15 Functions
16 ---------
18 The following special functions are available to a mozconfig script.
20 ac_add_options
21 ^^^^^^^^^^^^^^
23 This function is used to declare extra options/arguments to pass into
24 configure.
26 e.g.::
28     ac_add_options --disable-tests
29     ac_add_options --enable-optimize
31 mk_add_options
32 ^^^^^^^^^^^^^^
34 This function is used to inject statements into client.mk for execution.
35 It is typically used to define variables, notably the object directory.
37 e.g.::
39     mk_add_options AUTOCLOBBER=1
41 Special mk_add_options Variables
42 --------------------------------
44 For historical reasons, the method for communicating certain
45 well-defined variables is via mk_add_options(). In this section, we
46 document what those special variables are.
48 MOZ_OBJDIR
49 ^^^^^^^^^^
51 This variable is used to define the :term:`object directory` for the current
52 build.
54 Finding the active mozconfig
55 ============================
57 Multiple mozconfig files can exist to provide different configuration
58 options for different tasks. The rules for finding the active mozconfig
59 are defined in the
60 :py:func:`mozboot.mozconfig.find_mozconfig` method.
62 .. automodule:: mozboot.mozconfig
63    :members: find_mozconfig
65 Loading the active mozconfig
66 ----------------------------
68 .. autoclass:: mozbuild.mozconfig.MozconfigLoader
69    :members: read_mozconfig