1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- .. _mozconfig:
- ===============
- mozconfig Files
- ===============
- mozconfig files are used to configure how a build works.
- mozconfig files are actually shell scripts. They are executed in a
- special context with specific variables and functions exposed to them.
- API
- ===
- Functions
- ---------
- The following special functions are available to a mozconfig script.
- ac_add_options
- ^^^^^^^^^^^^^^
- This function is used to declare extra options/arguments to pass into
- configure.
- e.g.::
- ac_add_options --disable-tests
- ac_add_options --enable-optimize
- mk_add_options
- ^^^^^^^^^^^^^^
- This function is used to inject statements into client.mk for execution.
- It is typically used to define variables, notably the object directory.
- e.g.::
- mk_add_options AUTOCLOBBER=1
- ac_add_options
- ^^^^^^^^^^^^^^
- This is a variant of ac_add_options() which only adds configure options
- for a specified application. This is only used when building multiple
- applications through client.mk. This function is typically not needed.
- Special mk_add_options Variables
- --------------------------------
- For historical reasons, the method for communicating certain
- well-defined variables is via mk_add_options(). In this section, we
- document what those special variables are.
- MOZ_OBJDIR
- ^^^^^^^^^^
- This variable is used to define the :term:`object directory` for the current
- build.
- Finding the active mozconfig
- ============================
- Multiple mozconfig files can exist to provide different configuration
- options for different tasks. The rules for finding the active mozconfig
- are defined in the
- :py:func:`mozbuild.mozconfig.MozconfigLoader.find_mozconfig` method:
- .. autoclass:: mozbuild.mozconfig.MozconfigLoader
- :members: find_mozconfig
|