no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / build / docs / mozinfo.rst
blobd2f2499af9e97d944835cef71b442655a4cfa237
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.
171 topobjdir
172    The path to the obj directory the build came from.
174    Always defined.
176 webrender
177    Whether or not WebRender is enabled as the Gecko compositor.
179    Values are ``true`` and ``false``.
181    Always defined.