gecko-dev/build/docs/mozinfo.rst
Kartikaya Gupta 721a5dbcf4 Bug 1558598 - Ensure mozinfo correctly detects WebRender. r=ahal
I don't know if this covers all the things that use mozinfo (probably not)
but it covers all the suites that use mozinfo and have webrender conditions
in the test manifests (i.e. mochitest and wpt variants).

Differential Revision: https://phabricator.services.mozilla.com/D35869

--HG--
extra : moz-landing-system : lando
2019-06-29 09:51:14 +00:00

177 lines
3.7 KiB
ReStructuredText

.. _mozinfo:
=======
mozinfo
=======
``mozinfo`` is a solution for representing a subset of build
configuration and run-time data.
``mozinfo`` data is typically accessed through a ``mozinfo.json`` file
which is written to the :term:`object directory` during build
configuration. The code for writing this file lives in
:py:mod:`mozbuild.mozinfo`.
``mozinfo.json`` is an object/dictionary of simple string values.
The attributes in ``mozinfo.json`` are used for many purposes. One use
is to filter tests for applicability to the current build. For more on
this, see :ref:`test_manifests`.
.. _mozinfo_attributes:
mozinfo.json Attributes
=================================
``mozinfo`` currently records the following attributes.
appname
The application being built.
Value comes from ``MOZ_APP_NAME`` from ``config.status``.
Optional.
asan
Whether address sanitization is enabled.
Values are ``true`` and ``false``.
Always defined.
bin_suffix
The file suffix for binaries produced with this build.
Values may be an empty string, as not all platforms have a binary
suffix.
Always defined.
bits
The number of bits in the CPU this build targets.
Values are typically ``32`` or ``64``.
Universal Mac builds do not have this key defined.
Unknown processor architectures (see ``processor`` below) may not have
this key defined.
Optional.
buildapp
The path to the XUL application being built.
For desktop Firefox, this is ``browser``. For Fennec, it's
``mobile/android``.
crashreporter
Whether the crash reporter is enabled for this build.
Values are ``true`` and ``false``.
Always defined.
datareporting
Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build.
Values are ``true`` and ``false``.
Always defined.
debug
Whether this is a debug build.
Values are ``true`` and ``false``.
Always defined.
devedition
Whether this is a devedition build.
Values are ``true`` and ``false``.
Always defined.
healthreport
Whether the Health Report feature is enabled.
Values are ``true`` and ``false``.
Always defined.
mozconfig
The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
Optional.
nightly_build
Whether this is a nightly build.
Values are ``true`` and ``false``.
Always defined.
os
The operating system the build is produced for. Values for tier-1
supported platforms are ``linux``, ``win``, ``mac``, and
``android``. For other platforms, the value is the lowercase version
of the ``OS_TARGET`` variable from ``config.status``.
Always defined.
processor
Information about the processor architecture this build targets.
Values come from ``TARGET_CPU``, however some massaging may be
performed.
If the build is a universal build on Mac (it targets both 32-bit and
64-bit), the value is ``universal-x86-x86_64``.
If the value starts with ``arm``, the value is ``arm``.
If the value starts with a string of the form ``i[3-9]86]``, the
value is ``x86``.
Always defined.
release_or_beta
Whether this is a release or beta build.
Values are ``true`` and ``false``.
Always defined.
stylo
Whether the Stylo styling system is being used.
Values are ``true`` and ``false``.
Always defined.
tests_enabled
Whether tests are enabled for this build.
Values are ``true`` and ``false``.
Always defined.
toolkit
The widget toolkit in case. The value comes from the
``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
Always defined.
topsrcdir
The path to the source directory the build came from.
Always defined.
webrender
Whether or not WebRender is enabled as the Gecko compositor.
Values are ``true`` and ``false``.
Always defined.