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 Whether or not WebRender is enabled as the Gecko compositor.
174 Values are ``true`` and ``false``.