-
-
Notifications
You must be signed in to change notification settings - Fork 47
Building on Windows
The first thing you will need to do is install Microsoft's c++ build tools. You will need to download Build Tools for Visual Studio 2022. The following will need to be need installed:
-
In the Workloads tab
- Desktop development with C++
-
In the Individual components tab
- Windows 10 SDK (at least 10.0.19041.0).
- C++ ATL for v143 build tools (x86 and x64).
You will need to install MozillaBuild. This provides a number of unix tools including a terminal similar to bash which can be initialized by C:\mozilla-build\start-shell.bat
.
Next, install Git. You will need to set the following specific options on install to ensure high performance:
- Configuring the line ending conversions must be: Checkout as-is, commit as-is
- Enable experimental built-in file system monitor
Install NodeJS on your system. This should also install chocolatey. If it does not, install it manually. To install the final two dependancies, run:
iwr https://get.pnpm.io/install.ps1 -useb | iex
choco install make
You will need to clone the source code recursively to download the sub-modules this project depends upon.
git clone --recursive https://github.com/pulse-browser/browser
cd browser
Make sure you have pnpm installed. Then run:
pnpm i
The next step is to download the Firefox source code and any addons that we might chose to bundle with the browser.
pnpm download
This will take around 5 minutes if you have a decent internet connection and processor.
Right now, we just have a vanilla version of Firefox. To make it Pulse, we need to apply a number of custom changes. To do this run:
pnpm imp
Note We use
pnpm imp
instead ofpnp, import
to avoid conflicts with internal commands
Now for the long part, we need to build Firefox. You can do this by running the following command:
pnpm build
Note This takes ~50 minutes for the first build on our developers computers. This will drop down to between 2 and 5 minutes after the first build or ~30 seconds when using
pnpm build:ui
(only available in some circumstances).
You can start the browser after a build using the following command:
pnpm start
You can package the browser for release by running the following command:
pnpm package