no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / build / docs / supported-configurations.rst
blob4d6bbb1f79319ed37c397b60dbfd7d240e2506e4
1 Supported Build Hosts and Targets
2 =================================
4  ..  role:: strikethrough
6 There are three tiers of supported Firefox build hosts and targets.
7 These tiers represent the shared engineering priorities of the Mozilla project.
9 The "build host" is the machine that is performing the build of Firefox, and
10 the "build target" is the machine that will run the built Firefox application.
11 For example, if you were building Firefox for Android on your Linux computer, then the
12 Linux computer would be the "build host".
14 .. note::
16    Sheriffs are in charge of monitoring the tree. Their definition for tiers
17    is for automation jobs, which tells a developer what is expected of them when
18    they land code. This document is about the tiers of supported build hosts and targets,
19    which tells a person compiling/using Firefox what they can expect from Mozilla.
20    See the `job tier definition <https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy#Overview_of_the_Job_Visibility_Tiers>`__ for more information.
23 .. _build_hosts:
25 Supported Build Hosts
26 ---------------------
28 While we want to help users resolve build-related issues on their systems, we
29 are unable to help resolve build system issues on all possible operating
30 systems and versions.
32 .. _tier_1_hosts:
34 Tier-1 Hosts and Toolchains
35 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
37 Support is available for the following **host operating systems** and versions
38 when building for a :ref:`Tier-1 Firefox build target<tier_1_targets>`, including
39 cross-compilation where available:
41 * Ubuntu Linux x86_64
42     * Current stable release
43     * Previous stable release
44     * Current LTS release
45 * Debian Linux x86_64
46     * Current stable release
47     * Current testing release
48 * Fedora Linux x86_64
49     * Current stable release
50     * Previous stable release
51 * macOS Intel and M1
52     * Current major macOS release
53     * Previous major macOS release
54 * Windows x86_64
55     * Windows 10 with MozillaBuild Environment
56     * Windows 11 with MozillaBuild Environment
58 Tier-2 Hosts and Toolchains
59 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
61 In addition to the limitations outlined above in the Tier-1 list, our ability
62 to provide assistance with build issues using/targeting Tier-2
63 hosts/targets/compilers is not unbounded.
65 While we will endeavour to make a best effort to help resolve issues, you may
66 be referred to the relevant community maintainers for further support.
68 The Tier-2 hosts are:
70 * Other Linux x86_64 distributions and/or versions
71 * Older macOS versions
72 * Older Windows x86_64 versions
74 Tier-3 Hosts and Toolchains
75 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
77 We cannot provide any guarantees of assistance in resolving build issues using
78 or targeting Tier-3 platforms.
81 Supported Build Targets
82 -----------------------
84 .. _tier_1_targets:
86 Tier-1 Targets
87 ^^^^^^^^^^^^^^
89 The term **"Tier-1 platform"** refers to those platforms - CPU
90 architectures and operating systems - that are the primary focus of
91 Firefox development efforts. Tier-1 platforms are fully supported by
92 Mozilla's `continuous integration processes <https://treeherder.mozilla.org/>`__ and the
93 :ref:`Pushing to Try`. Any proposed change to Firefox on these
94 platforms that results in build failures, test failures, performance
95 regressions or other major problems **will be reverted immediately**.
98 The **Tier-1 Firefox platforms** and their supported compilers are:
100 -  Android on Linux x86, x86-64, ARMv7 and ARMv8-A (clang)
101 -  Linux/x86 and x86-64 (gcc and clang)
102 -  macOS 10.15 and later on x86-64 and AArch64 (clang)
103 -  Windows/x86, x86-64 and AArch64 (clang-cl)
105 Prior to Firefox 63, Windows/x86 and Windows/x86-64 relied on the MSVC
106 compiler; from **Firefox 63 onward MSVC is not supported**. Older 32-bit
107 x86 CPUs without SSE2 instructions such as the Pentium III and Athlon XP
108 are also **not considered Tier-1 platforms, and are not supported**.
109 Note also that while Windows/x86 and ARM/AArch64 are supported *as build
110 targets*, it is not possible to build Firefox *on* Windows/x86 or
111 Windows/AArch64 systems.
113 Tier-2 Targets
114 ^^^^^^^^^^^^^^
116 **Tier-2 platforms** are actively maintained by the Mozilla community,
117 though with less rigorous requirements. Proposed changes resulting in
118 breakage or regressions limited to these platforms **may not immediately
119 result in reversion**. However, developers who break these platforms are
120 expected to work with platform maintainers to fix problems, and **may be
121 required to revert their changes** if a fix cannot be found.
123 The **Tier-2 Firefox platforms** and their supported compilers are:
125 -  Linux/AArch64 (clang)
126 -  Windows/x86 (mingw-clang) - maintained by Tom Ritter and Jacek Caban
127    -
129    -  *Note that some features of this platform are disabled, as they
130       require MS COM or the w32api project doesn't expose the necessary
131       Windows APIs.*
133 Tier-3 Targets
134 ^^^^^^^^^^^^^^
136 **Tier-3 platforms** have a maintainer or community which attempt to
137 keep the platform working. These platforms are **not supported by our
138 continuous integration processes**, and **Mozilla does not routinely
139 test on these platforms**, nor do we block further development on the
140 outcomes of those tests.
142 At any given time a Firefox built from mozilla-central for these
143 platforms may or may not work correctly or build at all.
145 **Tier-3 Firefox platforms** include:
147 -  Linux on various CPU architectures including ARM variants not listed
148    above, PowerPC, and x86 CPUs without SSE2 support - maintained by
149    various Linux distributions
150 -  FreeBSD/x86, x86-64, Aarch64 (clang) - `maintained by gecko@FreeBSD.org <https://www.freshports.org/www/firefox/>`__
151 -  OpenBSD/x86, x86-64 (clang) - maintained by Landry Breuil
152 -  NetBSD/x86-64 (gcc) - maintained by David Laight
153 -  Solaris/x86-64, sparc64 (gcc) - maintained by Petr Sumbera
154 -  :strikethrough:`Windows/x86-64 (mingw-gcc)` - Unsupported due to
155    requirements for clang-bindgen
157 If you're filing a bug against Firefox on a Tier-3 platform (or any
158 combination of OS, CPU and compiler not listed above) please bear in
159 mind that Mozilla developers do not reliably have access to non-Tier-1
160 platforms or build environments. To be actionable bug reports against
161 non-Tier-1 platforms should include as much information as possible to
162 help the owner of the bug determine the cause of the problem and the
163 proper solution. If you can provide a patch, a regression range or
164 assist in verifying that the developer's patches work for your platform,
165 that would help a lot towards getting your bugs fixed and checked into
166 the tree.