Supported Build Hosts and Targets¶
There are three tiers of supported Firefox build hosts and targets. These tiers represent the shared engineering priorities of the Mozilla project.
The “build host” is the machine that is performing the build of Firefox, and the “build target” is the machine that will run the built Firefox application. For example, if you were building Firefox for Android on your Linux computer, then the Linux computer would be the “build host”.
Note
Sheriffs are in charge of monitoring the tree. Their definition for tiers is for automation jobs, which tells a developer what is expected of them when they land code. This document is about the tiers of supported build hosts and targets, which tells a person compiling/using Firefox what they can expect from Mozilla. See the job tier definition for more information.
Supported Build Hosts¶
While we want to help users resolve build-related issues on their systems, we are unable to help resolve build system issues on all possible operating systems and versions.
Tier-1 Hosts and Toolchains¶
Support is available for the following host operating systems and versions when building for a Tier-1 Firefox build target, including cross-compilation where available:
- Ubuntu Linux x86_64
Current stable release
Previous stable release
Current LTS release
- Debian Linux x86_64
Current stable release
Current testing release
- Fedora Linux x86_64
Current stable release
Previous stable release
- macOS Intel and M1
Current release
Previous release
- Windows x86_64
Windows 10 with MozillaBuild Environment
Windows 11 with MozillaBuild Environment
Tier-2 Hosts and Toolchains¶
In addition to the limitations outlined above in the Tier-1 list, our ability to provide assistance with build issues using/targeting Tier-2 hosts/targets/compilers is not unbounded.
While we will endeavour to make a best effort to help resolve issues, you may be referred to the relevant community maintainers for further support.
The Tier-2 hosts are:
Other Linux x86_64 distributions and/or versions
Older macOS versions
Older Windows x86_64 versions
Tier-3 Hosts and Toolchains¶
We cannot provide any guarantees of assistance in resolving build issues using or targeting Tier-3 platforms.
Supported Build Targets¶
Tier-1 Targets¶
The term “Tier-1 platform” refers to those platforms - CPU architectures and operating systems - that are the primary focus of Firefox development efforts. Tier-1 platforms are fully supported by Mozilla’s continuous integration processes and the Pushing to Try. Any proposed change to Firefox on these platforms that results in build failures, test failures, performance regressions or other major problems will be reverted immediately.
The Tier-1 Firefox platforms and their supported compilers are:
Android on Linux x86, x86-64, ARMv7 and ARMv8-A (clang)
Linux/x86 and x86-64 (gcc and clang)
macOS 10.12 and later on x86-64 and AArch64 (clang)
Windows/x86, x86-64 and AArch64 (clang-cl)
Prior to Firefox 63, Windows/x86 and Windows/x86-64 relied on the MSVC compiler; from Firefox 63 onward MSVC is not supported. Older 32-bit x86 CPUs without SSE2 instructions such as the Pentium III and Athlon XP are also not considered Tier-1 platforms, and are not supported. Note also that while Windows/x86 and ARM/AArch64 are supported as build targets, it is not possible to build Firefox on Windows/x86 or Windows/AArch64 systems.
Tier-2 Targets¶
Tier-2 platforms are actively maintained by the Mozilla community, though with less rigorous requirements. Proposed changes resulting in breakage or regressions limited to these platforms may not immediately result in reversion. However, developers who break these platforms are expected to work with platform maintainers to fix problems, and may be required to revert their changes if a fix cannot be found.
The Tier-2 Firefox platforms and their supported compilers are:
Linux/AArch64 (clang)
Windows/x86 (mingw-clang) - maintained by Tom Ritter and Jacek Caban -
Note that some features of this platform are disabled, as they require MS COM or the w32api project doesn’t expose the necessary Windows APIs.
Tier-3 Targets¶
Tier-3 platforms have a maintainer or community which attempt to keep the platform working. These platforms are not supported by our continuous integration processes, and Mozilla does not routinely test on these platforms, nor do we block further development on the outcomes of those tests.
At any given time a Firefox built from mozilla-central for these platforms may or may not work correctly or build at all.
Tier-3 Firefox platforms include:
Linux on various CPU architectures including ARM variants not listed above, PowerPC, and x86 CPUs without SSE2 support - maintained by various Linux distributions
FreeBSD/x86, x86-64, Aarch64 (clang) - maintained by Jan Beich
OpenBSD/x86, x86-64 (clang) - maintained by Landry Breuil
NetBSD/x86-64 (gcc) - maintained by David Laight
Solaris/x86-64, sparc64 (gcc) - maintained by Petr Sumbera
Windows/x86-64 (mingw-gcc) - Unsupported due to requirements for clang-bindgen
If you’re filing a bug against Firefox on a Tier-3 platform (or any combination of OS, CPU and compiler not listed above) please bear in mind that Mozilla developers do not reliably have access to non-Tier-1 platforms or build environments. To be actionable bug reports against non-Tier-1 platforms should include as much information as possible to help the owner of the bug determine the cause of the problem and the proper solution. If you can provide a patch, a regression range or assist in verifying that the developer’s patches work for your platform, that would help a lot towards getting your bugs fixed and checked into the tree.