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

Building on Windows

trickypr edited this page Jul 11, 2022 · 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:

npm install --global yarn
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

Building and linking Gluon

We have a custom build tool for building Firefox forks called Gluon. Whilst it is available on NPM, we use a bleeding edge version, so we have to build it before using it:

yarn
yarn setupLink:win

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.

yarn 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:

yarn imp

Note We use yarn imp instead of yarn import to avoid conflicts with internal yarn commands

Building

Now for the long part, we need to build Firefox. You can do this by running the following command:

yarn 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 yarn build:ui (only available in some circumstances).

Starting the browser

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

yarn start

Packaging

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

yarn package
Clone this wiki locally