summaryrefslogtreecommitdiff
path: root/build/docs/mozinfo.rst
blob: 745476bef781dc65e667248ba3c584a9904d909b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
.. _mozinfo:

=======
mozinfo
=======

``mozinfo`` is a solution for representing a subset of build
configuration and run-time data.

``mozinfo`` data is typically accessed through a ``mozinfo.json`` file
which is written to the :term:`object directory` during build
configuration. The code for writing this file lives in
:py:mod:`mozbuild.mozinfo`.

``mozinfo.json`` is an object/dictionary of simple string values.

The attributes in ``mozinfo.json`` are used for many purposes. One use
is to filter tests for applicability to the current build. For more on
this, see :ref:`test_manifests`.

.. _mozinfo_attributes:

mozinfo.json Attributes
=================================

``mozinfo`` currently records the following attributes.

appname
   The application being built.

   Value comes from ``MOZ_APP_NAME`` from ``config.status``.

   Optional.

asan
   Whether address sanitization is enabled.

   Values are ``true`` and ``false``.

   Always defined.

bin_suffix
   The file suffix for binaries produced with this build.

   Values may be an empty string, as not all platforms have a binary
   suffix.

   Always defined.

bits
   The number of bits in the CPU this build targets.

   Values are typically ``32`` or ``64``.

   Universal Mac builds do not have this key defined.

   Unkown processor architectures (see ``processor`` below) may not have
   this key defined.

   Optional.

buildapp
   The path to the XUL application being built.

   For desktop Firefox, this is ``browser``.

crashreporter
   Whether the crash reporter is enabled for this build.

   Values are ``true`` and ``false``.

   Always defined.

debug
   Whether this is a debug build.

   Values are ``true`` and ``false``.

   Always defined.

mozconfig
   The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.

   Optional.

nightly_build
   Whether this is a nightly build.

   Values are ``true`` and ``false``.

   Always defined.

os
   The operating system the build is produced for. Values for tier-1
   supported platforms are ``linux`` and ``win``. For other platforms,
   the value is the lowercase version of the ``OS_TARGET`` variable
   from ``config.status``.

   Always defined.

processor
   Information about the processor architecture this build targets.

   Values come from ``TARGET_CPU``, however some massaging may be
   performed.

   If the build is a universal build on Mac (it targets both 32-bit and
   64-bit), the value is ``universal-x86-x86_64``.

   If the value starts with ``arm``, the value is ``arm``.

   If the value starts with a string of the form ``i[3-9]86]``, the
   value is ``x86``.

   Always defined.

release_or_beta
   Whether this is a release or beta build.

   Values are ``true`` and ``false``.

   Always defined.

tests_enabled
   Whether tests are enabled for this build.

   Values are ``true`` and ``false``.

   Always defined.

toolkit
   The widget toolkit in case. The value comes from the
   ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.

   Always defined.

topsrcdir
   The path to the source directory the build came from.

   Always defined.

wave
   Whether Wave audio support is enabled.

   Values are ``true`` and ``false``.

   Always defined.

webm
   Whether WebM support is enabled.

   Values are ``true`` and ``false``.

   Always defined.