2013-09-24 04:21:10 +04:00
|
|
|
.. _mozconfig:
|
|
|
|
|
2013-09-21 02:46:43 +04:00
|
|
|
===============
|
|
|
|
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
|