diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /browser/config/mozconfigs/linux64 | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/config/mozconfigs/linux64')
35 files changed, 528 insertions, 0 deletions
diff --git a/browser/config/mozconfigs/linux64/add-on-devel b/browser/config/mozconfigs/linux64/add-on-devel new file mode 100644 index 0000000000..50c4cd0705 --- /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= + +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..6838dbabb4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/asan-fuzzing-ccov @@ -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= + +# 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 or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +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..c54562772d --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage @@ -0,0 +1,16 @@ +. "$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 --without-wasm-sandboxed-libraries +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..3c511dc104 --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage-debug @@ -0,0 +1,9 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +ac_add_options --enable-debug=-g1 +ac_add_options --enable-rust-tests + +# https://bugs.llvm.org/show_bug.cgi?id=49226 +# LLD 12.0.0 had a behavior change that breaks coverage builds. +# Passing --no-fortran-common restores the old behavior. +export LDFLAGS="$LDFLAGS -Wl,--no-fortran-common" diff --git a/browser/config/mozconfigs/linux64/code-coverage-opt b/browser/config/mozconfigs/linux64/code-coverage-opt new file mode 100644 index 0000000000..364c8a23a9 --- /dev/null +++ b/browser/config/mozconfigs/linux64/code-coverage-opt @@ -0,0 +1,9 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --enable-rust-tests + +# https://bugs.llvm.org/show_bug.cgi?id=49226 +# LLD 12.0.0 had a behavior change that breaks coverage builds. +# Passing --no-fortran-common restores the old behavior. +export LDFLAGS="$LDFLAGS -Wl,--no-fortran-common" diff --git a/browser/config/mozconfigs/linux64/common-opt b/browser/config/mozconfigs/linux64/common-opt new file mode 100644 index 0000000000..7181c511ba --- /dev/null +++ b/browser/config/mozconfigs/linux64/common-opt @@ -0,0 +1,14 @@ +# 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 + +# 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..e6be773cf8 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug @@ -0,0 +1,13 @@ +ac_add_options --enable-debug + +. $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..a4999be7d1 --- /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" + +# 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-linker=lld + +# 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..e857c7ee7e --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-fuzzing @@ -0,0 +1,31 @@ +ac_add_options --enable-debug + +. $topsrcdir/build/unix/mozconfig.linux + +export LLVM_SYMBOLIZER="$MOZ_FETCHES_DIR/llvm-symbolizer/bin/llvm-symbolizer" + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --enable-fuzzing +unset MOZ_STDCXX_COMPAT + +# gold or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +# 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-fuzzing-noopt b/browser/config/mozconfigs/linux64/debug-fuzzing-noopt new file mode 100644 index 0000000000..3a7a978650 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-fuzzing-noopt @@ -0,0 +1,29 @@ +ac_add_options --enable-debug + +. $topsrcdir/build/unix/mozconfig.linux + +export LLVM_SYMBOLIZER="$MOZ_FETCHES_DIR/llvm-symbolizer/bin/llvm-symbolizer" + +# Package js shell. +export MOZ_PACKAGE_JSSHELL=1 + +ac_add_options --enable-fuzzing +ac_add_options --enable-linker=lld +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 --disable-optimize + +# 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..20bea865e4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-searchfox-clang @@ -0,0 +1,14 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 +MOZ_AUTOMATION_CHECK=0 + +. "$topsrcdir/build/unix/mozconfig.unix" + +ac_add_options --enable-debug + +# 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..91d29f1709 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-static-analysis-clang @@ -0,0 +1,12 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. "$topsrcdir/build/mozconfig.common" + +ac_add_options --enable-debug + +# 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..97bba5d7b6 --- /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= + +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..002d9cd75e --- /dev/null +++ b/browser/config/mozconfigs/linux64/fuzzing-ccov @@ -0,0 +1,19 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/code-coverage" + +export LLVM_SYMBOLIZER="$MOZ_FETCHES_DIR/llvm-symbolizer/bin/llvm-symbolizer" + +# 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 + +ac_add_options --enable-debug-symbols=-g1 +ac_add_options --enable-fuzzing + +# 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 + +# gold or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld 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-as-release b/browser/config/mozconfigs/linux64/nightly-as-release new file mode 100644 index 0000000000..85b8807b1b --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-as-release @@ -0,0 +1,3 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/nightly" + +ac_add_options --as-milestone=release diff --git a/browser/config/mozconfigs/linux64/nightly-asan b/browser/config/mozconfigs/linux64/nightly-asan new file mode 100644 index 0000000000..f16dd8cd88 --- /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" + +# 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-linker=lld + +# 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..3e6ee34bdb --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan @@ -0,0 +1,34 @@ +# 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= + +# 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 or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +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/nightly-fuzzing-asan-noopt b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-noopt new file mode 100644 index 0000000000..a377a53288 --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-noopt @@ -0,0 +1,34 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --disable-optimize + +#add-on signing is checked but not enforced +MOZ_REQUIRE_SIGNING= + +# 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 or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +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/nightly-fuzzing-asan-nyx b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-nyx new file mode 100644 index 0000000000..bf66d15f85 --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-nyx @@ -0,0 +1,40 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +export CC="$MOZ_FETCHES_DIR/afl-instrumentation/bin/afl-clang-fast" +export CXX="$MOZ_FETCHES_DIR/afl-instrumentation/bin/afl-clang-fast++" + +export HOST_CC="$MOZ_FETCHES_DIR/clang/bin/clang" +export HOST_CXX="$MOZ_FETCHES_DIR/clang/bin/clang++" + +#add-on signing is checked but not enforced +MOZ_REQUIRE_SIGNING= + +# 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 or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +ac_add_options --enable-snapshot-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/non-unified b/browser/config/mozconfigs/linux64/non-unified new file mode 100644 index 0000000000..7f2bd197a3 --- /dev/null +++ b/browser/config/mozconfigs/linux64/non-unified @@ -0,0 +1,5 @@ +MOZ_AUTOMATION_BUILD_SYMBOLS=0 + +. $topsrcdir/browser/config/mozconfigs/linux64/nightly + +ac_add_options --disable-unified-build 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..b5c1e469c5 --- /dev/null +++ b/browser/config/mozconfigs/linux64/plain-opt @@ -0,0 +1 @@ +ac_add_options --disable-release diff --git a/browser/config/mozconfigs/linux64/plain-opt-trunk b/browser/config/mozconfigs/linux64/plain-opt-trunk new file mode 100644 index 0000000000..9080fe485d --- /dev/null +++ b/browser/config/mozconfigs/linux64/plain-opt-trunk @@ -0,0 +1,2 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +ac_add_options --enable-clang-plugin 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..37723c43d4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/release @@ -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/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..7433612cd7 --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan @@ -0,0 +1,24 @@ +# We still need to build with debug symbols +ac_add_options --disable-debug +ac_add_options --enable-optimize="-O2 -gline-tables-only" + +. $topsrcdir/build/unix/mozconfig.linux +. $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..54821a26cd --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan-fuzzing @@ -0,0 +1,7 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/tsan" + +# gold or lld is required for libFuzzer to work properly +ac_add_options --enable-linker=lld + +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" |