Bumping manifests a=b2g-bump
[gecko.git] / build / docs / mozinfo.rst
blobde745bcb8e9e6130aaf9f43a21ffd5043c3639cb
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    Unkown 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``. For B2G, it's ``b2g``.
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 healthreport
90    Whether the Health Report feature is enabled.
92    Values are ``true`` and ``false``.
94    Always defined.
96 mozconfig
97    The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
99    Optional.
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``.
107    Always defined.
109 processor
110    Information about the processor architecture this build targets.
112    Values come from ``TARGET_CPU``, however some massaging may be
113    performed.
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
121    value is ``x86``.
123    Always defined.
125 tests_enabled
126    Whether tests are enabled for this build.
128    Values are ``true`` and ``false``.
130    Always defined.
132 toolkit
133    The widget toolkit in case. The value comes from the
134    ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
136    Always defined.
138 topsrcdir
139    The path to the source directory the build came from.
141    Always defined.
143 wave
144    Whether Wave audio support is enabled.
146    Values are ``true`` and ``false``.
148    Always defined.
150 webm
151    Whether WebM support is enabled.
153    Values are ``true`` and ``false``.
155    Always defined.