Compiling Firefox - SVF-tools/SVF GitHub Wiki
1 Install prerequisites (autoconf2.13 is required)
$ sudo apt-get install rustc cargo autoconf2.13 libgtk-3-dev libgconf2-dev libdbus-glib-1-dev libpulse-dev yasm
2 Get the source code of Firefox (e.g., version 58.0b9)
$ wget https://archive.mozilla.org/pub/firefox/releases/58.0b9/source/firefox-58.0b9.source.tar.xz
$ tar xvf firefox-58.0b9.source.tar.xz
3 Configure build options
3.1 Create a config file (mozconfig) under the root directory of the src tree
$ cd firefox-58.0b9
$ touch mozconfig
3.2 Edit config options
Add the following options into the config file (mozconfig)
mk_add_options MOZ_OBJDIR=$topsrcdir/obj-clang
mk_add_options MOZ_MAKE_FLAGS="-j8"
ac_add_options --enable-application=browser
ac_add_options CC=PATH_TO_CLANG
ac_add_options CXX=PATH_TO_CLANG++
4 Build Firefox
$ ./mach build