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 Unkown 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
66 ``mobile/android``. For B2G, it's ``b2g``.
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 the Health Report feature is enabled.
92 Values are ``true`` and ``false``.
97 The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
102 The operating system the build is produced for. Values for tier-1
103 supported platforms are ``linux``, ``win``, ``mac``, ``b2g``, and
104 ``android``. For other platforms, the value is the lowercase version
105 of the ``OS_TARGET`` variable from ``config.status``.
110 Information about the processor architecture this build targets.
112 Values come from ``TARGET_CPU``, however some massaging may be
115 If the build is a universal build on Mac (it targets both 32-bit and
116 64-bit), the value is ``universal-x86-x86_64``.
118 If the value starts with ``arm``, the value is ``arm``.
120 If the value starts with a string of the form ``i[3-9]86]``, the
126 Whether tests are enabled for this build.
128 Values are ``true`` and ``false``.
133 The widget toolkit in case. The value comes from the
134 ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
139 The path to the source directory the build came from.
144 Whether Wave audio support is enabled.
146 Values are ``true`` and ``false``.
151 Whether WebM support is enabled.
153 Values are ``true`` and ``false``.