build/docs/mozinfo.rst

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:0606217afd73
1 .. _mozinfo:
2
3 =======
4 mozinfo
5 =======
6
7 ``mozinfo`` is a solution for representing a subset of build
8 configuration and run-time data.
9
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`.
14
15 ``mozinfo.json`` is an object/dictionary of simple string values.
16
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`.
20
21 .. _mozinfo_attributes:
22
23 mozinfo.json Attributes
24 =================================
25
26 ``mozinfo`` currently records the following attributes.
27
28 appname
29 The application being built.
30
31 Value comes from ``MOZ_APP_NAME`` from ``config.status``.
32
33 Optional.
34
35 asan
36 Whether address sanitization is enabled.
37
38 Values are ``true`` and ``false``.
39
40 Always defined.
41
42 bin_suffix
43 The file suffix for binaries produced with this build.
44
45 Values may be an empty string, as not all platforms have a binary
46 suffix.
47
48 Always defined.
49
50 bits
51 The number of bits in the CPU this build targets.
52
53 Values are typically ``32`` or ``64``.
54
55 Universal Mac builds do not have this key defined.
56
57 Unkown processor architectures (see ``processor`` below) may not have
58 this key defined.
59
60 Optional.
61
62 buildapp
63 The path to the XUL application being built.
64
65 For desktop Firefox, this is ``browser``. For Fennec, it's
66 ``mobile/android``. For B2G, it's ``b2g``.
67
68 crashreporter
69 Whether the crash reporter is enabled for this build.
70
71 Values are ``true`` and ``false``.
72
73 Always defined.
74
75 datareporting
76 Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build.
77
78 Values are ``true`` and ``false``.
79
80 Always defined.
81
82 debug
83 Whether this is a debug build.
84
85 Values are ``true`` and ``false``.
86
87 Always defined.
88
89 healthreport
90 Whether the Health Report feature is enabled.
91
92 Values are ``true`` and ``false``.
93
94 Always defined.
95
96 mozconfig
97 The path of the :ref:`mozconfig file <mozconfig>` used to produce this build.
98
99 Optional.
100
101 os
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``.
106
107 Always defined.
108
109 processor
110 Information about the processor architecture this build targets.
111
112 Values come from ``TARGET_CPU``, however some massaging may be
113 performed.
114
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``.
117
118 If the value starts with ``arm``, the value is ``arm``.
119
120 If the value starts with a string of the form ``i[3-9]86]``, the
121 value is ``x86``.
122
123 Always defined.
124
125 tests_enabled
126 Whether tests are enabled for this build.
127
128 Values are ``true`` and ``false``.
129
130 Always defined.
131
132 toolkit
133 The widget toolkit in case. The value comes from the
134 ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable.
135
136 Always defined.
137
138 topsrcdir
139 The path to the source directory the build came from.
140
141 Always defined.
142
143 wave
144 Whether Wave audio support is enabled.
145
146 Values are ``true`` and ``false``.
147
148 Always defined.
149
150 webm
151 Whether WebM support is enabled.
152
153 Values are ``true`` and ``false``.
154
155 Always defined.

mercurial