tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

supported-configurations.rst (6471B)


      1 Supported Build Hosts and Targets
      2 =================================
      3 
      4 ..  role:: strikethrough
      5 
      6 There are three tiers of supported Firefox build hosts and targets.
      7 These tiers represent the shared engineering priorities of the Mozilla project.
      8 
      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".
     13 
     14 .. note::
     15 
     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.
     21 
     22 
     23 .. _build_hosts:
     24 
     25 Supported Build Hosts
     26 ---------------------
     27 
     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.
     31 
     32 .. _tier_1_hosts:
     33 
     34 Tier-1 Hosts and Toolchains
     35 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     36 
     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:
     40 
     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
     57 
     58 Tier-2 Hosts and Toolchains
     59 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     60 
     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.
     64 
     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.
     67 
     68 The Tier-2 hosts are:
     69 
     70 * Other Linux x86_64 distributions and/or versions
     71 * Older macOS versions
     72 * Older Windows x86_64 versions
     73 
     74 Tier-3 Hosts and Toolchains
     75 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     76 
     77 We cannot provide any guarantees of assistance in resolving build issues using
     78 or targeting Tier-3 platforms.
     79 
     80 
     81 Supported Build Targets
     82 -----------------------
     83 
     84 .. _tier_1_targets:
     85 
     86 Tier-1 Targets
     87 ^^^^^^^^^^^^^^
     88 
     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**.
     96 
     97 
     98 The **Tier-1 Firefox platforms** and their supported compilers are:
     99 
    100 -  Android on Linux x86-64, ARMv7 and ARMv8-A (clang)
    101 -  Linux x86-64 (gcc and clang), Linux/AArch64 (clang)
    102 -  macOS 10.15 and later on x86-64 and AArch64 (clang)
    103 -  Windows/x86, x86-64 and AArch64 (clang-cl)
    104 
    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.
    112 
    113 Tier-2 Targets
    114 ^^^^^^^^^^^^^^
    115 
    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.
    122 
    123 The **Tier-2 Firefox platforms** and their supported compilers are:
    124 
    125 -  Windows/x86 (mingw-clang) - maintained by Tom Ritter and Jacek Caban
    126   -
    127 
    128   -  *Note that some features of this platform are disabled, as they
    129      require MS COM or the w32api project doesn't expose the necessary
    130      Windows APIs.*
    131 
    132 Tier-3 Targets
    133 ^^^^^^^^^^^^^^
    134 
    135 **Tier-3 platforms** have a maintainer or community which attempt to
    136 keep the platform working. These platforms are **not supported by our
    137 continuous integration processes**, and **Mozilla does not routinely
    138 test on these platforms**, nor do we block further development on the
    139 outcomes of those tests.
    140 
    141 At any given time a Firefox built from mozilla-central for these
    142 platforms may or may not work correctly or build at all.
    143 
    144 **Tier-3 Firefox platforms** include:
    145 
    146 -  Linux on various CPU architectures including ARM variants not listed
    147   above, PowerPC, and x86 CPUs - maintained by various Linux distributions
    148 -  FreeBSD/x86, x86-64, Aarch64 (clang) - `maintained by gecko@FreeBSD.org <https://www.freshports.org/www/firefox/>`__
    149 -  OpenBSD/x86, x86-64 (clang) - maintained by Landry Breuil
    150 -  NetBSD/x86-64 (gcc) - maintained by David Laight
    151 -  Solaris/x86-64, sparc64 (gcc) - maintained by Petr Sumbera
    152 -  :strikethrough:`Windows/x86-64 (mingw-gcc)` - Unsupported due to
    153   requirements for clang-bindgen
    154 
    155 If you're filing a bug against Firefox on a Tier-3 platform (or any
    156 combination of OS, CPU and compiler not listed above) please bear in
    157 mind that Mozilla developers do not reliably have access to non-Tier-1
    158 platforms or build environments. To be actionable bug reports against
    159 non-Tier-1 platforms should include as much information as possible to
    160 help the owner of the bug determine the cause of the problem and the
    161 proper solution. If you can provide a patch, a regression range or
    162 assist in verifying that the developer's patches work for your platform,
    163 that would help a lot towards getting your bugs fixed and checked into
    164 the tree.