surfer/docs/content/getting-started/windows.md
2022-04-10 18:21:44 +10:00

2.5 KiB

+++ title = "Windows" weight = 10 +++

Working with windows

Building Firefox Forks are nowhere near as easy on Windows as it is on Linux or Macos. This guide will walk you through the basics of setting up on Windows.

There are some important notes for before you get started. Firstly, it is recommenced that you have at least 4GB of ram, preferably more than 8GB. You will need more than 40GB of space on your storage device and Windows 10 and 11 are the only two tier-1 windows hosts.

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

Setting up an existing repo

Next, you should clone down your repo. From here, install all of the necessary dependencies with yarn.

yarn

Next, download the firefox source code for Firefox to engine. Note that on windows this can take between 20 - 30 minutes, most of the time being spent with initialize.

gluon download

From here, you will need to use mach to bootstrap your system.

cd engine
.\mach boostrap

Now you are ready to import, build and run your browser.

gluon import
gluon build
gluon run

Exporting changes will work as per usual.