summaryrefslogtreecommitdiffstats
path: root/browser/config
diff options
context:
space:
mode:
Diffstat (limited to 'browser/config')
-rw-r--r--browser/config/mozconfig9
-rw-r--r--browser/config/mozconfigs/common7
-rw-r--r--browser/config/mozconfigs/linux32/artifact10
-rw-r--r--browser/config/mozconfigs/linux32/beta15
-rw-r--r--browser/config/mozconfigs/linux32/common-opt15
-rw-r--r--browser/config/mozconfigs/linux32/debug24
-rw-r--r--browser/config/mozconfigs/linux32/debug-artifact12
-rw-r--r--browser/config/mozconfigs/linux32/debug-asan23
-rw-r--r--browser/config/mozconfigs/linux32/l10n-mozconfig20
-rw-r--r--browser/config/mozconfigs/linux32/nightly15
-rw-r--r--browser/config/mozconfigs/linux32/nightly-asan22
-rw-r--r--browser/config/mozconfigs/linux32/release22
-rw-r--r--browser/config/mozconfigs/linux32/valgrind9
-rw-r--r--browser/config/mozconfigs/linux64/add-on-devel9
-rw-r--r--browser/config/mozconfigs/linux64/artifact10
-rw-r--r--browser/config/mozconfigs/linux64/beta15
-rw-r--r--browser/config/mozconfigs/linux64/code-coverage13
-rw-r--r--browser/config/mozconfigs/linux64/common-opt15
-rw-r--r--browser/config/mozconfigs/linux64/debug22
-rw-r--r--browser/config/mozconfigs/linux64/debug-artifact13
-rw-r--r--browser/config/mozconfigs/linux64/debug-asan23
-rw-r--r--browser/config/mozconfigs/linux64/debug-static-analysis-clang23
-rw-r--r--browser/config/mozconfigs/linux64/hazards35
-rw-r--r--browser/config/mozconfigs/linux64/l10n-mozconfig20
-rw-r--r--browser/config/mozconfigs/linux64/nightly15
-rw-r--r--browser/config/mozconfigs/linux64/nightly-asan19
-rw-r--r--browser/config/mozconfigs/linux64/opt-static-analysis-clang22
-rw-r--r--browser/config/mozconfigs/linux64/opt-tsan9
-rw-r--r--browser/config/mozconfigs/linux64/release22
-rw-r--r--browser/config/mozconfigs/linux64/source4
-rw-r--r--browser/config/mozconfigs/linux64/valgrind9
-rw-r--r--browser/config/mozconfigs/macosx-universal/beta15
-rw-r--r--browser/config/mozconfigs/macosx-universal/common-opt18
-rw-r--r--browser/config/mozconfigs/macosx-universal/l10n-mozconfig22
-rw-r--r--browser/config/mozconfigs/macosx-universal/nightly21
-rw-r--r--browser/config/mozconfigs/macosx-universal/release21
-rw-r--r--browser/config/mozconfigs/macosx64/add-on-devel9
-rw-r--r--browser/config/mozconfigs/macosx64/artifact10
-rw-r--r--browser/config/mozconfigs/macosx64/debug24
-rw-r--r--browser/config/mozconfigs/macosx64/debug-artifact12
-rw-r--r--browser/config/mozconfigs/macosx64/debug-asan20
-rw-r--r--browser/config/mozconfigs/macosx64/debug-static-analysis13
-rw-r--r--browser/config/mozconfigs/macosx64/l10n-mozconfig12
-rw-r--r--browser/config/mozconfigs/macosx64/nightly22
-rw-r--r--browser/config/mozconfigs/macosx64/opt-static-analysis16
-rw-r--r--browser/config/mozconfigs/whitelist100
-rw-r--r--browser/config/mozconfigs/win32/add-on-devel9
-rw-r--r--browser/config/mozconfigs/win32/artifact10
-rw-r--r--browser/config/mozconfigs/win32/beta18
-rw-r--r--browser/config/mozconfigs/win32/common-opt26
-rw-r--r--browser/config/mozconfigs/win32/debug27
-rw-r--r--browser/config/mozconfigs/win32/debug-artifact12
-rw-r--r--browser/config/mozconfigs/win32/debug-static-analysis19
-rw-r--r--browser/config/mozconfigs/win32/l10n-mozconfig19
-rw-r--r--browser/config/mozconfigs/win32/nightly12
-rw-r--r--browser/config/mozconfigs/win32/release24
-rw-r--r--browser/config/mozconfigs/win64/add-on-devel9
-rw-r--r--browser/config/mozconfigs/win64/artifact11
-rw-r--r--browser/config/mozconfigs/win64/beta19
-rw-r--r--browser/config/mozconfigs/win64/common-opt24
-rw-r--r--browser/config/mozconfigs/win64/common-win645
-rw-r--r--browser/config/mozconfigs/win64/debug29
-rw-r--r--browser/config/mozconfigs/win64/debug-artifact13
-rw-r--r--browser/config/mozconfigs/win64/l10n-mozconfig20
-rw-r--r--browser/config/mozconfigs/win64/nightly13
-rw-r--r--browser/config/mozconfigs/win64/release25
-rw-r--r--browser/config/tooltool-manifests/linux32/clang.manifest10
-rw-r--r--browser/config/tooltool-manifests/linux32/releng.manifest41
-rw-r--r--browser/config/tooltool-manifests/linux64/asan.manifest26
-rw-r--r--browser/config/tooltool-manifests/linux64/clang.manifest25
-rw-r--r--browser/config/tooltool-manifests/linux64/clang.manifest.centos618
-rw-r--r--browser/config/tooltool-manifests/linux64/hazard.manifest41
-rw-r--r--browser/config/tooltool-manifests/linux64/msan.manifest26
-rw-r--r--browser/config/tooltool-manifests/linux64/releng.manifest41
-rw-r--r--browser/config/tooltool-manifests/linux64/tsan.manifest26
-rw-r--r--browser/config/tooltool-manifests/macosx64/asan.manifest10
-rw-r--r--browser/config/tooltool-manifests/macosx64/clang.manifest25
-rw-r--r--browser/config/tooltool-manifests/macosx64/cross-releng.manifest65
-rw-r--r--browser/config/tooltool-manifests/macosx64/releng.manifest41
-rw-r--r--browser/config/tooltool-manifests/win32/build-clang-cl.manifest63
-rw-r--r--browser/config/tooltool-manifests/win32/clang.manifest31
-rw-r--r--browser/config/tooltool-manifests/win32/l10n.manifest8
-rw-r--r--browser/config/tooltool-manifests/win32/releng.manifest39
-rw-r--r--browser/config/tooltool-manifests/win64/clang.manifest32
-rw-r--r--browser/config/tooltool-manifests/win64/l10n.manifest8
-rw-r--r--browser/config/tooltool-manifests/win64/releng.manifest40
-rw-r--r--browser/config/version.txt1
-rw-r--r--browser/config/version_display.txt1
88 files changed, 1798 insertions, 0 deletions
diff --git a/browser/config/mozconfig b/browser/config/mozconfig
new file mode 100644
index 000000000..ad2e3a4ea
--- /dev/null
+++ b/browser/config/mozconfig
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file specifies the build flags for Firefox. You can use it by adding:
+# . $topsrcdir/browser/config/mozconfig
+# to the top of your mozconfig file.
+
+ac_add_options --enable-application=browser
diff --git a/browser/config/mozconfigs/common b/browser/config/mozconfigs/common
new file mode 100644
index 000000000..febf5622f
--- /dev/null
+++ b/browser/config/mozconfigs/common
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is included by all browser mozconfigs
+
+. "$topsrcdir/build/mozconfig.common"
diff --git a/browser/config/mozconfigs/linux32/artifact b/browser/config/mozconfigs/linux32/artifact
new file mode 100644
index 000000000..29eb8ba1c
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/artifact
@@ -0,0 +1,10 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
diff --git a/browser/config/mozconfigs/linux32/beta b/browser/config/mozconfigs/linux32/beta
new file mode 100644
index 000000000..315c32b84
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/beta
@@ -0,0 +1,15 @@
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+mk_add_options MOZ_PGO=1
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux32/common-opt b/browser/config/mozconfigs/linux32/common-opt
new file mode 100644
index 000000000..3bf3e530e
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/common-opt
@@ -0,0 +1,15 @@
+# This file is sourced by nightly, beta, and release mozconfigs.
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --with-google-api-keyfile=/builds/gapi.data
+ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key
+
+. $topsrcdir/build/unix/mozconfig.linux32
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
diff --git a/browser/config/mozconfigs/linux32/debug b/browser/config/mozconfigs/linux32/debug
new file mode 100644
index 000000000..de97087d2
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/debug
@@ -0,0 +1,24 @@
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-verify-mar
+
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. $topsrcdir/build/unix/mozconfig.linux32
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+#Use ccache
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux32/debug-artifact b/browser/config/mozconfigs/linux32/debug-artifact
new file mode 100644
index 000000000..3fc3faf89
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/debug-artifact
@@ -0,0 +1,12 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/unix/mozconfig.linux32"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
+
+ac_add_options --enable-debug
diff --git a/browser/config/mozconfigs/linux32/debug-asan b/browser/config/mozconfigs/linux32/debug-asan
new file mode 100644
index 000000000..9fc7b9bff
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/debug-asan
@@ -0,0 +1,23 @@
+# Use at least -O1 for optimization to avoid stack space
+# exhaustions caused by Clang function inlining.
+ac_add_options --enable-debug
+ac_add_options --enable-optimize="-O1"
+
+# ASan specific options on Linux
+ac_add_options --enable-valgrind
+
+. $topsrcdir/build/unix/mozconfig.asan
+
+export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=asan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux32/l10n-mozconfig b/browser/config/mozconfigs/linux32/l10n-mozconfig
new file mode 100644
index 000000000..ae7cc933b
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/l10n-mozconfig
@@ -0,0 +1,20 @@
+no_sccache=1
+
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-official-branding
+
+. $topsrcdir/build/unix/mozconfig.linux32
+
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+ac_add_options --disable-stdcxx-compat
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux32/nightly b/browser/config/mozconfigs/linux32/nightly
new file mode 100644
index 000000000..6d605ca7d
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/nightly
@@ -0,0 +1,15 @@
+. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt"
+
+
+ac_add_options --enable-verify-mar
+
+# This will overwrite the default of stripping everything and keep the symbol table.
+# This is useful for profiling and debugging and only increases the package size
+# by 2 MBs.
+STRIP_FLAGS="--strip-debug"
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux32/nightly-asan b/browser/config/mozconfigs/linux32/nightly-asan
new file mode 100644
index 000000000..0930c184f
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/nightly-asan
@@ -0,0 +1,22 @@
+# We still need to build with debug symbols
+ac_add_options --disable-debug
+ac_add_options --enable-optimize="-O2 -g"
+
+# ASan specific options on Linux
+ac_add_options --enable-valgrind
+
+. $topsrcdir/build/unix/mozconfig.asan
+
+export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=asan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux32/release b/browser/config/mozconfigs/linux32/release
new file mode 100644
index 000000000..b17186666
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/release
@@ -0,0 +1,22 @@
+# This make file should be identical to the beta mozconfig, apart from the
+# safeguard below
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+mk_add_options MOZ_PGO=1
+
+# safeguard against someone forgetting to re-set EARLY_BETA_OR_EARLIER in
+# defines.sh during the beta cycle
+export BUILDING_RELEASE=1
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux32/valgrind b/browser/config/mozconfigs/linux32/valgrind
new file mode 100644
index 000000000..c8fb4f574
--- /dev/null
+++ b/browser/config/mozconfigs/linux32/valgrind
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/linux32/nightly
+
+ac_add_options --enable-valgrind
+ac_add_options --disable-jemalloc
+ac_add_options --disable-install-strip
+
+# Include the override mozconfig again (even though the above includes it)
+# since it's supposed to override everything.
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/add-on-devel b/browser/config/mozconfigs/linux64/add-on-devel
new file mode 100644
index 000000000..0a3dfeb3f
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/add-on-devel
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/linux64/nightly
+
+#add-on signing is checked but not enforced
+MOZ_REQUIRE_SIGNING=0
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --enable-update-channel=default
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=add-on-devel
diff --git a/browser/config/mozconfigs/linux64/artifact b/browser/config/mozconfigs/linux64/artifact
new file mode 100644
index 000000000..524a25e69
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/artifact
@@ -0,0 +1,10 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
diff --git a/browser/config/mozconfigs/linux64/beta b/browser/config/mozconfigs/linux64/beta
new file mode 100644
index 000000000..f349ee9f8
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/beta
@@ -0,0 +1,15 @@
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+mk_add_options MOZ_PGO=1
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/code-coverage b/browser/config/mozconfigs/linux64/code-coverage
new file mode 100644
index 000000000..48ffa9b17
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/code-coverage
@@ -0,0 +1,13 @@
+. "$topsrcdir/browser/config/mozconfigs/linux64/nightly"
+
+TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir}
+
+ac_add_options --disable-install-strip
+ac_add_options --disable-jemalloc
+ac_add_options --disable-crashreporter
+ac_add_options --disable-elf-hack
+
+MOZ_CODE_COVERAGE=1
+export CFLAGS="-fprofile-arcs -ftest-coverage"
+export CXXFLAGS="-fprofile-arcs -ftest-coverage"
+export LDFLAGS="-fprofile-arcs -ftest-coverage -lgcov -L$TOOLTOOL_DIR/gtk3/usr/local/lib"
diff --git a/browser/config/mozconfigs/linux64/common-opt b/browser/config/mozconfigs/linux64/common-opt
new file mode 100644
index 000000000..0d605ff9e
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/common-opt
@@ -0,0 +1,15 @@
+# This file is sourced by the nightly, beta, and release mozconfigs.
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --with-google-api-keyfile=/builds/gapi.data
+ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key
+
+. $topsrcdir/build/unix/mozconfig.linux
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
diff --git a/browser/config/mozconfigs/linux64/debug b/browser/config/mozconfigs/linux64/debug
new file mode 100644
index 000000000..a879da75e
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/debug
@@ -0,0 +1,22 @@
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-verify-mar
+
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. $topsrcdir/build/unix/mozconfig.linux
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux64/debug-artifact b/browser/config/mozconfigs/linux64/debug-artifact
new file mode 100644
index 000000000..6dc4d13ce
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/debug-artifact
@@ -0,0 +1,13 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/unix/mozconfig.linux"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
+
+ac_add_options --enable-debug
+
diff --git a/browser/config/mozconfigs/linux64/debug-asan b/browser/config/mozconfigs/linux64/debug-asan
new file mode 100644
index 000000000..a772dbb51
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/debug-asan
@@ -0,0 +1,23 @@
+# Use at least -O1 for optimization to avoid stack space
+# exhaustions caused by Clang function inlining.
+ac_add_options --enable-debug
+ac_add_options --enable-optimize="-O1"
+
+# ASan specific options on Linux
+ac_add_options --enable-valgrind
+
+. $topsrcdir/build/unix/mozconfig.asan
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=asan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/debug-static-analysis-clang b/browser/config/mozconfigs/linux64/debug-static-analysis-clang
new file mode 100644
index 000000000..ff41e13f9
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/debug-static-analysis-clang
@@ -0,0 +1,23 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/mozconfig.common"
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+
+# Use Clang as specified in manifest
+export CC="$topsrcdir/clang/bin/clang"
+export CXX="$topsrcdir/clang/bin/clang++"
+
+# Add the static checker
+ac_add_options --enable-clang-plugin
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux64/hazards b/browser/config/mozconfigs/linux64/hazards
new file mode 100644
index 000000000..03d72ef7e
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/hazards
@@ -0,0 +1,35 @@
+# This mozconfig is used when compiling the browser for the rooting hazard
+# analysis build (labeled H on treeherder). See
+# https://wiki.mozilla.org/Javascript:SpiderMonkey:ExactStackRooting
+
+# Do NOT include build/unix/mozconfig.linux because it points directly at the
+# tooltool-installed gcc, and the analysis works by wrapping the gcc invocation
+# with a script that invokes the real gcc with -fplugin and its configuration
+# directives. Instead, duplicate the contents of that mozconfig here:
+
+. "$topsrcdir/build/mozconfig.common"
+ac_add_options --enable-elf-hack
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"
+
+# The objdir must be at a known location so its path can be stripped from the
+# filenames stored by the analysis
+mk_add_options MOZ_OBJDIR=obj-analyzed
+
+# The configuration options are chosen to compile the most code
+# (--enable-debug, --enable-tests) in the trickiest way possible
+# (--enable-optimize) to maximize the chance of seeing tricky static orderings.
+ac_add_options --enable-debug
+ac_add_options --enable-tests
+ac_add_options --enable-optimize
+ac_add_options --with-compiler-wrapper=$TOOLTOOL_DIR/sixgill/usr/libexec/sixgill/scripts/wrap_gcc/basecc
+ac_add_options --without-ccache
+
+CFLAGS="$CFLAGS -Wno-attributes"
+CPPFLAGS="$CPPFLAGS -Wno-attributes"
+CXXFLAGS="$CXXFLAGS -Wno-attributes"
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/l10n-mozconfig b/browser/config/mozconfigs/linux64/l10n-mozconfig
new file mode 100644
index 000000000..4df482dc3
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/l10n-mozconfig
@@ -0,0 +1,20 @@
+no_sccache=1
+
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-official-branding
+
+. $topsrcdir/build/unix/mozconfig.linux
+
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+ac_add_options --disable-stdcxx-compat
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/nightly b/browser/config/mozconfigs/linux64/nightly
new file mode 100644
index 000000000..ec360a99a
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/nightly
@@ -0,0 +1,15 @@
+. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
+
+
+ac_add_options --enable-verify-mar
+
+# This will overwrite the default of stripping everything and keep the symbol table.
+# This is useful for profiling and debugging and only increases the package size
+# by 2 MBs.
+STRIP_FLAGS="--strip-debug"
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux64/nightly-asan b/browser/config/mozconfigs/linux64/nightly-asan
new file mode 100644
index 000000000..833b530d2
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/nightly-asan
@@ -0,0 +1,19 @@
+# We still need to build with debug symbols
+ac_add_options --disable-debug
+ac_add_options --enable-optimize="-O2 -gline-tables-only"
+
+# ASan specific options on Linux
+ac_add_options --enable-valgrind
+
+. $topsrcdir/build/unix/mozconfig.asan
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=asan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/opt-static-analysis-clang b/browser/config/mozconfigs/linux64/opt-static-analysis-clang
new file mode 100644
index 000000000..936cc46f7
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/opt-static-analysis-clang
@@ -0,0 +1,22 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/mozconfig.common"
+
+ac_add_options --enable-dmd
+
+# Use Clang as specified in manifest
+CC="$topsrcdir/clang/bin/clang"
+CXX="$topsrcdir/clang/bin/clang++"
+
+# Add the static checker
+ac_add_options --enable-clang-plugin
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/linux64/opt-tsan b/browser/config/mozconfigs/linux64/opt-tsan
new file mode 100644
index 000000000..12b156633
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/opt-tsan
@@ -0,0 +1,9 @@
+. $topsrcdir/build/unix/mozconfig.tsan
+
+export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
+. $topsrcdir/build/unix/mozconfig.gtk
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=tsan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/release b/browser/config/mozconfigs/linux64/release
new file mode 100644
index 000000000..2090f3525
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/release
@@ -0,0 +1,22 @@
+# This make file should be identical to the beta mozconfig, apart from the
+# safeguard below
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+mk_add_options MOZ_PGO=1
+
+# safeguard against someone forgetting to re-set EARLY_BETA_OR_EARLIER in
+# defines.sh during the beta cycle
+export BUILDING_RELEASE=1
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/linux64/source b/browser/config/mozconfigs/linux64/source
new file mode 100644
index 000000000..4a3c6996b
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/source
@@ -0,0 +1,4 @@
+# The source "build" only needs a mozconfig because we use the build system as
+# our script for generating it. This allows us to run configure without any
+# extra dependencies on specific toolchains, e.g. gtk3.
+ac_add_options --disable-compile-environment
diff --git a/browser/config/mozconfigs/linux64/valgrind b/browser/config/mozconfigs/linux64/valgrind
new file mode 100644
index 000000000..2efc6e3bb
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/valgrind
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/linux64/nightly
+
+ac_add_options --enable-valgrind
+ac_add_options --disable-jemalloc
+ac_add_options --disable-install-strip
+
+# Include the override mozconfig again (even though the above includes it)
+# since it's supposed to override everything.
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/macosx-universal/beta b/browser/config/mozconfigs/macosx-universal/beta
new file mode 100644
index 000000000..937185e94
--- /dev/null
+++ b/browser/config/mozconfigs/macosx-universal/beta
@@ -0,0 +1,15 @@
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/macosx-universal/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx-universal/common-opt b/browser/config/mozconfigs/macosx-universal/common-opt
new file mode 100644
index 000000000..145d32fc9
--- /dev/null
+++ b/browser/config/mozconfigs/macosx-universal/common-opt
@@ -0,0 +1,18 @@
+# This file is sourced by the nightly, beta, and release mozconfigs.
+
+. $topsrcdir/build/macosx/universal/mozconfig
+
+# Universal builds override the default of browser (bug 575283 comment 29)
+ac_add_options --enable-application=browser
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --with-google-api-keyfile=/builds/gapi.data
+ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
diff --git a/browser/config/mozconfigs/macosx-universal/l10n-mozconfig b/browser/config/mozconfigs/macosx-universal/l10n-mozconfig
new file mode 100644
index 000000000..80a06ed65
--- /dev/null
+++ b/browser/config/mozconfigs/macosx-universal/l10n-mozconfig
@@ -0,0 +1,22 @@
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/build/macosx/mozconfig.common"
+
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-official-branding
+
+if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then
+ac_add_options --with-macbundlename-prefix=Firefox
+fi
+
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx-universal/nightly b/browser/config/mozconfigs/macosx-universal/nightly
new file mode 100644
index 000000000..7af737e56
--- /dev/null
+++ b/browser/config/mozconfigs/macosx-universal/nightly
@@ -0,0 +1,21 @@
+. "$topsrcdir/browser/config/mozconfigs/macosx-universal/common-opt"
+
+ac_add_options --disable-install-strip
+ac_add_options --enable-verify-mar
+
+ac_add_options --enable-instruments
+
+# Cross-universal builds fail when dtrace is enabled
+if test `uname -s` != Linux; then
+ ac_add_options --enable-dtrace
+fi
+
+if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then
+ac_add_options --with-macbundlename-prefix=Firefox
+fi
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx-universal/release b/browser/config/mozconfigs/macosx-universal/release
new file mode 100644
index 000000000..4700886aa
--- /dev/null
+++ b/browser/config/mozconfigs/macosx-universal/release
@@ -0,0 +1,21 @@
+# This make file should be identical to the beta mozconfig, apart from the
+# safeguard below
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/browser/config/mozconfigs/macosx-universal/common-opt"
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+# safeguard against someone forgetting to re-set EARLY_BETA_OR_EARLIER in
+# defines.sh during the beta cycle
+export BUILDING_RELEASE=1
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx64/add-on-devel b/browser/config/mozconfigs/macosx64/add-on-devel
new file mode 100644
index 000000000..e76df4dfa
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/add-on-devel
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/macosx64/nightly
+
+#add-on signing is checked but not enforced
+MOZ_REQUIRE_SIGNING=0
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --enable-update-channel=default
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=add-on-devel
diff --git a/browser/config/mozconfigs/macosx64/artifact b/browser/config/mozconfigs/macosx64/artifact
new file mode 100644
index 000000000..c25b21122
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/artifact
@@ -0,0 +1,10 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/macosx/mozconfig.common"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
diff --git a/browser/config/mozconfigs/macosx64/debug b/browser/config/mozconfigs/macosx64/debug
new file mode 100644
index 000000000..4b052aa00
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/debug
@@ -0,0 +1,24 @@
+. $topsrcdir/build/macosx/mozconfig.common
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-verify-mar
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then
+ac_add_options --with-macbundlename-prefix=Firefox
+fi
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx64/debug-artifact b/browser/config/mozconfigs/macosx64/debug-artifact
new file mode 100644
index 000000000..3afa8e4bf
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/debug-artifact
@@ -0,0 +1,12 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/macosx/mozconfig.common"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+unset CC
+unset CXX
+
+ac_add_options --enable-debug
diff --git a/browser/config/mozconfigs/macosx64/debug-asan b/browser/config/mozconfigs/macosx64/debug-asan
new file mode 100644
index 000000000..28d23798b
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/debug-asan
@@ -0,0 +1,20 @@
+. $topsrcdir/build/unix/mozconfig.asan
+
+ac_add_options --enable-application=browser
+ac_add_options --enable-debug
+ac_add_options --enable-optimize="-O1"
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then
+ac_add_options --with-macbundlename-prefix=Firefox
+fi
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=asan
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/macosx64/debug-static-analysis b/browser/config/mozconfigs/macosx64/debug-static-analysis
new file mode 100644
index 000000000..bb19af612
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/debug-static-analysis
@@ -0,0 +1,13 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. $topsrcdir/build/macosx/mozconfig.common
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+
+ac_add_options --enable-clang-plugin
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx64/l10n-mozconfig b/browser/config/mozconfigs/macosx64/l10n-mozconfig
new file mode 100644
index 000000000..40ad84086
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/l10n-mozconfig
@@ -0,0 +1,12 @@
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-official-branding
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx64/nightly b/browser/config/mozconfigs/macosx64/nightly
new file mode 100644
index 000000000..12fec0474
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/nightly
@@ -0,0 +1,22 @@
+. $topsrcdir/build/macosx/mozconfig.common
+
+ac_add_options --enable-verify-mar
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then
+ac_add_options --with-macbundlename-prefix=Firefox
+fi
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/macosx64/opt-static-analysis b/browser/config/mozconfigs/macosx64/opt-static-analysis
new file mode 100644
index 000000000..72ed3d6bd
--- /dev/null
+++ b/browser/config/mozconfigs/macosx64/opt-static-analysis
@@ -0,0 +1,16 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. $topsrcdir/build/macosx/mozconfig.common
+
+ac_add_options --disable-debug
+ac_add_options --enable-optimize
+ac_add_options --enable-dmd
+
+ac_add_options --enable-clang-plugin
+
+. "$topsrcdir/build/mozconfig.rust"
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
+
diff --git a/browser/config/mozconfigs/whitelist b/browser/config/mozconfigs/whitelist
new file mode 100644
index 000000000..65b66b6f2
--- /dev/null
+++ b/browser/config/mozconfigs/whitelist
@@ -0,0 +1,100 @@
+# 'nightly' contains things that are in nightly mozconfigs and allowed to be missing from release builds.
+# Other keys in whitelist contain things are in that branches mozconfigs and allowed to be missing from nightly builds.
+whitelist = {
+ 'release': {},
+ 'nightly': {},
+ }
+
+all_platforms = ['win64', 'win32', 'linux32', 'linux64', 'macosx-universal']
+
+for platform in all_platforms:
+ whitelist['nightly'][platform] = [
+ 'ac_add_options --enable-update-channel=nightly',
+ 'ac_add_options --with-branding=browser/branding/nightly',
+ 'ac_add_options --enable-profiling',
+ 'mk_add_options CLIENT_PY_ARGS="--hg-options=\'--verbose --time\' --hgtool=../tools/buildfarm/utils/hgtool.py --skip-chatzilla --skip-comm --skip-inspector --tinderbox-print"'
+ ]
+
+for platform in ['linux32', 'linux64', 'macosx-universal']:
+ whitelist['nightly'][platform] += [
+ 'mk_add_options MOZ_MAKE_FLAGS="-j4"',
+ ]
+
+whitelist['nightly']['linux32'] += [
+ 'CXX=$REAL_CXX',
+ 'CXX="ccache $REAL_CXX"',
+ 'CC="ccache $REAL_CC"',
+ 'mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/build/profile_pageloader.pl',
+ 'ac_add_options --with-ccache=/usr/bin/ccache',
+ '. "$topsrcdir/build/mozconfig.cache"',
+ 'export MOZILLA_OFFICIAL=1',
+ 'export MOZ_TELEMETRY_REPORTING=1',
+ "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
+ 'STRIP_FLAGS="--strip-debug"',
+]
+
+whitelist['nightly']['linux64'] += [
+ 'export MOZILLA_OFFICIAL=1',
+ 'export MOZ_TELEMETRY_REPORTING=1',
+ "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
+ 'STRIP_FLAGS="--strip-debug"',
+ 'ac_add_options --with-ccache=/usr/bin/ccache',
+ '. "$topsrcdir/build/mozconfig.cache"',
+]
+
+whitelist['nightly']['macosx-universal'] += [
+ 'if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then',
+ 'ac_add_options --with-macbundlename-prefix=Firefox',
+ 'fi',
+ 'mk_add_options MOZ_MAKE_FLAGS="-j12"',
+ 'ac_add_options --with-ccache',
+ '. "$topsrcdir/build/mozconfig.cache"',
+ 'ac_add_options --disable-install-strip',
+ 'ac_add_options --enable-instruments',
+ 'ac_add_options --enable-dtrace',
+]
+
+whitelist['nightly']['win32'] += [
+ '. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags',
+ 'mk_add_options MOZ_MAKE_FLAGS=-j1',
+ '. "$topsrcdir/build/mozconfig.cache"',
+ 'if test "$IS_NIGHTLY" != ""; then',
+ 'ac_add_options --disable-auto-deps',
+ 'fi',
+]
+whitelist['nightly']['win64'] += [
+ '. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"',
+ '. "$topsrcdir/build/mozconfig.cache"',
+]
+
+for platform in all_platforms:
+ whitelist['release'][platform] = [
+ 'ac_add_options --enable-update-channel=release',
+ 'ac_add_options --enable-official-branding',
+ 'mk_add_options MOZ_MAKE_FLAGS="-j4"',
+ 'export BUILDING_RELEASE=1',
+ 'if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then',
+ 'MOZ_AUTOMATION_UPLOAD_SYMBOLS=1',
+ 'MOZ_AUTOMATION_UPDATE_PACKAGING=1',
+ 'fi',
+ 'MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}',
+ ]
+whitelist['release']['win32'] += ['mk_add_options MOZ_PGO=1']
+whitelist['release']['win64'] += ['mk_add_options MOZ_PGO=1']
+
+whitelist['release']['linux32'] += [
+ 'export MOZILLA_OFFICIAL=1',
+ 'export MOZ_TELEMETRY_REPORTING=1',
+ 'mk_add_options MOZ_PGO=1',
+ "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
+]
+whitelist['release']['linux64'] += [
+ 'export MOZILLA_OFFICIAL=1',
+ 'export MOZ_TELEMETRY_REPORTING=1',
+ 'mk_add_options MOZ_PGO=1',
+ "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
+]
+
+if __name__ == '__main__':
+ import pprint
+ pprint.pprint(whitelist)
diff --git a/browser/config/mozconfigs/win32/add-on-devel b/browser/config/mozconfigs/win32/add-on-devel
new file mode 100644
index 000000000..d84c1f5e4
--- /dev/null
+++ b/browser/config/mozconfigs/win32/add-on-devel
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/win32/nightly
+
+#add-on signing is checked but not enforced
+MOZ_REQUIRE_SIGNING=0
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --enable-update-channel=default
+
+# Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=add-on-devel
diff --git a/browser/config/mozconfigs/win32/artifact b/browser/config/mozconfigs/win32/artifact
new file mode 100644
index 000000000..888c99668
--- /dev/null
+++ b/browser/config/mozconfigs/win32/artifact
@@ -0,0 +1,10 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/build/win32/mozconfig.vs-latest"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
diff --git a/browser/config/mozconfigs/win32/beta b/browser/config/mozconfigs/win32/beta
new file mode 100644
index 000000000..cc14d6800
--- /dev/null
+++ b/browser/config/mozconfigs/win32/beta
@@ -0,0 +1,18 @@
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win32/common-opt"
+
+mk_add_options MOZ_PGO=1
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/win32/common-opt b/browser/config/mozconfigs/win32/common-opt
new file mode 100644
index 000000000..d43a9878b
--- /dev/null
+++ b/browser/config/mozconfigs/win32/common-opt
@@ -0,0 +1,26 @@
+# This file is sourced by the nightly, beta, and release mozconfigs.
+
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-jemalloc
+ac_add_options --enable-require-all-d3dc-versions
+
+if [ -f /c/builds/gapi.data ]; then
+ _gapi_keyfile=c:/builds/gapi.data
+else
+ _gapi_keyfile=e:/builds/gapi.data
+fi
+ac_add_options --with-google-api-keyfile=${_gapi_keyfile}
+
+ac_add_options --with-mozilla-api-keyfile=c:/builds/mozilla-desktop-geoloc-api.key
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+. $topsrcdir/build/win32/mozconfig.vs-latest
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
diff --git a/browser/config/mozconfigs/win32/debug b/browser/config/mozconfigs/win32/debug
new file mode 100644
index 000000000..6beee93c2
--- /dev/null
+++ b/browser/config/mozconfigs/win32/debug
@@ -0,0 +1,27 @@
+. "$topsrcdir/build/mozconfig.win-common"
+MOZ_AUTOMATION_L10N_CHECK=0
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-profiling # needed for --enable-dmd to work on Windows
+ac_add_options --enable-verify-mar
+ac_add_options --enable-require-all-d3dc-versions
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+. $topsrcdir/build/win32/mozconfig.vs-latest
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/win32/debug-artifact b/browser/config/mozconfigs/win32/debug-artifact
new file mode 100644
index 000000000..5a31b8b3e
--- /dev/null
+++ b/browser/config/mozconfigs/win32/debug-artifact
@@ -0,0 +1,12 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/build/win32/mozconfig.vs-latest"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+
+ac_add_options --enable-debug
diff --git a/browser/config/mozconfigs/win32/debug-static-analysis b/browser/config/mozconfigs/win32/debug-static-analysis
new file mode 100644
index 000000000..efc0820b5
--- /dev/null
+++ b/browser/config/mozconfigs/win32/debug-static-analysis
@@ -0,0 +1,19 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_PACKAGE_TESTS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+
+ac_add_options --enable-clang-plugin
+
+. $topsrcdir/build/win32/mozconfig.vs-latest
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
+. "$topsrcdir/build/mozconfig.clang-cl"
diff --git a/browser/config/mozconfigs/win32/l10n-mozconfig b/browser/config/mozconfigs/win32/l10n-mozconfig
new file mode 100644
index 000000000..d05067e03
--- /dev/null
+++ b/browser/config/mozconfigs/win32/l10n-mozconfig
@@ -0,0 +1,19 @@
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --with-windows-version=603
+ac_add_options --enable-official-branding
+
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. $topsrcdir/build/win32/mozconfig.vs-latest
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/win32/nightly b/browser/config/mozconfigs/win32/nightly
new file mode 100644
index 000000000..210004905
--- /dev/null
+++ b/browser/config/mozconfigs/win32/nightly
@@ -0,0 +1,12 @@
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win32/common-opt"
+
+
+ac_add_options --enable-verify-mar
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/win32/release b/browser/config/mozconfigs/win32/release
new file mode 100644
index 000000000..daaa45f89
--- /dev/null
+++ b/browser/config/mozconfigs/win32/release
@@ -0,0 +1,24 @@
+# This make file should be identical to the beta mozconfig, apart from the
+# safeguard below
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win32/common-opt"
+
+mk_add_options MOZ_PGO=1
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+# safeguard against someone forgetting to re-set EARLY_BETA_OR_EARLIER in
+# defines.sh during the beta cycle
+export BUILDING_RELEASE=1
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/win64/add-on-devel b/browser/config/mozconfigs/win64/add-on-devel
new file mode 100644
index 000000000..47d0bf589
--- /dev/null
+++ b/browser/config/mozconfigs/win64/add-on-devel
@@ -0,0 +1,9 @@
+. $topsrcdir/browser/config/mozconfigs/win64/nightly
+
+#add-on signing is checked but not enforced
+MOZ_REQUIRE_SIGNING=0
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --enable-update-channel=default
+
+#Need this to prevent name conflicts with the normal nightly build packages
+export MOZ_PKG_SPECIAL=add-on-devel
diff --git a/browser/config/mozconfigs/win64/artifact b/browser/config/mozconfigs/win64/artifact
new file mode 100644
index 000000000..ce6969667
--- /dev/null
+++ b/browser/config/mozconfigs/win64/artifact
@@ -0,0 +1,11 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/build/win64/mozconfig.vs-latest"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
diff --git a/browser/config/mozconfigs/win64/beta b/browser/config/mozconfigs/win64/beta
new file mode 100644
index 000000000..6fc4ebe36
--- /dev/null
+++ b/browser/config/mozconfigs/win64/beta
@@ -0,0 +1,19 @@
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-opt"
+
+mk_add_options MOZ_PGO=1
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/win64/common-opt b/browser/config/mozconfigs/win64/common-opt
new file mode 100644
index 000000000..40fba7f76
--- /dev/null
+++ b/browser/config/mozconfigs/win64/common-opt
@@ -0,0 +1,24 @@
+# This file is sourced by the nightly, beta, and release mozconfigs.
+
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-jemalloc
+if [ -f /c/builds/gapi.data ]; then
+ _gapi_keyfile=c:/builds/gapi.data
+else
+ _gapi_keyfile=e:/builds/gapi.data
+fi
+ac_add_options --with-google-api-keyfile=${_gapi_keyfile}
+
+ac_add_options --with-mozilla-api-keyfile=c:/builds/mozilla-desktop-geoloc-api.key
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+. $topsrcdir/build/win64/mozconfig.vs-latest
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
diff --git a/browser/config/mozconfigs/win64/common-win64 b/browser/config/mozconfigs/win64/common-win64
new file mode 100644
index 000000000..8f167cad1
--- /dev/null
+++ b/browser/config/mozconfigs/win64/common-win64
@@ -0,0 +1,5 @@
+# This file is used by all Win64 builds
+
+ac_add_options --target=x86_64-pc-mingw32
+ac_add_options --host=x86_64-pc-mingw32
+
diff --git a/browser/config/mozconfigs/win64/debug b/browser/config/mozconfigs/win64/debug
new file mode 100644
index 000000000..db4eb5940
--- /dev/null
+++ b/browser/config/mozconfigs/win64/debug
@@ -0,0 +1,29 @@
+. "$topsrcdir/build/mozconfig.win-common"
+MOZ_AUTOMATION_L10N_CHECK=0
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --target=x86_64-pc-mingw32
+ac_add_options --host=x86_64-pc-mingw32
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-profiling # needed for --enable-dmd to work on Windows
+ac_add_options --enable-verify-mar
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. $topsrcdir/build/win64/mozconfig.vs-latest
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/win64/debug-artifact b/browser/config/mozconfigs/win64/debug-artifact
new file mode 100644
index 000000000..bbba268fb
--- /dev/null
+++ b/browser/config/mozconfigs/win64/debug-artifact
@@ -0,0 +1,13 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/build/win64/mozconfig.vs-latest"
+. "$topsrcdir/build/mozconfig.common.override"
+
+ac_add_options --enable-artifact-builds
+ac_add_options --enable-artifact-build-symbols
+
+ac_add_options --enable-debug
diff --git a/browser/config/mozconfigs/win64/l10n-mozconfig b/browser/config/mozconfigs/win64/l10n-mozconfig
new file mode 100644
index 000000000..3b9b4af1c
--- /dev/null
+++ b/browser/config/mozconfigs/win64/l10n-mozconfig
@@ -0,0 +1,20 @@
+. "$topsrcdir/browser/config/mozconfigs/common"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --with-l10n-base=../../l10n
+ac_add_options --with-windows-version=603
+ac_add_options --enable-official-branding
+
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
+# Bug 1283438
+mk_add_options AUTOCLOBBER=
+
+. $topsrcdir/build/win64/mozconfig.vs-latest
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/mozconfigs/win64/nightly b/browser/config/mozconfigs/win64/nightly
new file mode 100644
index 000000000..aee22f1c0
--- /dev/null
+++ b/browser/config/mozconfigs/win64/nightly
@@ -0,0 +1,13 @@
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-opt"
+
+
+ac_add_options --enable-verify-mar
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
+. "$topsrcdir/build/mozconfig.cache"
diff --git a/browser/config/mozconfigs/win64/release b/browser/config/mozconfigs/win64/release
new file mode 100644
index 000000000..62e83205f
--- /dev/null
+++ b/browser/config/mozconfigs/win64/release
@@ -0,0 +1,25 @@
+# This make file should be identical to the beta mozconfig, apart from the
+# safeguard below
+MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-1}
+
+if [ -n "$ENABLE_RELEASE_PROMOTION" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=1
+ MOZ_AUTOMATION_UPDATE_PACKAGING=1
+fi
+
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/win64/common-opt"
+
+mk_add_options MOZ_PGO=1
+
+ac_add_options --enable-official-branding
+ac_add_options --enable-verify-mar
+
+# safeguard against someone forgetting to re-set EARLY_BETA_OR_EARLIER in
+# defines.sh during the beta cycle
+export BUILDING_RELEASE=1
+
+. "$topsrcdir/build/mozconfig.rust"
+
+. "$topsrcdir/build/mozconfig.common.override"
diff --git a/browser/config/tooltool-manifests/linux32/clang.manifest b/browser/config/tooltool-manifests/linux32/clang.manifest
new file mode 100644
index 000000000..07173985c
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux32/clang.manifest
@@ -0,0 +1,10 @@
+[
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 140319580,
+"digest": "34e219d7e8eaffa81710631c34d21355563d06335b3c00851e94c1f42f9098788fded8463dd0f67dd699f77b47a0245dd7aff754943a7a03fb5fd145a808254f",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true,
+}
+]
diff --git a/browser/config/tooltool-manifests/linux32/releng.manifest b/browser/config/tooltool-manifests/linux32/releng.manifest
new file mode 100644
index 000000000..fc946eadf
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux32/releng.manifest
@@ -0,0 +1,41 @@
+[
+{
+"version": "gcc 4.8.5 + PR64905",
+"size": 80160264,
+"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 11189216,
+"digest": "18bc52b0599b1308b667e282abb45f47597bfc98a5140cfcab8da71dacf89dd76d0dee22a04ce26fe7ad1f04e2d6596991f9e5b01fd2aaaab5542965f596b0e6",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack x86_64+i586",
+"size": 68921028,
+"digest": "9a9ceccc02d4be445ffa64617683419a4f47990b1f2689980ac8db13d6369435ef4af1a3714d77377fb7b3b0ec213856ab7144ff22cbe0881d49aed44d82c0fc",
+"algorithm": "sha512",
+"filename": "rustc.tar.xz",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 3027932,
+"digest": "a5c99eeb12b3b9b49632c259c762e34ec13cf72dadf90a0608b8ab1dc66b36cb114c5b45f71d326e12d31d9e88a41b029e6a728ca64cef392c0a8d211c2fe191",
+"algorithm": "sha512",
+"filename": "cargo.tar.xz",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/asan.manifest b/browser/config/tooltool-manifests/linux64/asan.manifest
new file mode 100644
index 000000000..9642de0b0
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/asan.manifest
@@ -0,0 +1,26 @@
+[
+{
+"version": "gcc 4.8.5 + PR64905",
+"size": 80160264,
+"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 139183100,
+"digest": "a056a151d4f25f415b6d905136c3fa8d51d12a5a815c3df37d5663c67d59571736641a4c990884a69f78ea6b5e37a6a7bfff0417dfe38936d842d6fa0776ae54",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/clang.manifest b/browser/config/tooltool-manifests/linux64/clang.manifest
new file mode 100644
index 000000000..97496f2c2
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/clang.manifest
@@ -0,0 +1,25 @@
+[
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 140319580,
+"digest": "34e219d7e8eaffa81710631c34d21355563d06335b3c00851e94c1f42f9098788fded8463dd0f67dd699f77b47a0245dd7aff754943a7a03fb5fd145a808254f",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/clang.manifest.centos6 b/browser/config/tooltool-manifests/linux64/clang.manifest.centos6
new file mode 100644
index 000000000..a7173b592
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/clang.manifest.centos6
@@ -0,0 +1,18 @@
+[
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 140319580,
+"digest": "34e219d7e8eaffa81710631c34d21355563d06335b3c00851e94c1f42f9098788fded8463dd0f67dd699f77b47a0245dd7aff754943a7a03fb5fd145a808254f",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/hazard.manifest b/browser/config/tooltool-manifests/linux64/hazard.manifest
new file mode 100644
index 000000000..d2a4998b1
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/hazard.manifest
@@ -0,0 +1,41 @@
+[
+{
+"size" : 102421980,
+"version" : "gcc 4.9.3",
+"filename" : "gcc.tar.xz",
+"algorithm" : "sha512",
+"digest" : "f25292aa93dc449e0472eee511c0ac15b5f1a4272ab76cf53ce5d20dc57f29e83da49ae1a9d9e994192647f75e13ae60f75ba2ac3cb9d26d5f5d6cabf88de921",
+"unpack" : true
+},
+{
+"digest" : "36dc644e24c0aa824975ad8f5c15714445d5cb064d823000c3cb637e885199414d7df551e6b99233f0656dcf5760918192ef04113c486af37f3c489bb93ad029",
+"unpack" : true,
+"algorithm" : "sha512",
+"filename" : "sixgill.tar.xz",
+"size" : 2631908,
+"hg_id" : "8cb9c3fb039a+ tip"
+},
+{
+"digest" : "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"unpack" : true,
+"setup" : "setup.sh",
+"algorithm" : "sha512",
+"filename" : "gtk3.tar.xz",
+"size" : 12072532
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 68921028,
+"digest": "9a9ceccc02d4be445ffa64617683419a4f47990b1f2689980ac8db13d6369435ef4af1a3714d77377fb7b3b0ec213856ab7144ff22cbe0881d49aed44d82c0fc",
+"algorithm": "sha512",
+"filename": "rustc.tar.xz",
+"unpack": true
+},
+{
+"filename" : "sccache.tar.bz2",
+"algorithm" : "sha512",
+"digest" : "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"unpack" : true,
+"size" : 167175
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/msan.manifest b/browser/config/tooltool-manifests/linux64/msan.manifest
new file mode 100644
index 000000000..9642de0b0
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/msan.manifest
@@ -0,0 +1,26 @@
+[
+{
+"version": "gcc 4.8.5 + PR64905",
+"size": 80160264,
+"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 139183100,
+"digest": "a056a151d4f25f415b6d905136c3fa8d51d12a5a815c3df37d5663c67d59571736641a4c990884a69f78ea6b5e37a6a7bfff0417dfe38936d842d6fa0776ae54",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/releng.manifest b/browser/config/tooltool-manifests/linux64/releng.manifest
new file mode 100644
index 000000000..eb7293cee
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/releng.manifest
@@ -0,0 +1,41 @@
+[
+{
+"version": "gcc 4.8.5 + PR64905",
+"size": 80160264,
+"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 68921028,
+"digest": "9a9ceccc02d4be445ffa64617683419a4f47990b1f2689980ac8db13d6369435ef4af1a3714d77377fb7b3b0ec213856ab7144ff22cbe0881d49aed44d82c0fc",
+"algorithm": "sha512",
+"filename": "rustc.tar.xz",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 3027932,
+"digest": "a5c99eeb12b3b9b49632c259c762e34ec13cf72dadf90a0608b8ab1dc66b36cb114c5b45f71d326e12d31d9e88a41b029e6a728ca64cef392c0a8d211c2fe191",
+"algorithm": "sha512",
+"filename": "cargo.tar.xz",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/linux64/tsan.manifest b/browser/config/tooltool-manifests/linux64/tsan.manifest
new file mode 100644
index 000000000..9642de0b0
--- /dev/null
+++ b/browser/config/tooltool-manifests/linux64/tsan.manifest
@@ -0,0 +1,26 @@
+[
+{
+"version": "gcc 4.8.5 + PR64905",
+"size": 80160264,
+"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
+"algorithm": "sha512",
+"filename": "gcc.tar.xz",
+"unpack": true
+},
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 139183100,
+"digest": "a056a151d4f25f415b6d905136c3fa8d51d12a5a815c3df37d5663c67d59571736641a4c990884a69f78ea6b5e37a6a7bfff0417dfe38936d842d6fa0776ae54",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 12072532,
+"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
+"algorithm": "sha512",
+"filename": "gtk3.tar.xz",
+"setup": "setup.sh",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/macosx64/asan.manifest b/browser/config/tooltool-manifests/macosx64/asan.manifest
new file mode 100644
index 000000000..e00596925
--- /dev/null
+++ b/browser/config/tooltool-manifests/macosx64/asan.manifest
@@ -0,0 +1,10 @@
+[
+{
+"version": "clang 3.8.0",
+"size": 133060926,
+"digest": "aff5ad3ac2d41db19d1ba0df5f97b189a7d7e1b6af8c56e22c2b0cced84d75fa98394ded6a4ba5713652e6684a0a46f47aeccf87991f9e849bf8d7d82e564f6f",
+"algorithm": "sha512",
+"filename": "clang.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/macosx64/clang.manifest b/browser/config/tooltool-manifests/macosx64/clang.manifest
new file mode 100644
index 000000000..a768012c4
--- /dev/null
+++ b/browser/config/tooltool-manifests/macosx64/clang.manifest
@@ -0,0 +1,25 @@
+[
+{
+"version": "clang 3.8.0",
+"size": 133060926,
+"digest": "aff5ad3ac2d41db19d1ba0df5f97b189a7d7e1b6af8c56e22c2b0cced84d75fa98394ded6a4ba5713652e6684a0a46f47aeccf87991f9e849bf8d7d82e564f6f",
+"algorithm": "sha512",
+"filename": "clang.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "cctools port from commit hash db1f8d906cb28, ld only",
+"size": 634496,
+"digest": "037f31fcf29e7bb7fada0d2bdd5e95c7d4cb2692f2a5c98ed6f6a7561b9d81622d015f0d12b291d3667719655f1369e8ce8a0a4a4773aa0ee4753e04a8821173",
+"algorithm": "sha512",
+"filename": "cctools.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/macosx64/cross-releng.manifest b/browser/config/tooltool-manifests/macosx64/cross-releng.manifest
new file mode 100644
index 000000000..fc356233d
--- /dev/null
+++ b/browser/config/tooltool-manifests/macosx64/cross-releng.manifest
@@ -0,0 +1,65 @@
+[
+{
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 140319580,
+"digest": "34e219d7e8eaffa81710631c34d21355563d06335b3c00851e94c1f42f9098788fded8463dd0f67dd699f77b47a0245dd7aff754943a7a03fb5fd145a808254f",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
+"unpack": true
+},
+{
+"size": 3008804,
+"visibility": "public",
+"digest": "ba6937f14f3d8b26dcb2d39490dee6b0a8afb60f672f5debb71d7b62c1ec52103201b4b1a3d258f945567de531384b36ddb2ce4aa73dc63d72305b11c146847c",
+"algorithm": "sha512",
+"unpack": true,
+"filename": "cctools.tar.gz"
+},
+{
+"size": 35215976,
+"visibility": "internal",
+"digest": "8be736545ddab25ebded188458ce974d5c9a7e29f3c50d2ebfbcb878f6aff853dd2ff5a3528bdefc64396a10101a1b50fd2fe52000140df33643cebe1ea759da",
+"algorithm": "sha512",
+"unpack": true,
+"filename": "MacOSX10.7.sdk.tar.bz2"
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 3027932,
+"digest": "a5c99eeb12b3b9b49632c259c762e34ec13cf72dadf90a0608b8ab1dc66b36cb114c5b45f71d326e12d31d9e88a41b029e6a728ca64cef392c0a8d211c2fe191",
+"algorithm": "sha512",
+"filename": "cargo.tar.xz",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"unpack": true,
+"filename": "sccache.tar.bz2"
+},
+{
+"size": 57060,
+"visibility": "public",
+"digest": "9649ca595f4cf088d118da26201f92cc94cda7af49c7c48112ee31cd13c83b2935b3e145de9dd78060cff2480b4c2e7ff5fb24235876956fed13c87852071998",
+"algorithm": "sha512",
+"unpack": true,
+"filename": "dmg.tar.xz"
+},
+{
+"size": 188880,
+"visibility": "public",
+"digest": "1ffddd43efb03aed897ee42035d9d8d758a8d66ab6c867599ef755e1a586768fc22011ce03698af61454920b00fe8bed08c9a681e7bd324d7f8f78c026c83943",
+"algorithm": "sha512",
+"unpack": true,
+"filename": "genisoimage.tar.xz"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 119642844,
+"digest": "b219c07d78819b9ea930024205ac905f89b958948fbfb3146864724bf4994401911fdb1636d6f32e46de1f587f4ee9ae7975a886bfacc5f0bde8ea5955b4e42a",
+"algorithm": "sha512",
+"filename": "rustc.tar.xz",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/macosx64/releng.manifest b/browser/config/tooltool-manifests/macosx64/releng.manifest
new file mode 100644
index 000000000..98cccce71
--- /dev/null
+++ b/browser/config/tooltool-manifests/macosx64/releng.manifest
@@ -0,0 +1,41 @@
+[
+{
+"version": "clang 3.8.0",
+"size": 133060926,
+"digest": "aff5ad3ac2d41db19d1ba0df5f97b189a7d7e1b6af8c56e22c2b0cced84d75fa98394ded6a4ba5713652e6684a0a46f47aeccf87991f9e849bf8d7d82e564f6f",
+"algorithm": "sha512",
+"filename": "clang.tar.bz2",
+"unpack": true
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 104593379,
+"digest": "9cbc4a6d4d647dd79629e97c0e7b177443d30e669ccd761ab520728d8c2b7e1cc4ab38ec444c1957649338c4088861db3bfe4f840ec3fedcc01f9f1a74da200a",
+"algorithm": "sha512",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 2351877,
+"digest": "76283ceda49015f66b03d18b3c28f70ed4baa09accdfc17b2ec935c7af3e9471d140256a33737563baa2545c34e556a125ade6d4858b9226b8c770dbd7c0756f",
+"algorithm": "sha512",
+"filename": "cargo.tar.bz2",
+"unpack": true
+},
+{
+"version": "cctools port from commit hash db1f8d906cb28, ld only",
+"size": 634496,
+"digest": "037f31fcf29e7bb7fada0d2bdd5e95c7d4cb2692f2a5c98ed6f6a7561b9d81622d015f0d12b291d3667719655f1369e8ce8a0a4a4773aa0ee4753e04a8821173",
+"algorithm": "sha512",
+"filename": "cctools.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/win32/build-clang-cl.manifest b/browser/config/tooltool-manifests/win32/build-clang-cl.manifest
new file mode 100644
index 000000000..2ead16fd9
--- /dev/null
+++ b/browser/config/tooltool-manifests/win32/build-clang-cl.manifest
@@ -0,0 +1,63 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 58997576,
+"digest": "be97bb7f60fea39b9b0411b7ce247036a9373b01ed8cc60f30ed3c6254473ab7ef1881f222f10845253e0608c6f3d21add0871d0485d9de413297906d5c5409c",
+"algorithm": "sha512",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 2214397,
+"digest": "4f378fc4178d72d9e0434fca3df342d9dd7619c7c524ec6aedeee78a19583f2a675dfc54224be87030d72a36cef77f997e5275fe1cebac065c38949fa464d842",
+"algorithm": "sha512",
+"filename": "cargo.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "Visual Studio 2015 Update 3 14.0.25425.01 / SDK 10.0.14393.0",
+"size": 326656969,
+"digest": "babc414ffc0457d27f5a1ed24a8e4873afbe2f1c1a4075469a27c005e1babc3b2a788f643f825efedff95b79686664c67ec4340ed535487168a3482e68559bc7",
+"algorithm": "sha512",
+"filename": "vs2015u3.zip",
+"unpack": true
+},
+{
+"version": "SVN 1.9.4, repacked from SlikSvn (https://sliksvn.com/download/)",
+"size": 3934520,
+"digest": "d3b8f74936857ecbf542e403ed6835938a31d65302985729cbfa7191bf2cf94138565cefcc2f31517098013fbfc51868348863a55b588250902f9dec214dbc42",
+"algorithm": "sha512",
+"filename": "svn194.zip",
+"unpack": true
+},
+{
+"version": "CMake 3.6.2 repack",
+"size": 19832889,
+"digest": "39b0508b60f655969d1b54c76753b14b5b2e92dab58613c835aed798a6aeb9077a7df78aebc011c2c753661fdc15007d3353c0c8773a53148380e2ec02afb629",
+"algorithm": "sha512",
+"filename": "cmake362.zip",
+"unpack": true
+},
+{
+"version": "Ninja 1.7.1",
+"size": 184821,
+"digest": "e4f9a1ae624a2630e75264ba37d396d9c7407d6e6aea3763056210ba6e1387908bd31cf4037a6a3661a418e86c4d2761e0c333e6a3bd0d66549d2b0d72d3f43b",
+"algorithm": "sha512",
+"filename": "ninja171.zip",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/win32/clang.manifest b/browser/config/tooltool-manifests/win32/clang.manifest
new file mode 100644
index 000000000..fb4309466
--- /dev/null
+++ b/browser/config/tooltool-manifests/win32/clang.manifest
@@ -0,0 +1,31 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 58997576,
+"digest": "be97bb7f60fea39b9b0411b7ce247036a9373b01ed8cc60f30ed3c6254473ab7ef1881f222f10845253e0608c6f3d21add0871d0485d9de413297906d5c5409c",
+"algorithm": "sha512",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "clang 3.9.0/r262971",
+"size": 169861843,
+"digest": "8caa5a89aea981b618233d39f01bb934b79b85ee8167104bfa4f07936145df5e8ca5e8e007123d75ccc12d2baa926ffc827b40bf793fa9d4bc2670fa519b0ec0",
+"algorithm": "sha512",
+"filename": "clang32.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/win32/l10n.manifest b/browser/config/tooltool-manifests/win32/l10n.manifest
new file mode 100644
index 000000000..2e802b78d
--- /dev/null
+++ b/browser/config/tooltool-manifests/win32/l10n.manifest
@@ -0,0 +1,8 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+}
+]
diff --git a/browser/config/tooltool-manifests/win32/releng.manifest b/browser/config/tooltool-manifests/win32/releng.manifest
new file mode 100644
index 000000000..9124644f1
--- /dev/null
+++ b/browser/config/tooltool-manifests/win32/releng.manifest
@@ -0,0 +1,39 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 58997576,
+"digest": "be97bb7f60fea39b9b0411b7ce247036a9373b01ed8cc60f30ed3c6254473ab7ef1881f222f10845253e0608c6f3d21add0871d0485d9de413297906d5c5409c",
+"algorithm": "sha512",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 2214397,
+"digest": "4f378fc4178d72d9e0434fca3df342d9dd7619c7c524ec6aedeee78a19583f2a675dfc54224be87030d72a36cef77f997e5275fe1cebac065c38949fa464d842",
+"algorithm": "sha512",
+"filename": "cargo.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "Visual Studio 2015 Update 3 14.0.25425.01 / SDK 10.0.14393.0",
+"size": 326656969,
+"digest": "babc414ffc0457d27f5a1ed24a8e4873afbe2f1c1a4075469a27c005e1babc3b2a788f643f825efedff95b79686664c67ec4340ed535487168a3482e68559bc7",
+"algorithm": "sha512",
+"filename": "vs2015u3.zip",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/win64/clang.manifest b/browser/config/tooltool-manifests/win64/clang.manifest
new file mode 100644
index 000000000..a91d2dbff
--- /dev/null
+++ b/browser/config/tooltool-manifests/win64/clang.manifest
@@ -0,0 +1,32 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 63966131,
+"digest": "a431492ca5ae3454e7d5de3962ff0b40d96f69a9046428a1fe310397a5dda9ba2f6b697958e8386b119d56b700563ffe1b58c63f84b527b2df320893306854cf",
+"algorithm": "sha512",
+"visibility": "public",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "clang 3.9.0/r262971",
+"size": 173306045,
+"digest": "806413640a964dad44c0c6055d2a89a1075730fb6f659ff37341378a14a7dc032e672941765225608b71f6b385ac721ed36bfa04eb38c211b07e2776cb72a0ee",
+"algorithm": "sha512",
+"filename": "clang64.tar.bz2",
+"unpack": true
+}
+]
diff --git a/browser/config/tooltool-manifests/win64/l10n.manifest b/browser/config/tooltool-manifests/win64/l10n.manifest
new file mode 100644
index 000000000..2e802b78d
--- /dev/null
+++ b/browser/config/tooltool-manifests/win64/l10n.manifest
@@ -0,0 +1,8 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+}
+]
diff --git a/browser/config/tooltool-manifests/win64/releng.manifest b/browser/config/tooltool-manifests/win64/releng.manifest
new file mode 100644
index 000000000..207d8e5d0
--- /dev/null
+++ b/browser/config/tooltool-manifests/win64/releng.manifest
@@ -0,0 +1,40 @@
+[
+{
+"size": 266240,
+"digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
+"algorithm": "sha512",
+"filename": "mozmake.exe"
+},
+{
+"version": "rustc 1.13.0 (2c6933acc 2016-11-07) repack",
+"size": 63966131,
+"digest": "a431492ca5ae3454e7d5de3962ff0b40d96f69a9046428a1fe310397a5dda9ba2f6b697958e8386b119d56b700563ffe1b58c63f84b527b2df320893306854cf",
+"algorithm": "sha512",
+"visibility": "public",
+"filename": "rustc.tar.bz2",
+"unpack": true
+},
+{
+"version": "cargo 0.13.0-nightly (eca9e15 2016-11-01) repack",
+"size": 2466539,
+"digest": "78b129bd5c933d77c1f09a24c57a652c7cf228fc986000c162f892a46a53fc0f56b8fe1ac924c7e5aaefc4728fd07b679fbf149feb4ed5f2f30c4fd2f776ab7e",
+"algorithm": "sha512",
+"filename": "cargo.tar.bz2",
+"unpack": true
+},
+{
+"size": 167175,
+"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
+"algorithm": "sha512",
+"filename": "sccache.tar.bz2",
+"unpack": true
+},
+{
+"version": "Visual Studio 2015 Update 3 14.0.25425.01 / SDK 10.0.14393.0",
+"size": 326656969,
+"digest": "babc414ffc0457d27f5a1ed24a8e4873afbe2f1c1a4075469a27c005e1babc3b2a788f643f825efedff95b79686664c67ec4340ed535487168a3482e68559bc7",
+"algorithm": "sha512",
+"filename": "vs2015u3.zip",
+"unpack": true
+}
+]
diff --git a/browser/config/version.txt b/browser/config/version.txt
new file mode 100644
index 000000000..4e9247c69
--- /dev/null
+++ b/browser/config/version.txt
@@ -0,0 +1 @@
+52.6.0
diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt
new file mode 100644
index 000000000..4e9247c69
--- /dev/null
+++ b/browser/config/version_display.txt
@@ -0,0 +1 @@
+52.6.0