| .. _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 |