A somewhat decent CPU. You don't need the most powerful thing ever, it'll just take longer on a slower chip. I've built on systems as far down as a 45w Ivy Bridge i7 without issue. There also seems to be a cap as to how many cores or maybe just how fast it will build in. 8c16t of Ryzen 5000 builds in ~30m without PGO, and 16c32t also builds in ~30m without PGO.
You'll want at least 16GB of RAM, and for 16GB you'll want a 8GB page file for modern versions. I think 128 ESR is fine with a 4GB page file. Maybe you could get away with less RAM and a bigger page file, but depending on the storage would mean a slower build.
You'll want to build on a SSD. NVMe is probably faster than SATA, but I haven't benchmarked the two directly.
Last I checked it is possible to compile on Windows 8.1, but I build inside a VM running Windows X-Lite Micro 10 SE. It's not possible to build on 7 afaik. With X-Lite you can make do with a 52 or 54GB drive size.
Software Prerequisites:
Install Git or GitHub Desktop (I use this GitHub Desktop even on 10 as it's portable and doesn't update, this will come up later.)
Clone r3dfox source to your system. You will want to use Git/GitHub Desktop for this or else it may not work. (This will be the most time consuming part, so it's best to start it as soon as possible)
Install MozillaBuild
Download and extract eRust somewhere. For example, I do C:\eRust-(version)
If you want to compile the latest versions, use eRust 1.85.1 for 137+. For 136 and earlier 1.85.1 may still work, but these were officially built with 1.77.2.
The Setup:
Add Git to your path. (./mach bootstrap will complain and won't work for whatever reason if you don't do this)
If you use GitHub Desktop it may be better to manually install git, as GitHub Desktop will automatically update and delete it's old copy of git. If you use a fork that doesn't auto update, it works with the included git.
The Git installer should automatically add Git to the path, however if not, here's how to do it. Right click This PC, Properties, Advanced system settings, Environment Variables, double click the Path User variable (should be the first one and highlighted by default), click new, and paste in the git path.
(For older Windows versions, you will only see a basic text box. In this case, add ; to the end if it's not already there, and paste the Git directory after it.)
For normal Git, it's C:\Program Files\Git\cmd
For GitHub Desktop, it's (GitHub Desktop directory)\resources\app\git\cmd
Click OK on both windows and close out of them all.
Run MozillaBuild
Code: Select all
C:\mozilla-build\start-shell.bat
Make sure git works by typing git. If it doesn't work, double check the Path, and try rebooting.
cd to the r3dfox source code you downloaded. MozillaBuild uses the Unix style forward slashes instead of Windows style backslashes, so you will need to type it with forward slashes. You can also drag the folder onto the terminal and it will fill in with a working path.
Now to get the system ready to build, you will want to bootstrap here.
Code: Select all
./mach --no-interactive bootstrap --application browser
When finished it will want you to restart the shell to build. It might be best to also restart here too. So close it and/or restart, reopen start-shell.bat, and cd to the r3dfox directory again.
Now you'll want to install or link the eRust toolchain. Currently it's 1.85.1 so I use this command below to link it.
Code: Select all
rustup toolchain link eRust-1.85.1 C:/eRust-1.85.1
Code: Select all
rustup default eRust-1.85.1
rustup override set eRust-1.85.1
Code: Select all
rustup install 1.85.1
rustup toolchain remove stable
rustup override set 1.85.1
./mach --no-interactive bootstrap --application browser
rustup override set eRust-1.85.1
Now you're ready to build r3dfox.
Building:
To build the x64 release, run these commands.
Code: Select all
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x64 ./mach build
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x64 ./mach package
Code: Select all
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x86 ./mach build
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x86 ./mach package
This will build r3dfox with the official branding, if you just want it for personal use this is fine. Please don't distribute custom builds with official r3dfox branding. To build with unofficial branding, remove the entire branding block from the mozconfig.
Code: Select all
# Please do not redistribute this build with official branding if you are not part of Eclipse Community.
ac_add_options --with-app-name=r3dfox
ac_add_options --with-app-basename=r3dfox
# For ESR enable the below and disable the above
#ac_add_options --with-branding=browser/branding/esr
#ac_add_options --with-app-name=r3dfox_esr
#ac_add_options --with-app-basename="r3dfox ESR"
# For potential nightly experimentation enable the below and disable the above.
#ac_add_options --with-branding=browser/branding/nightly
#ac_add_options --with-app-name=plasmafox
#ac_add_options --with-app-basename=Plasmafox
ac_add_options --enable-official-branding
Code: Select all
export MOZ_PGO=1
ac_add_options MOZ_PGO=1
Code: Select all
rustup override set 1.85.1
./mach --no-interactive bootstrap --application browser
rustup override set eRust-1.85.1
x64 clobber:
Code: Select all
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x64 ./mach clobber
Code: Select all
MOZCONFIG=(r3dfox source directory)/mozconfigs/mozconfig-win-x86 ./mach clobber