1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/docs/mozinfo.rst Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,155 @@ 1.4 +.. _mozinfo: 1.5 + 1.6 +======= 1.7 +mozinfo 1.8 +======= 1.9 + 1.10 +``mozinfo`` is a solution for representing a subset of build 1.11 +configuration and run-time data. 1.12 + 1.13 +``mozinfo`` data is typically accessed through a ``mozinfo.json`` file 1.14 +which is written to the :term:`object directory` during build 1.15 +configuration. The code for writing this file lives in 1.16 +:py:mod:`mozbuild.mozinfo`. 1.17 + 1.18 +``mozinfo.json`` is an object/dictionary of simple string values. 1.19 + 1.20 +The attributes in ``mozinfo.json`` are used for many purposes. One use 1.21 +is to filter tests for applicability to the current build. For more on 1.22 +this, see :ref:`test_manifests`. 1.23 + 1.24 +.. _mozinfo_attributes: 1.25 + 1.26 +mozinfo.json Attributes 1.27 +================================= 1.28 + 1.29 +``mozinfo`` currently records the following attributes. 1.30 + 1.31 +appname 1.32 + The application being built. 1.33 + 1.34 + Value comes from ``MOZ_APP_NAME`` from ``config.status``. 1.35 + 1.36 + Optional. 1.37 + 1.38 +asan 1.39 + Whether address sanitization is enabled. 1.40 + 1.41 + Values are ``true`` and ``false``. 1.42 + 1.43 + Always defined. 1.44 + 1.45 +bin_suffix 1.46 + The file suffix for binaries produced with this build. 1.47 + 1.48 + Values may be an empty string, as not all platforms have a binary 1.49 + suffix. 1.50 + 1.51 + Always defined. 1.52 + 1.53 +bits 1.54 + The number of bits in the CPU this build targets. 1.55 + 1.56 + Values are typically ``32`` or ``64``. 1.57 + 1.58 + Universal Mac builds do not have this key defined. 1.59 + 1.60 + Unkown processor architectures (see ``processor`` below) may not have 1.61 + this key defined. 1.62 + 1.63 + Optional. 1.64 + 1.65 +buildapp 1.66 + The path to the XUL application being built. 1.67 + 1.68 + For desktop Firefox, this is ``browser``. For Fennec, it's 1.69 + ``mobile/android``. For B2G, it's ``b2g``. 1.70 + 1.71 +crashreporter 1.72 + Whether the crash reporter is enabled for this build. 1.73 + 1.74 + Values are ``true`` and ``false``. 1.75 + 1.76 + Always defined. 1.77 + 1.78 +datareporting 1.79 + Whether data reporting (MOZ_DATA_REPORTING) is enabled for this build. 1.80 + 1.81 + Values are ``true`` and ``false``. 1.82 + 1.83 + Always defined. 1.84 + 1.85 +debug 1.86 + Whether this is a debug build. 1.87 + 1.88 + Values are ``true`` and ``false``. 1.89 + 1.90 + Always defined. 1.91 + 1.92 +healthreport 1.93 + Whether the Health Report feature is enabled. 1.94 + 1.95 + Values are ``true`` and ``false``. 1.96 + 1.97 + Always defined. 1.98 + 1.99 +mozconfig 1.100 + The path of the :ref:`mozconfig file <mozconfig>` used to produce this build. 1.101 + 1.102 + Optional. 1.103 + 1.104 +os 1.105 + The operating system the build is produced for. Values for tier-1 1.106 + supported platforms are ``linux``, ``win``, ``mac``, ``b2g``, and 1.107 + ``android``. For other platforms, the value is the lowercase version 1.108 + of the ``OS_TARGET`` variable from ``config.status``. 1.109 + 1.110 + Always defined. 1.111 + 1.112 +processor 1.113 + Information about the processor architecture this build targets. 1.114 + 1.115 + Values come from ``TARGET_CPU``, however some massaging may be 1.116 + performed. 1.117 + 1.118 + If the build is a universal build on Mac (it targets both 32-bit and 1.119 + 64-bit), the value is ``universal-x86-x86_64``. 1.120 + 1.121 + If the value starts with ``arm``, the value is ``arm``. 1.122 + 1.123 + If the value starts with a string of the form ``i[3-9]86]``, the 1.124 + value is ``x86``. 1.125 + 1.126 + Always defined. 1.127 + 1.128 +tests_enabled 1.129 + Whether tests are enabled for this build. 1.130 + 1.131 + Values are ``true`` and ``false``. 1.132 + 1.133 + Always defined. 1.134 + 1.135 +toolkit 1.136 + The widget toolkit in case. The value comes from the 1.137 + ``MOZ_WIDGET_TOOLKIT`` ``config.status`` variable. 1.138 + 1.139 + Always defined. 1.140 + 1.141 +topsrcdir 1.142 + The path to the source directory the build came from. 1.143 + 1.144 + Always defined. 1.145 + 1.146 +wave 1.147 + Whether Wave audio support is enabled. 1.148 + 1.149 + Values are ``true`` and ``false``. 1.150 + 1.151 + Always defined. 1.152 + 1.153 +webm 1.154 + Whether WebM support is enabled. 1.155 + 1.156 + Values are ``true`` and ``false``. 1.157 + 1.158 + Always defined.