... | @@ -50,64 +50,7 @@ This section is mostly of interest to developers making changes to Tor Browser o |
... | @@ -50,64 +50,7 @@ This section is mostly of interest to developers making changes to Tor Browser o |
|
|
|
|
|
### Building Just Firefox
|
|
### Building Just Firefox
|
|
|
|
|
|
If you want to just develop on the browser without messing with rbm (for example, to have incremental rebuilds of just the files you modify), the best way is to build a new browser distribution and copy the result over an existing Tor Browser directory.
|
|
See [the newer wiki page](https://gitlab.torproject.org/tpo/applications/team/-/wikis/Development-Information/Tor-Browser/dev-Build).
|
|
|
|
|
|
Clone the [Tor Browser repo](https://gitlab.torproject.org/tpo/applications/tor-browser):
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone https://gitlab.torproject.org/tpo/applications/tor-browser.git
|
|
|
|
cd tor-browser
|
|
|
|
```
|
|
|
|
|
|
|
|
To build it on a Linux x86_64 machine, from the top directory of the `tor-browser` repo, do:
|
|
|
|
|
|
|
|
1. Install the required dependencies:
|
|
|
|
- [Common dependencies](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/43033abc8a89da9012c385dbb415ce1c971d6959/projects/firefox/config#L16)
|
|
|
|
- [Linux x86_64 Dependencies](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/43033abc8a89da9012c385dbb415ce1c971d6959/projects/firefox/config#L61)
|
|
|
|
|
|
|
|
```
|
|
|
|
# Include the source of tor-launcher to the browser/extensions repository.
|
|
|
|
git clone https://gitlab.torproject.org/tpo/applications/tor-launcher.git
|
|
|
|
mv tor-launcher browser/extensions/
|
|
|
|
|
|
|
|
# Clone/checkout the torbutton submodule
|
|
|
|
git submodule update --init
|
|
|
|
|
|
|
|
# Link relevant mozconfig to supply required config/build variables
|
|
|
|
ln -sf mozconfig-linux-x86_64-dev mozconfig
|
|
|
|
|
|
|
|
|
|
|
|
# Optionally run bootstrap to try and have mozilla's build system mach help you fetch dependancies
|
|
|
|
# First option is fine (Firefox for Desktop Artifact Mode [default]). let it install dependancies for you
|
|
|
|
# DO NOT let "configuration Git optimally" as it more often seems to break it.
|
|
|
|
# you can safely answer "No" to "Will you be submitting commits to Mozilla?"
|
|
|
|
|
|
|
|
./mach bootstrap
|
|
|
|
|
|
|
|
# Switch to tools/torbrowser dir to access config/build scripts
|
|
|
|
cd tools/torbrowser
|
|
|
|
|
|
|
|
# configure project
|
|
|
|
make config
|
|
|
|
|
|
|
|
# And... compile and package:
|
|
|
|
make build
|
|
|
|
|
|
|
|
# Fetch an existing copy of tor browser to install our changes over (only needs to be run once, not every rebuild)
|
|
|
|
# fetch installs into the root of the project into .binaries/dev
|
|
|
|
make fetch
|
|
|
|
|
|
|
|
# Deploy new build on top of downloaded tor-browser and assets
|
|
|
|
make deploy
|
|
|
|
|
|
|
|
#If that completes successfully, then your fresh build of Firefox should exist at `.binaries/dev/Browser/start-tor-browser` from the project root. Run it with
|
|
|
|
make run
|
|
|
|
|
|
|
|
# Some IDEs need a little help parsing firefox codebase, to assist them the following commands are available. They should generate extra settings your IDE will absord and afterwards be able to parse the codebase better
|
|
|
|
make ide-vscode
|
|
|
|
make ide-eclipse
|
|
|
|
make ide-visualstudio
|
|
|
|
```
|
|
|
|
|
|
|
|
### Modifying Tor Launcher or Torbutton
|
|
### Modifying Tor Launcher or Torbutton
|
|
|
|
|
... | | ... | |