Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Building on Windows

trickypr edited this page Jun 28, 2023 · 3 revisions

Installing Dependencies

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

Cloning the source code

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

Setting up

Make sure you have pnpm installed. Then run:

pnpm i

Downloading the Firefox source code

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.

Importing changes

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 of pnp, import to avoid conflicts with internal commands

Building

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).

Starting the browser

You can start the browser after a build using the following command:

pnpm start

Packaging

You can package the browser for release by running the following command:

pnpm package