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 object directory during build
configuration. The code for writing this file lives in
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 Test Manifests.
mozinfo.json Attributes
mozinfo currently records the following attributes.
- appname
 The application being built.
Value comes from
MOZ_APP_NAMEfromconfig.status.Optional.
- asan
 Whether address sanitization is enabled.
Values are
trueandfalse.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
32or64.Universal Mac builds do not have this key defined.
Unknown processor architectures (see
processorbelow) may not have this key defined.Optional.
- buildapp
 The path to the XUL application being built.
For desktop Firefox, this is
browser. For Fennec, it’smobile/android.- crashreporter
 Whether the crash reporter is enabled for this build.
Values are
trueandfalse.Always defined.
- datareporting
 Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build.
Values are
trueandfalse.Always defined.
- debug
 Whether this is a debug build.
Values are
trueandfalse.Always defined.
- devedition
 Whether this is a devedition build.
Values are
trueandfalse.Always defined.
- healthreport
 Whether the Health Report feature is enabled.
Values are
trueandfalse.Always defined.
- mozconfig
 The path of the mozconfig file used to produce this build.
Optional.
- nightly_build
 Whether this is a nightly build.
Values are
trueandfalse.Always defined.
- os
 The operating system the build is produced for. Values for tier-1 supported platforms are
linux,win,mac, andandroid. For other platforms, the value is the lowercase version of theOS_TARGETvariable fromconfig.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 isarm.If the value starts with a string of the form
i[3-9]86], the value isx86.Always defined.
- release_or_beta
 Whether this is a release or beta build.
Values are
trueandfalse.Always defined.
- stylo
 Whether the Stylo styling system is being used.
Values are
trueandfalse.Always defined.
- tests_enabled
 Whether tests are enabled for this build.
Values are
trueandfalse.Always defined.
- toolkit
 The widget toolkit in case. The value comes from the
MOZ_WIDGET_TOOLKITconfig.statusvariable.Always defined.
- topsrcdir
 The path to the source directory the build came from.
Always defined.
- topobjdir
 The path to the obj directory the build came from.
Always defined.
- webrender
 Whether or not WebRender is enabled as the Gecko compositor.
Values are
trueandfalse.Always defined.