diff options
Diffstat (limited to 'browser/config/mozconfigs')
127 files changed, 1786 insertions, 0 deletions
diff --git a/browser/config/mozconfigs/common b/browser/config/mozconfigs/common new file mode 100644 index 0000000000..febf5622fa --- /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/beta b/browser/config/mozconfigs/linux32/beta new file mode 100644 index 0000000000..c8aedd4f81 --- /dev/null +++ b/browser/config/mozconfigs/linux32/beta @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt" + +ac_add_options --enable-official-branding + +. "$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 0000000000..b5a9d258e9 --- /dev/null +++ b/browser/config/mozconfigs/linux32/common-opt @@ -0,0 +1,14 @@ +# This file is sourced by nightly, beta, and release mozconfigs. + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-google-location-service-api-keyfile=/builds/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=/builds/sb-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 + +# 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 0000000000..30e3213182 --- /dev/null +++ b/browser/config/mozconfigs/linux32/debug @@ -0,0 +1,15 @@ +ac_add_options --enable-debug + +. $topsrcdir/build/unix/mozconfig.linux32 + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +#Use ccache + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux32/debug-asan b/browser/config/mozconfigs/linux32/debug-asan new file mode 100644 index 0000000000..3f45589230 --- /dev/null +++ b/browser/config/mozconfigs/linux32/debug-asan @@ -0,0 +1,18 @@ +# 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 +ac_add_options --disable-elf-hack + +# 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/devedition b/browser/config/mozconfigs/linux32/devedition new file mode 100644 index 0000000000..fa4b3ad273 --- /dev/null +++ b/browser/config/mozconfigs/linux32/devedition @@ -0,0 +1,8 @@ +. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --with-branding=browser/branding/aurora + +. "$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 0000000000..c6f41967f6 --- /dev/null +++ b/browser/config/mozconfigs/linux32/l10n-mozconfig @@ -0,0 +1,18 @@ +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --enable-official-branding +ac_add_options --disable-nodejs + +. "$topsrcdir/build/mozconfig.no-compile" + +if test `uname -m` = "x86_64"; then + ac_add_options --target=i686-pc-linux + ac_add_options --host=i686-pc-linux +fi + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition b/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition new file mode 100644 index 0000000000..62ca359388 --- /dev/null +++ b/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition @@ -0,0 +1,18 @@ +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora +ac_add_options --disable-nodejs + +. "$topsrcdir/build/mozconfig.no-compile" + +if test `uname -m` = "x86_64"; then + ac_add_options --target=i686-pc-linux + ac_add_options --host=i686-pc-linux +fi + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/linux32/nightly b/browser/config/mozconfigs/linux32/nightly new file mode 100644 index 0000000000..686266944d --- /dev/null +++ b/browser/config/mozconfigs/linux32/nightly @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux32/nightly-asan b/browser/config/mozconfigs/linux32/nightly-asan new file mode 100644 index 0000000000..7664fa71a8 --- /dev/null +++ b/browser/config/mozconfigs/linux32/nightly-asan @@ -0,0 +1,17 @@ +# 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 +ac_add_options --disable-elf-hack + +# 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/profile-generate b/browser/config/mozconfigs/linux32/profile-generate new file mode 100644 index 0000000000..8157dc0965 --- /dev/null +++ b/browser/config/mozconfigs/linux32/profile-generate @@ -0,0 +1,6 @@ +. $topsrcdir/browser/config/mozconfigs/linux32/nightly + +mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" + +ac_add_options --enable-profile-generate=cross +ac_add_options --disable-tests diff --git a/browser/config/mozconfigs/linux32/release b/browser/config/mozconfigs/linux32/release new file mode 100644 index 0000000000..d7ad589810 --- /dev/null +++ b/browser/config/mozconfigs/linux32/release @@ -0,0 +1,12 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/browser/config/mozconfigs/linux32/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/linux32/rusttests b/browser/config/mozconfigs/linux32/rusttests new file mode 100644 index 0000000000..b931afff2b --- /dev/null +++ b/browser/config/mozconfigs/linux32/rusttests @@ -0,0 +1,10 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +mk_add_options MOZ_MAKE_FLAGS=--output-sync=line + +. "$topsrcdir/browser/config/mozconfigs/linux32/nightly" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/linux32/rusttests-debug b/browser/config/mozconfigs/linux32/rusttests-debug new file mode 100644 index 0000000000..ad1269b94f --- /dev/null +++ b/browser/config/mozconfigs/linux32/rusttests-debug @@ -0,0 +1,10 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +mk_add_options MOZ_MAKE_FLAGS=--output-sync=line + +. "$topsrcdir/browser/config/mozconfigs/linux32/debug" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/linux32/valgrind b/browser/config/mozconfigs/linux32/valgrind new file mode 100644 index 0000000000..d335038dea --- /dev/null +++ b/browser/config/mozconfigs/linux32/valgrind @@ -0,0 +1,11 @@ +. $topsrcdir/browser/config/mozconfigs/linux32/nightly + +ac_add_options --enable-valgrind +ac_add_options --disable-dmd +ac_add_options --disable-jemalloc +ac_add_options --disable-install-strip +ac_add_options --disable-gtest-in-build + +# 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-aarch64/common-opt b/browser/config/mozconfigs/linux64-aarch64/common-opt new file mode 100644 index 0000000000..c04dbde753 --- /dev/null +++ b/browser/config/mozconfigs/linux64-aarch64/common-opt @@ -0,0 +1,19 @@ +# 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-location-service-api-keyfile=/builds/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=/builds/sb-gapi.data +ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key + +. $topsrcdir/build/unix/mozconfig.linux + +unset NASM +ac_add_options --target=aarch64 + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +unset MOZ_STDCXX_COMPAT diff --git a/browser/config/mozconfigs/linux64-aarch64/opt b/browser/config/mozconfigs/linux64-aarch64/opt new file mode 100644 index 0000000000..a2c91b2b2f --- /dev/null +++ b/browser/config/mozconfigs/linux64-aarch64/opt @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64-aarch64/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$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 0000000000..379e8867ed --- /dev/null +++ b/browser/config/mozconfigs/linux64/add-on-devel @@ -0,0 +1,10 @@ +. $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/asan-fuzzing-ccov b/browser/config/mozconfigs/linux64/asan-fuzzing-ccov new file mode 100644 index 0000000000..52fb0afc09 --- /dev/null +++ b/browser/config/mozconfigs/linux64/asan-fuzzing-ccov @@ -0,0 +1,38 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +#add-on signing is checked but not enforced +MOZ_REQUIRE_SIGNING=0 + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# ASan specific options on Linux +ac_add_options --enable-valgrind + +. $topsrcdir/build/unix/mozconfig.asan +ac_add_options --disable-elf-hack + +ac_add_options --disable-sandbox +ac_add_options --disable-profiling +ac_add_options --disable-warnings-as-errors +ac_add_options --enable-coverage + +export CFLAGS="$CFLAGS --coverage" +export CXXFLAGS="$CXXFLAGS --coverage" +export LDFLAGS="$LDFLAGS --coverage -Wl,--compress-debug-sections=zlib" + +# gold is required for libFuzzer to work properly +ac_add_options --enable-linker=gold + +ac_add_options --enable-fuzzing +unset MOZ_STDCXX_COMPAT + +# 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-ccov + +. "$topsrcdir/build/mozconfig.common.override" + diff --git a/browser/config/mozconfigs/linux64/beta b/browser/config/mozconfigs/linux64/beta new file mode 100644 index 0000000000..37723c43d4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/beta @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt" + +ac_add_options --enable-official-branding + +. "$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 0000000000..d04e505dc4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage @@ -0,0 +1,15 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/nightly" + +ac_add_options --disable-install-strip +ac_add_options --disable-elf-hack +ac_add_options --disable-sandbox +ac_add_options --disable-dmd +ac_add_options --disable-profiling +ac_add_options --disable-warnings-as-errors +ac_add_options --enable-coverage + +CLANG_LIB_DIR="$(cd $MOZ_FETCHES_DIR/clang/lib/clang/* && cd lib/linux && pwd)" +export LDFLAGS="--coverage -L$CLANG_LIB_DIR" +export LIBS="-lclang_rt.profile-x86_64" +export RUSTFLAGS="-Ccodegen-units=1 -Zprofile -Cpanic=abort -Zpanic_abort_tests -Clink-dead-code -Coverflow-checks=off" +export RUSTDOCFLAGS="-Cpanic=abort" diff --git a/browser/config/mozconfigs/linux64/code-coverage-debug b/browser/config/mozconfigs/linux64/code-coverage-debug new file mode 100644 index 0000000000..23b06e8a18 --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage-debug @@ -0,0 +1,4 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +ac_add_options --enable-debug=-g1 +ac_add_options --enable-rust-tests diff --git a/browser/config/mozconfigs/linux64/code-coverage-opt b/browser/config/mozconfigs/linux64/code-coverage-opt new file mode 100644 index 0000000000..151219de0d --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage-opt @@ -0,0 +1,4 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --enable-rust-tests diff --git a/browser/config/mozconfigs/linux64/common-opt b/browser/config/mozconfigs/linux64/common-opt new file mode 100644 index 0000000000..bef83fbc6d --- /dev/null +++ b/browser/config/mozconfigs/linux64/common-opt @@ -0,0 +1,16 @@ +# This file is sourced by the nightly, beta, and release mozconfigs. + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-google-location-service-api-keyfile=/builds/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=/builds/sb-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 + +# 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 0000000000..0e66312134 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug @@ -0,0 +1,14 @@ +ac_add_options --enable-debug + +. $topsrcdir/build/mozconfig.wasm-sandboxing +. $topsrcdir/build/unix/mozconfig.linux + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/debug-asan b/browser/config/mozconfigs/linux64/debug-asan new file mode 100644 index 0000000000..9cfe53e70b --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-asan @@ -0,0 +1,32 @@ +# 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" + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# ASan specific options on Linux +ac_add_options --enable-valgrind + +. $topsrcdir/build/unix/mozconfig.asan +ac_add_options --disable-elf-hack + +# Build with fuzzing support, so this build can also be used +# to analyze fuzzing bugs with rr. +ac_add_options --enable-fuzzing + +# Enable ASan for rust code. This is done for specific build tasks rather than +# globally in mozconfig.asan because it requires an unstable -Z flag. +export RUSTFLAGS="$RUSTFLAGS -Zsanitizer=address" + +# Include 'SourceRepository' in application.ini which +# is used by Pernosco to locate source +export MOZ_INCLUDE_SOURCE_INFO=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-fuzzing b/browser/config/mozconfigs/linux64/debug-fuzzing new file mode 100644 index 0000000000..1c496ece68 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-fuzzing @@ -0,0 +1,30 @@ +ac_add_options --enable-debug + +. $topsrcdir/build/mozconfig.wasm-sandboxing +. $topsrcdir/build/unix/mozconfig.linux + +export LLVM_SYMBOLIZER="$MOZ_FETCHES_DIR/llvm-symbolizer/llvm-symbolizer" + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --enable-fuzzing +ac_add_options --enable-linker=gold +unset MOZ_STDCXX_COMPAT + +# Even in fuzzing builds without sanitizers, the UBSan runtime is pulled +# in as a dependency to allow libFuzzer to have rudimentary stacks. +# Hence we need to disable jemalloc until bug 1435148 is fully resolved. +ac_add_options --disable-jemalloc + +# Also, for consistency we disable the crash reporter and solely rely +# on libFuzzer to provide stacks both in the browser fuzzing case as +# well as for libFuzzer targets. See also bug 1649062. +ac_add_options --disable-crashreporter +ac_add_options --disable-install-strip +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=fuzzing + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/debug-searchfox-clang b/browser/config/mozconfigs/linux64/debug-searchfox-clang new file mode 100644 index 0000000000..d90bc56ed9 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-searchfox-clang @@ -0,0 +1,20 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 +MOZ_AUTOMATION_CHECK=0 + +. "$topsrcdir/build/unix/mozconfig.unix" + +ac_add_options --enable-debug + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# Save rust analysis (this requires unlocking the unstable features, +# which is done in the taskcluster task definition via RUSTC_BOOTSTRAP) +export RUSTFLAGS="-Zsave-analysis" + +# Add the static checker +ac_add_options --enable-clang-plugin +ac_add_options --enable-mozsearch-plugin + +. "$topsrcdir/build/unix/mozconfig.stdcxx" + +. "$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 0000000000..02cb8d87b0 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-static-analysis-clang @@ -0,0 +1,14 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/build/mozconfig.common" + +ac_add_options --enable-debug + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# Add the static checker +ac_add_options --enable-clang-plugin + +. "$topsrcdir/build/unix/mozconfig.stdcxx" + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/devedition b/browser/config/mozconfigs/linux64/devedition new file mode 100644 index 0000000000..e89a8f6faf --- /dev/null +++ b/browser/config/mozconfigs/linux64/devedition @@ -0,0 +1,8 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --with-branding=browser/branding/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/fuzzing-ccov b/browser/config/mozconfigs/linux64/fuzzing-ccov new file mode 100644 index 0000000000..89797c4557 --- /dev/null +++ b/browser/config/mozconfigs/linux64/fuzzing-ccov @@ -0,0 +1,4 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --enable-fuzzing diff --git a/browser/config/mozconfigs/linux64/l10n-mozconfig b/browser/config/mozconfigs/linux64/l10n-mozconfig new file mode 100644 index 0000000000..def7c5dcbe --- /dev/null +++ b/browser/config/mozconfigs/linux64/l10n-mozconfig @@ -0,0 +1,13 @@ +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --enable-official-branding + +. "$topsrcdir/build/mozconfig.no-compile" +ac_add_options --disable-nodejs + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition b/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition new file mode 100644 index 0000000000..df7093ee8e --- /dev/null +++ b/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition @@ -0,0 +1,13 @@ +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +. "$topsrcdir/build/mozconfig.no-compile" +ac_add_options --disable-nodejs + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/linux64/nightly b/browser/config/mozconfigs/linux64/nightly new file mode 100644 index 0000000000..15090cc01c --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/nightly-asan b/browser/config/mozconfigs/linux64/nightly-asan new file mode 100644 index 0000000000..6a0afa5620 --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-asan @@ -0,0 +1,30 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# ASan specific options on Linux +ac_add_options --enable-valgrind + +. $topsrcdir/build/unix/mozconfig.asan +ac_add_options --disable-elf-hack + +# Enable ASan for rust code. This is done for specific build tasks rather than +# globally in mozconfig.asan because it requires an unstable -Z flag. +export RUSTFLAGS="$RUSTFLAGS -Zsanitizer=address" + +# Piggybacking UBSan for now since only a small subset of checks are enabled. +# A new build can be created when appropriate. +ac_add_options --enable-undefined-sanitizer + +# 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 + +# Disable telemetry +ac_add_options MOZ_TELEMETRY_REPORTING= + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/nightly-asan-reporter b/browser/config/mozconfigs/linux64/nightly-asan-reporter new file mode 100644 index 0000000000..d9c7aa314f --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-asan-reporter @@ -0,0 +1,20 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt" + +# 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 +ac_add_options --disable-elf-hack + +ac_add_options --enable-address-sanitizer-reporter + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=asan-reporter + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/nightly-fuzzing-asan b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan new file mode 100644 index 0000000000..9ba29a07bd --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan @@ -0,0 +1,36 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +#add-on signing is checked but not enforced +MOZ_REQUIRE_SIGNING=0 + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# ASan specific options on Linux +ac_add_options --enable-valgrind + +. $topsrcdir/build/unix/mozconfig.asan +ac_add_options --disable-elf-hack + +# Enable ASan for rust code. This is done for specific build tasks rather than +# globally in mozconfig.asan because it requires an unstable -Z flag. +export RUSTFLAGS="$RUSTFLAGS -Zsanitizer=address" + +# gold is required for libFuzzer to work properly +ac_add_options --enable-linker=gold + +ac_add_options --enable-fuzzing +unset MOZ_STDCXX_COMPAT + +# Piggybacking UBSan for now since only a small subset of checks are enabled. +# A new build can be created when appropriate. +ac_add_options --enable-undefined-sanitizer + +# 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/noopt-debug b/browser/config/mozconfigs/linux64/noopt-debug new file mode 100644 index 0000000000..7c13faad7b --- /dev/null +++ b/browser/config/mozconfigs/linux64/noopt-debug @@ -0,0 +1,7 @@ +# Developers often build with these options for a better debugging experience. +. "$topsrcdir/browser/config/mozconfigs/linux64/debug" + +# We add this last to guard against inadvertent changes in the debug config. +# It may conflict with settings from mozconfig.override, but that seems +# unlikely. +ac_add_options --disable-optimize diff --git a/browser/config/mozconfigs/linux64/plain-debug b/browser/config/mozconfigs/linux64/plain-debug new file mode 100644 index 0000000000..7fa7f88f16 --- /dev/null +++ b/browser/config/mozconfigs/linux64/plain-debug @@ -0,0 +1,3 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/plain-opt" + +ac_add_options --enable-debug diff --git a/browser/config/mozconfigs/linux64/plain-opt b/browser/config/mozconfigs/linux64/plain-opt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/browser/config/mozconfigs/linux64/plain-opt diff --git a/browser/config/mozconfigs/linux64/profile-generate b/browser/config/mozconfigs/linux64/profile-generate new file mode 100644 index 0000000000..6499ff99c1 --- /dev/null +++ b/browser/config/mozconfigs/linux64/profile-generate @@ -0,0 +1,6 @@ +. $topsrcdir/browser/config/mozconfigs/linux64/nightly + +mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" + +ac_add_options --enable-profile-generate=cross +ac_add_options --disable-tests diff --git a/browser/config/mozconfigs/linux64/release b/browser/config/mozconfigs/linux64/release new file mode 100644 index 0000000000..ab09eef653 --- /dev/null +++ b/browser/config/mozconfigs/linux64/release @@ -0,0 +1,12 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/browser/config/mozconfigs/linux64/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/linux64/rusttests b/browser/config/mozconfigs/linux64/rusttests new file mode 100644 index 0000000000..9e63bcf4ba --- /dev/null +++ b/browser/config/mozconfigs/linux64/rusttests @@ -0,0 +1,10 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +mk_add_options MOZ_MAKE_FLAGS=--output-sync=line + +. "$topsrcdir/browser/config/mozconfigs/linux64/nightly" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/linux64/rusttests-debug b/browser/config/mozconfigs/linux64/rusttests-debug new file mode 100644 index 0000000000..5daf2db20b --- /dev/null +++ b/browser/config/mozconfigs/linux64/rusttests-debug @@ -0,0 +1,10 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +mk_add_options MOZ_MAKE_FLAGS=--output-sync=line + +. "$topsrcdir/browser/config/mozconfigs/linux64/debug" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/linux64/source b/browser/config/mozconfigs/linux64/source new file mode 100644 index 0000000000..8ad4faf6b3 --- /dev/null +++ b/browser/config/mozconfigs/linux64/source @@ -0,0 +1,6 @@ +# 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 +ac_add_options --disable-nodejs +export MOZILLA_OFFICIAL=1 diff --git a/browser/config/mozconfigs/linux64/tsan b/browser/config/mozconfigs/linux64/tsan new file mode 100644 index 0000000000..4718f8e1ac --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan @@ -0,0 +1,25 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +. $topsrcdir/build/mozconfig.wasm-sandboxing + +. $topsrcdir/build/unix/mozconfig.tsan +ac_add_options --disable-elf-hack + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=tsan + +# Disable telemetry +ac_add_options MOZ_TELEMETRY_REPORTING= + +# rustfmt is currently missing in Rust nightly +unset RUSTFMT + +# Current Rust Nightly has warnings +ac_add_options --disable-warnings-as-errors + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/tsan-fuzzing b/browser/config/mozconfigs/linux64/tsan-fuzzing new file mode 100644 index 0000000000..f200f7f85e --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan-fuzzing @@ -0,0 +1,7 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/tsan" + +# gold is required for libFuzzer to work properly +ac_add_options --enable-linker=gold + +ac_add_options --enable-fuzzing +unset MOZ_STDCXX_COMPAT diff --git a/browser/config/mozconfigs/linux64/valgrind b/browser/config/mozconfigs/linux64/valgrind new file mode 100644 index 0000000000..ffaeab65d7 --- /dev/null +++ b/browser/config/mozconfigs/linux64/valgrind @@ -0,0 +1,13 @@ +MOZ_AUTOMATION_CHECK=0 + +. $topsrcdir/browser/config/mozconfigs/linux64/nightly + +ac_add_options --enable-valgrind +ac_add_options --disable-dmd +ac_add_options --disable-jemalloc +ac_add_options --disable-install-strip +ac_add_options --disable-gtest-in-build + +# 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/macosx64-aarch64/beta b/browser/config/mozconfigs/macosx64-aarch64/beta new file mode 100644 index 0000000000..c5c7d9558a --- /dev/null +++ b/browser/config/mozconfigs/macosx64-aarch64/beta @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64-aarch64/common-opt" + +ac_add_options --enable-official-branding + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64-aarch64/common-opt b/browser/config/mozconfigs/macosx64-aarch64/common-opt new file mode 100644 index 0000000000..880087f44b --- /dev/null +++ b/browser/config/mozconfigs/macosx64-aarch64/common-opt @@ -0,0 +1,30 @@ +# This file is sourced by the nightly, beta, and release mozconfigs. + +. $topsrcdir/build/macosx/mozconfig.common + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} + +if test `uname -s` != Linux; then +APIKEYDIR="${APIKEYDIR:-${WORKSPACE}}" +else +APIKEYDIR="${APIKEYDIR:-/builds}" +fi + +ac_add_options --with-google-location-service-api-keyfile=${APIKEYDIR}/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=${APIKEYDIR}/sb-gapi.data +ac_add_options --with-mozilla-api-keyfile=${APIKEYDIR}/mozilla-desktop-geoloc-api.key + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --target=aarch64-apple-darwin +export MACOS_SDK_DIR=$MOZ_FETCHES_DIR/MacOSX11.0.sdk + +# Xcode clang defaults to something similar to -mcpu=apple-a12, while upstream +# clang defaults to -mcpu=apple-a7, which disables a bunch of performance-enabling +# CPU features. TODO: this should be done by configure. +export CFLAGS="$CFLAGS -mcpu=apple-a12" +export CXXFLAGS="$CXXFLAGS -mcpu=apple-a12" diff --git a/browser/config/mozconfigs/macosx64-aarch64/devedition b/browser/config/mozconfigs/macosx64-aarch64/devedition new file mode 100644 index 0000000000..54cdd5436e --- /dev/null +++ b/browser/config/mozconfigs/macosx64-aarch64/devedition @@ -0,0 +1,19 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64-aarch64/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --enable-instruments + +# Cross-compiled 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/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64-aarch64/nightly b/browser/config/mozconfigs/macosx64-aarch64/nightly new file mode 100644 index 0000000000..742b1bc7b6 --- /dev/null +++ b/browser/config/mozconfigs/macosx64-aarch64/nightly @@ -0,0 +1,12 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64-aarch64/common-opt" + +ac_add_options --enable-instruments + +# Cross-compiled builds fail when dtrace is enabled +if test `uname -s` != Linux; then + ac_add_options --enable-dtrace +fi + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64-aarch64/release b/browser/config/mozconfigs/macosx64-aarch64/release new file mode 100644 index 0000000000..0a202d6474 --- /dev/null +++ b/browser/config/mozconfigs/macosx64-aarch64/release @@ -0,0 +1,12 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/browser/config/mozconfigs/macosx64-aarch64/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/macosx64/add-on-devel b/browser/config/mozconfigs/macosx64/add-on-devel new file mode 100644 index 0000000000..4b83551b01 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/add-on-devel @@ -0,0 +1,10 @@ +. $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/beta b/browser/config/mozconfigs/macosx64/beta new file mode 100644 index 0000000000..232750daa4 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/beta @@ -0,0 +1,5 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/common-opt" + +ac_add_options --enable-official-branding + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/code-coverage b/browser/config/mozconfigs/macosx64/code-coverage new file mode 100644 index 0000000000..93409d1cd3 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/code-coverage @@ -0,0 +1,12 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/nightly" + +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --disable-sandbox +ac_add_options --disable-warnings-as-errors +ac_add_options --enable-coverage + +CLANG_LIB_DIR="$(cd $MOZ_FETCHES_DIR/clang/lib/clang/* && cd lib/darwin && pwd)" +export LDFLAGS="-coverage -L$CLANG_LIB_DIR" +export LIBS="-lclang_rt.profile_osx" +export RUSTFLAGS="-Ccodegen-units=1 -Zprofile -Cpanic=abort -Zpanic_abort_tests -Clink-dead-code -Coverflow-checks=off" +export RUSTDOCFLAGS="-Cpanic=abort" diff --git a/browser/config/mozconfigs/macosx64/common-opt b/browser/config/mozconfigs/macosx64/common-opt new file mode 100644 index 0000000000..583718fbf3 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/common-opt @@ -0,0 +1,15 @@ +# This file is sourced by the nightly, beta, and release mozconfigs. + +. $topsrcdir/build/macosx/mozconfig.common +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-google-location-service-api-keyfile=/builds/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=/builds/sb-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 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 diff --git a/browser/config/mozconfigs/macosx64/cross-noopt-debug b/browser/config/mozconfigs/macosx64/cross-noopt-debug new file mode 100644 index 0000000000..87461dfd2e --- /dev/null +++ b/browser/config/mozconfigs/macosx64/cross-noopt-debug @@ -0,0 +1,9 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +# Developers often build with these options for a better debugging experience. +. "$topsrcdir/browser/config/mozconfigs/macosx64/debug" + +# We add this last to guard against inadvertent changes in the debug config. +# It may conflict with settings from mozconfig.override, but that seems +# unlikely. +ac_add_options --disable-optimize diff --git a/browser/config/mozconfigs/macosx64/debug b/browser/config/mozconfigs/macosx64/debug new file mode 100644 index 0000000000..9e2f0928cf --- /dev/null +++ b/browser/config/mozconfigs/macosx64/debug @@ -0,0 +1,14 @@ +. $topsrcdir/build/macosx/mozconfig.common +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-debug + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/debug-asan b/browser/config/mozconfigs/macosx64/debug-asan new file mode 100644 index 0000000000..e701750e21 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/debug-asan @@ -0,0 +1,18 @@ +# Use at least -O1 for optimization to avoid stack space +# exhaustions caused by Clang function inlining. +ac_add_options --enable-application=browser +ac_add_options --enable-debug +ac_add_options --enable-optimize="-O1" + +. $topsrcdir/build/unix/mozconfig.asan + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +# Need this to prevent name conflicts with the normal nightly build packages +# Before mozconfig.common so we can test for asan builds there +export MOZ_PKG_SPECIAL=asan + +. "$topsrcdir/build/macosx/mozconfig.common" +. $topsrcdir/build/mozconfig.wasm-sandboxing +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/debug-fuzzing b/browser/config/mozconfigs/macosx64/debug-fuzzing new file mode 100644 index 0000000000..7a852d4350 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/debug-fuzzing @@ -0,0 +1,8 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/debug" + +ac_add_options --enable-fuzzing + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=fuzzing + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/debug-searchfox b/browser/config/mozconfigs/macosx64/debug-searchfox new file mode 100644 index 0000000000..4e0d85b374 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/debug-searchfox @@ -0,0 +1,16 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 +MOZ_AUTOMATION_CHECK=0 + +. $topsrcdir/build/macosx/mozconfig.common +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-debug + +# Save rust analysis (this requires unlocking the unstable features, +# which is done in the taskcluster task definition via RUSTC_BOOTSTRAP) +export RUSTFLAGS="-Zsave-analysis" + +ac_add_options --enable-clang-plugin +ac_add_options --enable-mozsearch-plugin + +. "$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 0000000000..16c714d6e1 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/debug-static-analysis @@ -0,0 +1,10 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. $topsrcdir/build/macosx/mozconfig.common +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-debug + +ac_add_options --enable-clang-plugin + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/devedition b/browser/config/mozconfigs/macosx64/devedition new file mode 100644 index 0000000000..dfbfb61603 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/devedition @@ -0,0 +1,19 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --enable-instruments + +# Cross-compiled 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/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/l10n-mozconfig b/browser/config/mozconfigs/macosx64/l10n-mozconfig new file mode 100644 index 0000000000..d84bc3fe33 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/l10n-mozconfig @@ -0,0 +1,24 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/build/mozconfig.no-compile" + +if test `uname -s` = "Linux"; then + # We need to indicate the target for cross builds + ac_add_options --target=x86_64-apple-darwin + export MKFSHFS=$MOZ_FETCHES_DIR/hfsplus-tools/newfs_hfs + export DMG_TOOL=$MOZ_FETCHES_DIR/dmg/dmg + export HFS_TOOL=$MOZ_FETCHES_DIR/dmg/hfsplus +fi + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --enable-official-branding + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition b/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition new file mode 100644 index 0000000000..f050b4316e --- /dev/null +++ b/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition @@ -0,0 +1,28 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/build/mozconfig.no-compile" + +if test `uname -s` = "Linux"; then + # We need to indicate the target for cross builds + ac_add_options --target=x86_64-apple-darwin + export MKFSHFS=$MOZ_FETCHES_DIR/hfsplus-tools/newfs_hfs + export DMG_TOOL=$MOZ_FETCHES_DIR/dmg/dmg + export HFS_TOOL=$MOZ_FETCHES_DIR/dmg/hfsplus +fi + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +ac_add_options --disable-nodejs +unset NODEJS + +if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then +ac_add_options --with-macbundlename-prefix=Firefox +fi + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/macosx64/nightly b/browser/config/mozconfigs/macosx64/nightly new file mode 100644 index 0000000000..95cd36fe9e --- /dev/null +++ b/browser/config/mozconfigs/macosx64/nightly @@ -0,0 +1,12 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/common-opt" + +ac_add_options --enable-instruments + +# Cross-compiled builds fail when dtrace is enabled +if test `uname -s` != Linux; then + ac_add_options --enable-dtrace +fi + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/nightly-asan b/browser/config/mozconfigs/macosx64/nightly-asan new file mode 100644 index 0000000000..e4f5adbff8 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/nightly-asan @@ -0,0 +1,22 @@ +ac_add_options --enable-application=browser +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2" + +. $topsrcdir/build/unix/mozconfig.asan + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +# Need this to prevent name conflicts with the normal nightly build packages +# Before mozconfig.common so we can test for asan builds there +export MOZ_PKG_SPECIAL=asan + +. "$topsrcdir/build/macosx/mozconfig.common" +. $topsrcdir/build/mozconfig.wasm-sandboxing + +# This is disabled by mozconfig.asan and reenabled by mozconfig.common. +# Ensure it is disabled since it conflicts with ASan. +ac_add_options --disable-crashreporter + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/nightly-fuzzing-asan b/browser/config/mozconfigs/macosx64/nightly-fuzzing-asan new file mode 100644 index 0000000000..4d9d78e3fe --- /dev/null +++ b/browser/config/mozconfigs/macosx64/nightly-fuzzing-asan @@ -0,0 +1,4 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/nightly-asan" +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --enable-fuzzing diff --git a/browser/config/mozconfigs/macosx64/opt-static-analysis b/browser/config/mozconfigs/macosx64/opt-static-analysis new file mode 100644 index 0000000000..b30af332e1 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/opt-static-analysis @@ -0,0 +1,12 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. $topsrcdir/build/macosx/mozconfig.common +. $topsrcdir/build/mozconfig.wasm-sandboxing + +ac_add_options --disable-debug +ac_add_options --enable-optimize + +ac_add_options --enable-clang-plugin + +. "$topsrcdir/build/mozconfig.common.override" + diff --git a/browser/config/mozconfigs/macosx64/plain-debug b/browser/config/mozconfigs/macosx64/plain-debug new file mode 100644 index 0000000000..874c388884 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/plain-debug @@ -0,0 +1,3 @@ +. "$topsrcdir/browser/config/mozconfigs/macosx64/plain-opt" + +ac_add_options --enable-debug diff --git a/browser/config/mozconfigs/macosx64/plain-opt b/browser/config/mozconfigs/macosx64/plain-opt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/plain-opt diff --git a/browser/config/mozconfigs/macosx64/profile-generate b/browser/config/mozconfigs/macosx64/profile-generate new file mode 100644 index 0000000000..5d8d77d61c --- /dev/null +++ b/browser/config/mozconfigs/macosx64/profile-generate @@ -0,0 +1,6 @@ +. $topsrcdir/browser/config/mozconfigs/macosx64/nightly + +mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" + +ac_add_options --enable-profile-generate=cross +ac_add_options --disable-tests diff --git a/browser/config/mozconfigs/macosx64/release b/browser/config/mozconfigs/macosx64/release new file mode 100644 index 0000000000..840e9afd24 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/release @@ -0,0 +1,12 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/browser/config/mozconfigs/macosx64/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/macosx64/repack b/browser/config/mozconfigs/macosx64/repack new file mode 100644 index 0000000000..96118ec7c3 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/repack @@ -0,0 +1,7 @@ +# This mozconfig is responsible merely for getting the cross tools setup +# for repacking a .tar into a .dmg as returned from signing. + +export MKFSHFS=$MOZ_FETCHES_DIR/hfsplus-tools/newfs_hfs +export DMG_TOOL=$MOZ_FETCHES_DIR/dmg/dmg +export HFS_TOOL=$MOZ_FETCHES_DIR/dmg/hfsplus +ac_add_options --disable-compile-environment diff --git a/browser/config/mozconfigs/whitelist b/browser/config/mozconfigs/whitelist new file mode 100644 index 0000000000..f073b8a45b --- /dev/null +++ b/browser/config/mozconfigs/whitelist @@ -0,0 +1,42 @@ +# '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', 'win64-aarch64', 'win32', 'linux32', 'linux64', 'macosx64'] + +for platform in all_platforms: + whitelist['nightly'][platform] = [ + 'ac_add_options --with-branding=browser/branding/nightly', + ] + +whitelist['nightly']['macosx64'] += [ + 'ac_add_options --enable-instruments', + 'ac_add_options --enable-dtrace', + 'if test `uname -s` != Linux; then', + 'fi', +] + +whitelist['nightly']['win64'] += [ + '. "$topsrcdir/browser/config/mozconfigs/win64/common-win64"', +] + +for platform in all_platforms: + whitelist['release'][platform] = [ + 'ac_add_options --enable-update-channel=release', + 'ac_add_options --enable-official-branding', + 'export BUILDING_RELEASE=1', + ] + +whitelist['release']['linux32'] += [ + 'export MOZILLA_OFFICIAL=1', +] +whitelist['release']['linux64'] += [ + 'export MOZILLA_OFFICIAL=1', +] + +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 0000000000..22b10d8486 --- /dev/null +++ b/browser/config/mozconfigs/win32/add-on-devel @@ -0,0 +1,10 @@ +. $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/beta b/browser/config/mozconfigs/win32/beta new file mode 100644 index 0000000000..9cb7047889 --- /dev/null +++ b/browser/config/mozconfigs/win32/beta @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/browser/config/mozconfigs/win32/common-opt" + +ac_add_options --enable-official-branding + +. "$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 0000000000..adde1b2615 --- /dev/null +++ b/browser/config/mozconfigs/win32/common-opt @@ -0,0 +1,22 @@ +# 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} + +if test `uname -s` != Linux; then +APIKEYDIR="${APIKEYDIR:-${WORKSPACE}}" +else +APIKEYDIR="${APIKEYDIR:-/builds}" +fi + +ac_add_options --with-google-location-service-api-keyfile=${APIKEYDIR}/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=${APIKEYDIR}/sb-gapi.data + +ac_add_options --with-mozilla-api-keyfile=${APIKEYDIR}/mozilla-desktop-geoloc-api.key + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 diff --git a/browser/config/mozconfigs/win32/common-win32 b/browser/config/mozconfigs/win32/common-win32 new file mode 100644 index 0000000000..82ba3fed65 --- /dev/null +++ b/browser/config/mozconfigs/win32/common-win32 @@ -0,0 +1,31 @@ +# This file is used by all Win32 builds + +ac_add_options --target=i686-pc-mingw32 + +. $topsrcdir/build/win32/mozconfig.vs-latest + +if test `uname -s` = Linux; then + +# Configure expects executables for check_prog, so set the relevant files +# as executable on the first evaluation of the mozconfig where they exist. +if [ -d "${VSPATH}" -a ! -x "${VSPATH}/VC/bin/Hostx64/x86/cl.exe" ]; then + find "${VSPATH}" -type f -name \*.exe -exec chmod +x {} \; +fi +export MAKENSISU="${MOZ_FETCHES_DIR}/nsis-3.01/makensis.exe" +if [ -d "${MAKENSISU%/*}" -a ! -x "${MAKENSISU}" ]; then + chmod +x "${MAKENSISU}" +fi +export UPX="${MOZ_FETCHES_DIR}/upx-3.95-win64/upx.exe" +if [ -f "${UPX}" ]; then + chmod +x "${UPX}" +fi +mk_add_options "export PATH=${VSPATH}/VC/bin/Hostx64/x86:${MOZ_FETCHES_DIR}/nsis-3.01:${PATH}" + +unset VC_PATH + +fi + +pdbstr="${MOZ_FETCHES_DIR}/pdbstr/pdbstr.exe" +if [ -f "${pdbstr}" ]; then + chmod +x "${pdbstr}" +fi diff --git a/browser/config/mozconfigs/win32/debug b/browser/config/mozconfigs/win32/debug new file mode 100644 index 0000000000..2f0c2dc696 --- /dev/null +++ b/browser/config/mozconfigs/win32/debug @@ -0,0 +1,15 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" + +ac_add_options --enable-debug + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win32/debug-static-analysis b/browser/config/mozconfigs/win32/debug-static-analysis new file mode 100644 index 0000000000..ad046f27e2 --- /dev/null +++ b/browser/config/mozconfigs/win32/debug-static-analysis @@ -0,0 +1,12 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" + +ac_add_options --enable-debug + +ac_add_options --enable-clang-plugin + +. "$topsrcdir/build/mozconfig.clang-cl" +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win32/devedition b/browser/config/mozconfigs/win32/devedition new file mode 100644 index 0000000000..e84c0385f7 --- /dev/null +++ b/browser/config/mozconfigs/win32/devedition @@ -0,0 +1,10 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/browser/config/mozconfigs/win32/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --with-branding=browser/branding/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win32/l10n-mozconfig b/browser/config/mozconfigs/win32/l10n-mozconfig new file mode 100644 index 0000000000..2531cc233c --- /dev/null +++ b/browser/config/mozconfigs/win32/l10n-mozconfig @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --enable-official-branding + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win32/l10n-mozconfig-devedition b/browser/config/mozconfigs/win32/l10n-mozconfig-devedition new file mode 100644 index 0000000000..de54160e9b --- /dev/null +++ b/browser/config/mozconfigs/win32/l10n-mozconfig-devedition @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win32/mingwclang b/browser/config/mozconfigs/win32/mingwclang new file mode 100644 index 0000000000..59151e8e90 --- /dev/null +++ b/browser/config/mozconfigs/win32/mingwclang @@ -0,0 +1,59 @@ +# Sets: +# MOZ_AUTOMATION flags +# SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE - shouldn't be used? +. "$topsrcdir/build/mozconfig.win-common" + +# Sets: +# build/mozconfig.common +# AUTOCLOBBER=1 +# --enable-crashreporter +# --enable-release +# MOZ_ADDON_SIGNING +# MOZ_REQUIRE_SIGNING +# --enable-js-shell +# build/mozconfig.automation +# MOZ_AUTOMATION_ flags +. "$topsrcdir/browser/config/mozconfigs/common" + +export MOZ_PACKAGE_JSSHELL=1 + +# MinGW Stuff +ac_add_options --target=i686-w64-mingw32 +ac_add_options --with-toolchain-prefix=i686-w64-mingw32- + +ac_add_options --disable-warnings-as-errors +mk_add_options "export WIDL_TIME_OVERRIDE=0" + +# This replicates Tor's configuration +ac_add_options --enable-proxy-bypass-protection + +# These aren't supported on mingw at this time +ac_add_options --disable-webrtc # Bug 1393901 +ac_add_options --disable-geckodriver # Bug 1489320 +ac_add_options --disable-update-agent # Bug 1561797 +ac_add_options --disable-default-browser-agent # WinToast does not build on mingw + +# Find our toolchain +HOST_CC="$MOZ_FETCHES_DIR/clang/bin/clang" +HOST_CXX="$MOZ_FETCHES_DIR/clang/bin/clang++" +CC="$MOZ_FETCHES_DIR/clang/bin/i686-w64-mingw32-clang" +CXX="$MOZ_FETCHES_DIR/clang/bin/i686-w64-mingw32-clang++" +CXXFLAGS="-fms-extensions" +CFLAGS="$CFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}" +CXXFLAGS="$CXXFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}" + +# For Stylo +BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/i686-w64-mingw32/include/c++/v1 -I$MOZ_FETCHES_DIR/clang/i686-w64-mingw32/include" + +# We want to make sure we use binutils and other binaries in the tooltool +# package. +mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH" + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib +mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + +# Do not include the visual studio related mozconfigs of course + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win32/mingwclang-debug b/browser/config/mozconfigs/win32/mingwclang-debug new file mode 100644 index 0000000000..630dd5f6b7 --- /dev/null +++ b/browser/config/mozconfigs/win32/mingwclang-debug @@ -0,0 +1,3 @@ +. "$topsrcdir/browser/config/mozconfigs/win32/mingwclang" + +ac_add_options --enable-debug diff --git a/browser/config/mozconfigs/win32/nightly b/browser/config/mozconfigs/win32/nightly new file mode 100644 index 0000000000..e53ce429c7 --- /dev/null +++ b/browser/config/mozconfigs/win32/nightly @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/browser/config/mozconfigs/win32/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win32/noopt-debug b/browser/config/mozconfigs/win32/noopt-debug new file mode 100644 index 0000000000..d66c139354 --- /dev/null +++ b/browser/config/mozconfigs/win32/noopt-debug @@ -0,0 +1,9 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +# Developers often build with these options for a better debugging experience. +. "$topsrcdir/browser/config/mozconfigs/win32/debug" + +# We add this last to guard against inadvertent changes in the debug config. +# It may conflict with settings from mozconfig.override, but that seems +# unlikely. +ac_add_options --disable-optimize diff --git a/browser/config/mozconfigs/win32/profile-generate b/browser/config/mozconfigs/win32/profile-generate new file mode 100644 index 0000000000..bc29b253c0 --- /dev/null +++ b/browser/config/mozconfigs/win32/profile-generate @@ -0,0 +1,6 @@ +. $topsrcdir/browser/config/mozconfigs/win32/nightly + +mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" + +ac_add_options --enable-profile-generate=cross +ac_add_options --disable-tests diff --git a/browser/config/mozconfigs/win32/release b/browser/config/mozconfigs/win32/release new file mode 100644 index 0000000000..d576f785f0 --- /dev/null +++ b/browser/config/mozconfigs/win32/release @@ -0,0 +1,14 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win32/common-win32" +. "$topsrcdir/browser/config/mozconfigs/win32/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/win32/rusttests b/browser/config/mozconfigs/win32/rusttests new file mode 100644 index 0000000000..b5db8ce21c --- /dev/null +++ b/browser/config/mozconfigs/win32/rusttests @@ -0,0 +1,8 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/browser/config/mozconfigs/win32/nightly" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/win32/rusttests-debug b/browser/config/mozconfigs/win32/rusttests-debug new file mode 100644 index 0000000000..d81d2833d2 --- /dev/null +++ b/browser/config/mozconfigs/win32/rusttests-debug @@ -0,0 +1,8 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/browser/config/mozconfigs/win32/debug" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/win64-aarch64/beta b/browser/config/mozconfigs/win64-aarch64/beta new file mode 100644 index 0000000000..25865a2716 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/beta @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt" + +ac_add_options --enable-official-branding + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64-aarch64/common-opt b/browser/config/mozconfigs/win64-aarch64/common-opt new file mode 100644 index 0000000000..302382a755 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/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} + +if test `uname -s` != Linux; then +APIKEYDIR="${APIKEYDIR:-${WORKSPACE}}" +else +APIKEYDIR="${APIKEYDIR:-/builds}" +fi + +ac_add_options --with-google-location-service-api-keyfile=${APIKEYDIR}/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=${APIKEYDIR}/sb-gapi.data + +ac_add_options --with-mozilla-api-keyfile=${APIKEYDIR}/mozilla-desktop-geoloc-api.key + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +if test -n "$MOZ_ARTIFACT_TASK_WIN32_OPT"; then + ac_add_options --enable-eme=widevine +fi diff --git a/browser/config/mozconfigs/win64-aarch64/common-win64 b/browser/config/mozconfigs/win64-aarch64/common-win64 new file mode 100644 index 0000000000..679146cd12 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/common-win64 @@ -0,0 +1,32 @@ +# This file is used by all AArch64 Win64 builds + +ac_add_options --target=aarch64-windows-mingw32 + +. $topsrcdir/build/win64-aarch64/mozconfig.vs-latest + +if test `uname -s` = Linux; then + +# Configure expects executables for check_prog, so set the relevant files +# as executable on the first evaluation of the mozconfig where they exist. +if [ -d "${VSPATH}" -a ! -x "${VSPATH}/VC/bin/Hostx64/arm64/cl.exe" ]; then + find "${VSPATH}" -type f -name \*.exe -exec chmod +x {} \; +fi +export MAKENSISU="${MOZ_FETCHES_DIR}/nsis-3.01/makensis.exe" +if [ -d "${MAKENSISU%/*}" -a ! -x "${MAKENSISU}" ]; then + chmod +x "${MAKENSISU}" +fi +export UPX="${MOZ_FETCHES_DIR}/upx-3.95-win64/upx.exe" +if [ -f "${UPX}" ]; then + chmod +x "${UPX}" +fi +mk_add_options "export PATH=${VSPATH}/VC/bin/Hostx64/arm64:${MOZ_FETCHES_DIR}/nsis-3.01:${PATH}" +mk_add_options "export WINEPATH=${VSPATH}/VC/bin/Hostx64/x64" + +unset VC_PATH + +fi + +pdbstr="${MOZ_FETCHES_DIR}/pdbstr/pdbstr.exe" +if [ -f "${pdbstr}" ]; then + chmod +x "${pdbstr}" +fi diff --git a/browser/config/mozconfigs/win64-aarch64/debug b/browser/config/mozconfigs/win64-aarch64/debug new file mode 100644 index 0000000000..1242c2f098 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/debug @@ -0,0 +1,16 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" + +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" + +ac_add_options --enable-debug + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64-aarch64/devedition b/browser/config/mozconfigs/win64-aarch64/devedition new file mode 100644 index 0000000000..aec78d51e1 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/devedition @@ -0,0 +1,10 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --with-branding=browser/branding/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig b/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig new file mode 100644 index 0000000000..678ea90f6d --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel="${MOZ_UPDATE_CHANNEL}" +ac_add_options --enable-official-branding + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig-devedition b/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig-devedition new file mode 100644 index 0000000000..f2a04142d5 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/l10n-mozconfig-devedition @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel="${MOZ_UPDATE_CHANNEL}" +ac_add_options --with-branding=browser/branding/aurora + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win64-aarch64/nightly b/browser/config/mozconfigs/win64-aarch64/nightly new file mode 100644 index 0000000000..780233c0e1 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/nightly @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64-aarch64/release b/browser/config/mozconfigs/win64-aarch64/release new file mode 100644 index 0000000000..c8c31b9292 --- /dev/null +++ b/browser/config/mozconfigs/win64-aarch64/release @@ -0,0 +1,14 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt" + +ac_add_options --enable-official-branding + +# 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.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 0000000000..d6ca2862de --- /dev/null +++ b/browser/config/mozconfigs/win64/add-on-devel @@ -0,0 +1,10 @@ +. $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/beta b/browser/config/mozconfigs/win64/beta new file mode 100644 index 0000000000..ab3613c373 --- /dev/null +++ b/browser/config/mozconfigs/win64/beta @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64/common-opt" + +ac_add_options --enable-official-branding + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/code-coverage b/browser/config/mozconfigs/win64/code-coverage new file mode 100644 index 0000000000..9631a36096 --- /dev/null +++ b/browser/config/mozconfigs/win64/code-coverage @@ -0,0 +1,29 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --enable-optimize +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --disable-sandbox +ac_add_options --disable-warnings-as-errors +ac_add_options --enable-coverage +ac_add_options --enable-rust-tests + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +if [ -d "$MOZ_FETCHES_DIR/clang" ]; then + CLANG_LIB_DIR="$(cd $MOZ_FETCHES_DIR/clang/lib/clang/* && cd lib/windows && pwd)" + + export LIB=$LIB:$CLANG_LIB_DIR + export LDFLAGS="clang_rt.profile-x86_64.lib" +fi + +export RUSTFLAGS="-Ccodegen-units=1 -Zprofile -Cpanic=abort -Zpanic_abort_tests -Clink-dead-code -Coverflow-checks=off" +export RUSTDOCFLAGS="-Cpanic=abort" + +. "$topsrcdir/build/mozconfig.clang-cl" +. "$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 0000000000..adde1b2615 --- /dev/null +++ b/browser/config/mozconfigs/win64/common-opt @@ -0,0 +1,22 @@ +# 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} + +if test `uname -s` != Linux; then +APIKEYDIR="${APIKEYDIR:-${WORKSPACE}}" +else +APIKEYDIR="${APIKEYDIR:-/builds}" +fi + +ac_add_options --with-google-location-service-api-keyfile=${APIKEYDIR}/gls-gapi.data +ac_add_options --with-google-safebrowsing-api-keyfile=${APIKEYDIR}/sb-gapi.data + +ac_add_options --with-mozilla-api-keyfile=${APIKEYDIR}/mozilla-desktop-geoloc-api.key + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# 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 0000000000..1f8c9c321f --- /dev/null +++ b/browser/config/mozconfigs/win64/common-win64 @@ -0,0 +1,31 @@ +# This file is used by all Win64 builds + +ac_add_options --target=x86_64-pc-mingw32 + +. $topsrcdir/build/win64/mozconfig.vs-latest + +if test `uname -s` = Linux; then + +# Configure expects executables for check_prog, so set the relevant files +# as executable on the first evaluation of the mozconfig where they exist. +if [ -d "${VSPATH}" -a ! -x "${VSPATH}/VC/bin/Hostx64/x64/cl.exe" ]; then + find "${VSPATH}" -type f -name \*.exe -exec chmod +x {} \; +fi +export MAKENSISU="${MOZ_FETCHES_DIR}/nsis-3.01/makensis.exe" +if [ -d "${MAKENSISU%/*}" -a ! -x "${MAKENSISU}" ]; then + chmod +x "${MAKENSISU}" +fi +export UPX="${MOZ_FETCHES_DIR}/upx-3.95-win64/upx.exe" +if [ -f "${UPX}" ]; then + chmod +x "${UPX}" +fi +mk_add_options "export PATH=${VSPATH}/VC/bin/Hostx64/x64:${MOZ_FETCHES_DIR}/nsis-3.01:${PATH}" + +unset VC_PATH + +fi + +pdbstr="${MOZ_FETCHES_DIR}/pdbstr/pdbstr.exe" +if [ -f "${pdbstr}" ]; then + chmod +x "${pdbstr}" +fi diff --git a/browser/config/mozconfigs/win64/debug b/browser/config/mozconfigs/win64/debug new file mode 100644 index 0000000000..a00c407529 --- /dev/null +++ b/browser/config/mozconfigs/win64/debug @@ -0,0 +1,15 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --enable-debug + +# Needed to enable breakpad in application.ini +export MOZILLA_OFFICIAL=1 + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/debug-asan b/browser/config/mozconfigs/win64/debug-asan new file mode 100644 index 0000000000..bfa36daadd --- /dev/null +++ b/browser/config/mozconfigs/win64/debug-asan @@ -0,0 +1,16 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --enable-debug +ac_add_options --enable-optimize="-O1" + +. "$topsrcdir/build/win64/mozconfig.asan" + +export MOZ_PACKAGE_JSSHELL=1 +export MOZ_PKG_SPECIAL=asan + +# Disable telemetry +ac_add_options MOZ_TELEMETRY_REPORTING= + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/debug-fuzzing b/browser/config/mozconfigs/win64/debug-fuzzing new file mode 100644 index 0000000000..a4d6931fe0 --- /dev/null +++ b/browser/config/mozconfigs/win64/debug-fuzzing @@ -0,0 +1,11 @@ +. "$topsrcdir/browser/config/mozconfigs/win64/debug" + +# Disable telemetry. All network activity is undesirable in fuzzing. +ac_add_options MOZ_TELEMETRY_REPORTING= + +ac_add_options --enable-fuzzing + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=fuzzing + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/debug-searchfox b/browser/config/mozconfigs/win64/debug-searchfox new file mode 100644 index 0000000000..56d44b81a1 --- /dev/null +++ b/browser/config/mozconfigs/win64/debug-searchfox @@ -0,0 +1,19 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 +MOZ_AUTOMATION_CHECK=0 + +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --enable-optimize +ac_add_options --enable-debug + +# Save rust analysis (this requires unlocking the unstable features, +# which is done in the taskcluster task definition via RUSTC_BOOTSTRAP) +export RUSTFLAGS="-Zsave-analysis" + +ac_add_options --enable-clang-plugin +ac_add_options --enable-mozsearch-plugin + +. "$topsrcdir/build/mozconfig.clang-cl" +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/devedition b/browser/config/mozconfigs/win64/devedition new file mode 100644 index 0000000000..3842c35407 --- /dev/null +++ b/browser/config/mozconfigs/win64/devedition @@ -0,0 +1,10 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64/common-opt" + +# Add-on signing is not required for DevEdition +MOZ_REQUIRE_SIGNING=0 + +ac_add_options --with-branding=browser/branding/aurora + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/l10n-mozconfig b/browser/config/mozconfigs/win64/l10n-mozconfig new file mode 100644 index 0000000000..c8c1368a41 --- /dev/null +++ b/browser/config/mozconfigs/win64/l10n-mozconfig @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --enable-official-branding + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win64/l10n-mozconfig-devedition b/browser/config/mozconfigs/win64/l10n-mozconfig-devedition new file mode 100644 index 0000000000..26dcfea7b3 --- /dev/null +++ b/browser/config/mozconfigs/win64/l10n-mozconfig-devedition @@ -0,0 +1,17 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/build/mozconfig.no-compile" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +ac_add_options --disable-nodejs +unset NODEJS + +export MOZILLA_OFFICIAL=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" diff --git a/browser/config/mozconfigs/win64/mingwclang b/browser/config/mozconfigs/win64/mingwclang new file mode 100755 index 0000000000..76ff671943 --- /dev/null +++ b/browser/config/mozconfigs/win64/mingwclang @@ -0,0 +1,59 @@ +# Sets: +# MOZ_AUTOMATION flags +# SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE - shouldn't be used? +. "$topsrcdir/build/mozconfig.win-common" + +# Sets: +# build/mozconfig.common +# AUTOCLOBBER=1 +# --enable-crashreporter +# --enable-release +# MOZ_ADDON_SIGNING +# MOZ_REQUIRE_SIGNING +# --enable-js-shell +# build/mozconfig.automation +# MOZ_AUTOMATION_ flags +. "$topsrcdir/browser/config/mozconfigs/common" + +export MOZ_PACKAGE_JSSHELL=1 + +# MinGW Stuff +ac_add_options --target=x86_64-w64-mingw32 +ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32- + +ac_add_options --disable-warnings-as-errors +mk_add_options "export WIDL_TIME_OVERRIDE=0" + +# This replicates Tor's configuration +ac_add_options --enable-proxy-bypass-protection + +# These aren't supported on mingw at this time +ac_add_options --disable-webrtc # Bug 1393901 +ac_add_options --disable-geckodriver # Bug 1489320 +ac_add_options --disable-update-agent # Bug 1561797 +ac_add_options --disable-default-browser-agent # WinToast does not build on mingw + +# Find our toolchain +HOST_CC="$MOZ_FETCHES_DIR/clang/bin/clang" +HOST_CXX="$MOZ_FETCHES_DIR/clang/bin/clang++" +CC="$MOZ_FETCHES_DIR/clang/bin/x86_64-w64-mingw32-clang" +CXX="$MOZ_FETCHES_DIR/clang/bin/x86_64-w64-mingw32-clang++" +CXXFLAGS="-fms-extensions" +CFLAGS="$CFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}" +CXXFLAGS="$CXXFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}" + +# For Stylo +BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/x86_64-w64-mingw32/include/c++/v1 -I$MOZ_FETCHES_DIR/clang/x86_64-w64-mingw32/include" + +# We want to make sure we use binutils and other binaries in the tooltool +# package. +mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH" + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib +mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + +# Do not include the visual studio related mozconfigs of course + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/mingwclang-debug b/browser/config/mozconfigs/win64/mingwclang-debug new file mode 100644 index 0000000000..d4de97a5b8 --- /dev/null +++ b/browser/config/mozconfigs/win64/mingwclang-debug @@ -0,0 +1,3 @@ +. "$topsrcdir/browser/config/mozconfigs/win64/mingwclang" + +ac_add_options --enable-debug diff --git a/browser/config/mozconfigs/win64/nightly b/browser/config/mozconfigs/win64/nightly new file mode 100644 index 0000000000..a4cf517613 --- /dev/null +++ b/browser/config/mozconfigs/win64/nightly @@ -0,0 +1,7 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64/common-opt" + +ac_add_options --with-branding=browser/branding/nightly + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/nightly-asan b/browser/config/mozconfigs/win64/nightly-asan new file mode 100644 index 0000000000..59a6e7eea5 --- /dev/null +++ b/browser/config/mozconfigs/win64/nightly-asan @@ -0,0 +1,16 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +. "$topsrcdir/build/win64/mozconfig.asan" + +export MOZ_PACKAGE_JSSHELL=1 +export MOZ_PKG_SPECIAL=asan + +# Disable telemetry +ac_add_options MOZ_TELEMETRY_REPORTING= + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/nightly-asan-reporter b/browser/config/mozconfigs/win64/nightly-asan-reporter new file mode 100644 index 0000000000..c86e6b83d9 --- /dev/null +++ b/browser/config/mozconfigs/win64/nightly-asan-reporter @@ -0,0 +1,18 @@ +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64/common-opt" + +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" +ac_add_options --enable-address-sanitizer-reporter + +. "$topsrcdir/build/win64/mozconfig.asan" + +export MOZ_PKG_SPECIAL=asan-reporter + +ac_add_options --with-branding=browser/branding/nightly + +# Sandboxing is currently not compatible with the way the ASan reporter works +ac_add_options --disable-sandbox + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/nightly-fuzzing-asan b/browser/config/mozconfigs/win64/nightly-fuzzing-asan new file mode 100755 index 0000000000..e0d9d0f178 --- /dev/null +++ b/browser/config/mozconfigs/win64/nightly-fuzzing-asan @@ -0,0 +1,13 @@ +. "$topsrcdir/browser/config/mozconfigs/win64/nightly-asan" + +# Disable telemetry +ac_add_options MOZ_TELEMETRY_REPORTING= + +ac_add_options --disable-crashreporter + +ac_add_options --enable-fuzzing + +# Need this to prevent name conflicts with the normal nightly build packages +export MOZ_PKG_SPECIAL=asan-fuzzing + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/noopt-debug b/browser/config/mozconfigs/win64/noopt-debug new file mode 100644 index 0000000000..a11b25d687 --- /dev/null +++ b/browser/config/mozconfigs/win64/noopt-debug @@ -0,0 +1,9 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +# Developers often build with these options for a better debugging experience. +. "$topsrcdir/browser/config/mozconfigs/win64/debug" + +# We add this last to guard against inadvertent changes in the debug config. +# It may conflict with settings from mozconfig.override, but that seems +# unlikely. +ac_add_options --disable-optimize diff --git a/browser/config/mozconfigs/win64/plain-debug b/browser/config/mozconfigs/win64/plain-debug new file mode 100644 index 0000000000..0587a32587 --- /dev/null +++ b/browser/config/mozconfigs/win64/plain-debug @@ -0,0 +1,3 @@ +. $topsrcdir/browser/config/mozconfigs/win64/plain-opt + +ac_add_options --enable-debug diff --git a/browser/config/mozconfigs/win64/plain-opt b/browser/config/mozconfigs/win64/plain-opt new file mode 100644 index 0000000000..06bf0939bd --- /dev/null +++ b/browser/config/mozconfigs/win64/plain-opt @@ -0,0 +1,3 @@ +ac_add_options --target=x86_64-pc-mingw32 + +. $topsrcdir/build/win64/mozconfig.vs-latest diff --git a/browser/config/mozconfigs/win64/profile-generate b/browser/config/mozconfigs/win64/profile-generate new file mode 100644 index 0000000000..7fd41616ab --- /dev/null +++ b/browser/config/mozconfigs/win64/profile-generate @@ -0,0 +1,6 @@ +. $topsrcdir/browser/config/mozconfigs/win64/nightly + +mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0" + +ac_add_options --enable-profile-generate=cross +ac_add_options --disable-tests diff --git a/browser/config/mozconfigs/win64/release b/browser/config/mozconfigs/win64/release new file mode 100644 index 0000000000..df6e68bef1 --- /dev/null +++ b/browser/config/mozconfigs/win64/release @@ -0,0 +1,14 @@ +# This make file should be identical to the beta mozconfig, apart from the +# safeguard below + +. "$topsrcdir/build/mozconfig.win-common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" +. "$topsrcdir/browser/config/mozconfigs/win64/common-opt" + +ac_add_options --enable-official-branding + +# 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.common.override" diff --git a/browser/config/mozconfigs/win64/rusttests b/browser/config/mozconfigs/win64/rusttests new file mode 100644 index 0000000000..7864648d3c --- /dev/null +++ b/browser/config/mozconfigs/win64/rusttests @@ -0,0 +1,8 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/browser/config/mozconfigs/win64/nightly" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver diff --git a/browser/config/mozconfigs/win64/rusttests-debug b/browser/config/mozconfigs/win64/rusttests-debug new file mode 100644 index 0000000000..fe6f374594 --- /dev/null +++ b/browser/config/mozconfigs/win64/rusttests-debug @@ -0,0 +1,8 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/browser/config/mozconfigs/win64/debug" + +unset ENABLE_CLANG_PLUGIN + +# Test geckodriver, which isn't built as part of the build jobs +ac_add_options --enable-geckodriver |