Bug 1468402 - Part 3: Add test for subgrids in the grid list. r=pbro
[gecko.git] / build / docs / mozinfo.rst
blob709ae87804d342da778e7e2cfb4613f66ce5ff53
1 .. _mozinfo:
3 =======
4 mozinfo
5 =======
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.
28 appname
29    The application being built.
31    Value comes from ``MOZ_APP_NAME`` from ``config.status``.
33    Optional.
35 asan
36    Whether address sanitization is enabled.
38    Values are ``true`` and ``false``.
40    Always defined.
42 bin_suffix
43    The file suffix for binaries produced with this build.
45    Values may be an empty string, as not all platforms have a binary
46    suffix.
48    Always defined.
50 bits
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
58    this key defined.
60    Optional.
62 buildapp
63    The path to the XUL application being built.
65    For desktop Firefox, this is ``browser``. For Fennec, it's
66    ``mobile/android``.
68 crashreporter
69    Whether the crash reporter is enabled for this build.
71    Values are ``true`` and ``false``.
73    Always defined.
75 datareporting
76    Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build.
78    Values are ``true`` and ``false``.
80    Always defined.
82 debug
83    Whether this is a debug build.
85    Values are ``true`` and ``false``.
87    Always defined.
89 devedition
90    Whether this is a devedition build.
92    Values are ``true`` and ``false``.
94    Always defined.
96 healthreport
97    Whether the Health Report feature is enabled.
99    Values are ``true`` and ``false``.
101    Always defined.
103 mozconfig
104    The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
106    Optional.
108 nightly_build
109    Whether this is a nightly build.
111    Values are ``true`` and ``false``.
113    Always defined.
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``.
121    Always defined.
123 processor
124    Information about the processor architecture this build targets.
126    Values come from ``TARGET_CPU``, however some massaging may be
127    performed.
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
135    value is ``x86``.
137    Always defined.
139 release_or_beta
140    Whether this is a release or beta build.
142    Values are ``true`` and ``false``.
144    Always defined.
146 stylo
147    Whether the Stylo styling system is being used.
149    Values are ``true`` and ``false``.
151    Always defined.
153 tests_enabled
154    Whether tests are enabled for this build.
156    Values are ``true`` and ``false``.
158    Always defined.
160 toolkit
161    The widget toolkit in case. The value comes from the
162    ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
164    Always defined.
166 topsrcdir
167    The path to the source directory the build came from.
169    Always defined.