7 ``mozinfo`` is a solution for representing a subset of build
8 configuration and run-time data.
10 ``mozinfo`` data is typically accessed through a ``mozinfo.json`` file
11 which is written to the :term:`object directory` during build
12 configuration. The code for writing this file lives in
13 :py:mod:`mozbuild.mozinfo`.
15 ``mozinfo.json`` is an object/dictionary of simple string values.
17 The attributes in ``mozinfo.json`` are used for many purposes. One use
18 is to filter tests for applicability to the current build. For more on
19 this, see :ref:`test_manifests`.
21 .. _mozinfo_attributes:
23 mozinfo.json Attributes
24 =================================
26 ``mozinfo`` currently records the following attributes.
29 The application being built.
31 Value comes from ``MOZ_APP_NAME`` from ``config.status``.
36 Whether address sanitization is enabled.
38 Values are ``true`` and ``false``.
43 The file suffix for binaries produced with this build.
45 Values may be an empty string, as not all platforms have a binary
51 The number of bits in the CPU this build targets.
53 Values are typically ``32`` or ``64``.
55 Universal Mac builds do not have this key defined.
57 Unknown processor architectures (see ``processor`` below) may not have
63 The path to the XUL application being built.
65 For desktop Firefox, this is ``browser``. For Fennec, it's
69 Whether the crash reporter is enabled for this build.
71 Values are ``true`` and ``false``.
76 Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build.
78 Values are ``true`` and ``false``.
83 Whether this is a debug build.
85 Values are ``true`` and ``false``.
90 Whether this is a devedition build.
92 Values are ``true`` and ``false``.
97 Whether the Health Report feature is enabled.
99 Values are ``true`` and ``false``.
104 The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
109 Whether this is a nightly build.
111 Values are ``true`` and ``false``.
116 The operating system the build is produced for. Values for tier-1
117 supported platforms are ``linux``, ``win``, ``mac``, and
118 ``android``. For other platforms, the value is the lowercase version
119 of the ``OS_TARGET`` variable from ``config.status``.
124 Information about the processor architecture this build targets.
126 Values come from ``TARGET_CPU``, however some massaging may be
129 If the build is a universal build on Mac (it targets both 32-bit and
130 64-bit), the value is ``universal-x86-x86_64``.
132 If the value starts with ``arm``, the value is ``arm``.
134 If the value starts with a string of the form ``i[3-9]86]``, the
140 Whether this is a release or beta build.
142 Values are ``true`` and ``false``.
147 Whether the Stylo styling system is being used.
149 Values are ``true`` and ``false``.
154 Whether tests are enabled for this build.
156 Values are ``true`` and ``false``.
161 The widget toolkit in case. The value comes from the
162 ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
167 The path to the source directory the build came from.
172 The path to the obj directory the build came from.
177 Whether or not WebRender is enabled as the Gecko compositor.
179 Values are ``true`` and ``false``.