Firefox is the fast, lightweight, privacy-focused browser that works across all your devices.
Firefox 115 is the last version to support Windows 7. This repository includes patches that enable Firefox to run on Windows 7 beyond the official end-of-support date, allowing users to continue using the latest features and improvements from Firefox.
Firefox is a Trademark of The Mozilla Foundation.
Windows 7, 8, 10, 11 or Windows Vista with Service Pack 2 (SP2) and Platform Update.
-
Bootstrap a copy of the Firefox source code
git clone https://github.com/mozilla/gecko-dev.git
This repository contains patches for specific versions of Firefox, stored in directories named
<DATE>.<commit_id>
. Here,commit_id
is the commit ID of Firefox, andDATE
is purely for File Explorer.cd gecko-dev git checkout <commit_id> ./mach bootstrap
-
Building Rust on Windows MSVC
To ensure that
rustc
always generates programs compatible with Windows 7, Rust needs to be patched. This repository contains files namedRust<rust_version>win7.diff
for this purpose, whererust_version
is the version of Rust used to build Firefox, as specified here.-
Clone the source with
git
git clone https://github.com/rust-lang/rust.git cd rust git checkout <rust_version>
-
Apply patch
git apply --verbose --ignore-space-change Rust<rust_version>win7.diff
-
If you want to support Windows Vista, you also need to apply Rust<rust_version>vista.diff:
git apply --verbose --ignore-space-change Rust<rust_version>vista.diff
-
Build
python x.py build --target i686-pc-windows-msvc,x86_64-pc-windows-msvc python x.py build library --target i686-pc-windows-msvc,x86_64-pc-windows-msvc
-
-
Compiling Cargo from Source
-
Clone the source with
git
git clone https://github.com/rust-lang/cargo.git cd cargo
-
With
cargo
already installed by ./mach bootstrap, you can simply run:cargo build --release
-
-
Apply patches
Navigate to the
<DATE>.<commit_id>
directory, modify theREPO_PATH
variable inapply_patches.bat
to the path of the Firefox source, and then double-click it to apply the patches. -
Build Firefox
-
Add our custom-built
rustc.exe
andcargo.exe
to your PATH, delete or rename%USERPROFILE%\.rustup
and%USERPROFILE%\.cargo
, and remove any other instances ofrustc.exe
andcargo.exe
from your PATH. -
mozconfig for i686-pc-windows-msvc:
ac_add_options MOZ_TELEMETRY_REPORTING=1 ac_add_options --with-redist=<CRT_LOCATION> export WIN_UCRT_REDIST_DIR=<UCRT_LOCATION> ac_add_options --disable-sandbox ac_add_options --target=i686-pc-windows-msvc ac_add_options --enable-optimize ac_add_options --disable-tests ac_add_options MOZ_PGO=1 ac_add_options --enable-clang-plugin export MOZ_LTO=cross ac_add_options --enable-js-shell ac_add_options --enable-rust-simd
-
mozconfig for x86_64-pc-windows-msvc:
ac_add_options MOZ_TELEMETRY_REPORTING=1 ac_add_options --with-redist=<CRT_LOCATION> export WIN_UCRT_REDIST_DIR=<UCRT_LOCATION> ac_add_options --target=x86_64-pc-windows-msvc ac_add_options --enable-optimize ac_add_options --disable-tests ac_add_options MOZ_PGO=1 ac_add_options --enable-clang-plugin export MOZ_LTO=cross ac_add_options --enable-js-shell ac_add_options --enable-rust-simd
-
./mach build ./mach package ./mach build installers-$AB_CD
-