From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- browser/config/mozconfigs/linux64/add-on-devel | 10 ++++++ .../config/mozconfigs/linux64/asan-fuzzing-ccov | 32 +++++++++++++++++++ browser/config/mozconfigs/linux64/beta | 5 +++ browser/config/mozconfigs/linux64/code-coverage | 15 +++++++++ .../config/mozconfigs/linux64/code-coverage-debug | 9 ++++++ .../config/mozconfigs/linux64/code-coverage-opt | 9 ++++++ browser/config/mozconfigs/linux64/common-opt | 14 +++++++++ browser/config/mozconfigs/linux64/debug | 13 ++++++++ browser/config/mozconfigs/linux64/debug-asan | 29 +++++++++++++++++ browser/config/mozconfigs/linux64/debug-fuzzing | 28 +++++++++++++++++ .../config/mozconfigs/linux64/debug-fuzzing-noopt | 28 +++++++++++++++++ .../mozconfigs/linux64/debug-searchfox-clang | 14 +++++++++ .../mozconfigs/linux64/debug-static-analysis-clang | 12 ++++++++ browser/config/mozconfigs/linux64/devedition | 8 +++++ browser/config/mozconfigs/linux64/fuzzing-ccov | 16 ++++++++++ browser/config/mozconfigs/linux64/l10n-mozconfig | 13 ++++++++ .../mozconfigs/linux64/l10n-mozconfig-devedition | 13 ++++++++ browser/config/mozconfigs/linux64/nightly | 5 +++ .../config/mozconfigs/linux64/nightly-as-release | 3 ++ browser/config/mozconfigs/linux64/nightly-asan | 27 ++++++++++++++++ .../mozconfigs/linux64/nightly-asan-reporter | 19 ++++++++++++ .../config/mozconfigs/linux64/nightly-fuzzing-asan | 30 ++++++++++++++++++ .../mozconfigs/linux64/nightly-fuzzing-asan-noopt | 30 ++++++++++++++++++ .../mozconfigs/linux64/nightly-fuzzing-asan-nyx | 36 ++++++++++++++++++++++ browser/config/mozconfigs/linux64/non-unified | 5 +++ browser/config/mozconfigs/linux64/noopt-debug | 7 +++++ browser/config/mozconfigs/linux64/plain-debug | 3 ++ browser/config/mozconfigs/linux64/plain-opt | 1 + browser/config/mozconfigs/linux64/plain-opt-trunk | 2 ++ browser/config/mozconfigs/linux64/profile-generate | 6 ++++ browser/config/mozconfigs/linux64/release | 5 +++ browser/config/mozconfigs/linux64/source | 6 ++++ browser/config/mozconfigs/linux64/tsan | 23 ++++++++++++++ browser/config/mozconfigs/linux64/tsan-fuzzing | 4 +++ browser/config/mozconfigs/linux64/valgrind | 13 ++++++++ 35 files changed, 493 insertions(+) create mode 100644 browser/config/mozconfigs/linux64/add-on-devel create mode 100644 browser/config/mozconfigs/linux64/asan-fuzzing-ccov create mode 100644 browser/config/mozconfigs/linux64/beta create mode 100644 browser/config/mozconfigs/linux64/code-coverage create mode 100644 browser/config/mozconfigs/linux64/code-coverage-debug create mode 100644 browser/config/mozconfigs/linux64/code-coverage-opt create mode 100644 browser/config/mozconfigs/linux64/common-opt create mode 100644 browser/config/mozconfigs/linux64/debug create mode 100644 browser/config/mozconfigs/linux64/debug-asan create mode 100644 browser/config/mozconfigs/linux64/debug-fuzzing create mode 100644 browser/config/mozconfigs/linux64/debug-fuzzing-noopt create mode 100644 browser/config/mozconfigs/linux64/debug-searchfox-clang create mode 100644 browser/config/mozconfigs/linux64/debug-static-analysis-clang create mode 100644 browser/config/mozconfigs/linux64/devedition create mode 100644 browser/config/mozconfigs/linux64/fuzzing-ccov create mode 100644 browser/config/mozconfigs/linux64/l10n-mozconfig create mode 100644 browser/config/mozconfigs/linux64/l10n-mozconfig-devedition create mode 100644 browser/config/mozconfigs/linux64/nightly create mode 100644 browser/config/mozconfigs/linux64/nightly-as-release create mode 100644 browser/config/mozconfigs/linux64/nightly-asan create mode 100644 browser/config/mozconfigs/linux64/nightly-asan-reporter create mode 100644 browser/config/mozconfigs/linux64/nightly-fuzzing-asan create mode 100644 browser/config/mozconfigs/linux64/nightly-fuzzing-asan-noopt create mode 100644 browser/config/mozconfigs/linux64/nightly-fuzzing-asan-nyx create mode 100644 browser/config/mozconfigs/linux64/non-unified create mode 100644 browser/config/mozconfigs/linux64/noopt-debug create mode 100644 browser/config/mozconfigs/linux64/plain-debug create mode 100644 browser/config/mozconfigs/linux64/plain-opt create mode 100644 browser/config/mozconfigs/linux64/plain-opt-trunk create mode 100644 browser/config/mozconfigs/linux64/profile-generate create mode 100644 browser/config/mozconfigs/linux64/release create mode 100644 browser/config/mozconfigs/linux64/source create mode 100644 browser/config/mozconfigs/linux64/tsan create mode 100644 browser/config/mozconfigs/linux64/tsan-fuzzing create mode 100644 browser/config/mozconfigs/linux64/valgrind (limited to 'browser/config/mozconfigs/linux64') 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..d074a98c55 --- /dev/null +++ b/browser/config/mozconfigs/linux64/asan-fuzzing-ccov @@ -0,0 +1,32 @@ +# 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-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" + +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..7df87c2ccd --- /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-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 -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..f4f08643b1 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-asan @@ -0,0 +1,29 @@ +# 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 + +# 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..c1b737cbb2 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-fuzzing @@ -0,0 +1,28 @@ +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 + +# 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..a3c94adfe1 --- /dev/null +++ b/browser/config/mozconfigs/linux64/debug-fuzzing-noopt @@ -0,0 +1,28 @@ +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 + +# 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..bd6d45d01f --- /dev/null +++ b/browser/config/mozconfigs/linux64/fuzzing-ccov @@ -0,0 +1,16 @@ +. "$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 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..03416c580a --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-asan @@ -0,0 +1,27 @@ +# 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 + +# 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..b8940b2c9b --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-asan-reporter @@ -0,0 +1,19 @@ +. "$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 --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..114ced3ad6 --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-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" + +#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 + +# 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" + +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..4743405afc --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-noopt @@ -0,0 +1,30 @@ +# 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 + +# 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" + +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..e970ce2576 --- /dev/null +++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan-nyx @@ -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" + +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 + +# 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" + +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..9d740133c5 --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan @@ -0,0 +1,23 @@ +# 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 + +# 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..c7da44cd2c --- /dev/null +++ b/browser/config/mozconfigs/linux64/tsan-fuzzing @@ -0,0 +1,4 @@ +. "$topsrcdir/browser/config/mozconfigs/linux64/tsan" + +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" -- cgit v1.2.3