.. _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``. For Fennec, it's ``mobile/android``. For B2G, it's ``b2g``. crashreporter Whether the crash reporter is enabled for this build. Values are ``true`` and ``false``. Always defined. datareporting Whether data reporting (MOZ_DATA_REPORTING) 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. healthreport Whether the Health Report feature is enabled. Values are ``true`` and ``false``. Always defined. mozconfig The path of the :ref:`mozconfig file ` 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``, ``win``, ``mac``, ``b2g``, and ``android``. 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_build Whether this is a release build. Values are ``true`` and ``false``. Always defined. sm_promise Whether spidermonkey promises have been enabled or not. This is set by adding --enable-sm-promise to the mozconfig file. 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.