Bug 1726100 - Move wasm-sandboxing defaults to configure. r=firefox-build-system-reviewers,andi

This has the side-effect of enabling it on plain builds, which thus now
require the wasi sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D122826
This commit is contained in:
Mike Hommey 2021-08-18 01:09:58 +00:00
Родитель cae349eade
Коммит a0196647e2
27 изменённых файлов: 23 добавлений и 41 удалений

Просмотреть файл

@ -5,8 +5,6 @@ ac_add_options --enable-optimize="-O2 -gline-tables-only"
#add-on signing is checked but not enforced
MOZ_REQUIRE_SIGNING=
. $topsrcdir/build/mozconfig.wasm-sandboxing
# ASan specific options on Linux
ac_add_options --enable-valgrind

Просмотреть файл

@ -1,7 +1,5 @@
# 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

Просмотреть файл

@ -1,6 +1,5 @@
ac_add_options --enable-debug
. $topsrcdir/build/mozconfig.wasm-sandboxing
. $topsrcdir/build/unix/mozconfig.linux
# Needed to enable breakpad in application.ini

Просмотреть файл

@ -3,8 +3,6 @@
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

Просмотреть файл

@ -1,6 +1,5 @@
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"

Просмотреть файл

@ -1,6 +1,5 @@
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"

Просмотреть файл

@ -5,8 +5,6 @@ MOZ_AUTOMATION_CHECK=0
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"

Просмотреть файл

@ -4,8 +4,6 @@ MOZ_AUTOMATION_BUILD_SYMBOLS=0
ac_add_options --enable-debug
. $topsrcdir/build/mozconfig.wasm-sandboxing
# Add the static checker
ac_add_options --enable-clang-plugin

Просмотреть файл

@ -2,8 +2,6 @@
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

Просмотреть файл

@ -5,8 +5,6 @@ ac_add_options --enable-optimize="-O2 -gline-tables-only"
#add-on signing is checked but not enforced
MOZ_REQUIRE_SIGNING=
. $topsrcdir/build/mozconfig.wasm-sandboxing
# ASan specific options on Linux
ac_add_options --enable-valgrind

Просмотреть файл

@ -5,8 +5,6 @@ ac_add_options --disable-optimize
#add-on signing is checked but not enforced
MOZ_REQUIRE_SIGNING=
. $topsrcdir/build/mozconfig.wasm-sandboxing
# ASan specific options on Linux
ac_add_options --enable-valgrind

Просмотреть файл

@ -2,8 +2,6 @@
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

Просмотреть файл

@ -1,6 +1,5 @@
# This file is sourced by the nightly, beta, and release mozconfigs.
. $topsrcdir/build/mozconfig.wasm-sandboxing
. $topsrcdir/build/macosx/mozconfig.common
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}

Просмотреть файл

@ -1,7 +1,6 @@
# 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

Просмотреть файл

@ -1,5 +1,4 @@
. $topsrcdir/build/macosx/mozconfig.common
. $topsrcdir/build/mozconfig.wasm-sandboxing
ac_add_options --enable-debug

Просмотреть файл

@ -14,5 +14,4 @@ export MOZ_PACKAGE_JSSHELL=1
export MOZ_PKG_SPECIAL=asan
. "$topsrcdir/build/macosx/mozconfig.common"
. $topsrcdir/build/mozconfig.wasm-sandboxing
. "$topsrcdir/build/mozconfig.common.override"

Просмотреть файл

@ -2,7 +2,6 @@ MOZ_AUTOMATION_BUILD_SYMBOLS=0
MOZ_AUTOMATION_CHECK=0
. $topsrcdir/build/macosx/mozconfig.common
. $topsrcdir/build/mozconfig.wasm-sandboxing
ac_add_options --enable-debug

Просмотреть файл

@ -1,7 +1,6 @@
MOZ_AUTOMATION_BUILD_SYMBOLS=0
. $topsrcdir/build/macosx/mozconfig.common
. $topsrcdir/build/mozconfig.wasm-sandboxing
ac_add_options --enable-debug

Просмотреть файл

@ -13,7 +13,6 @@ export MOZ_PACKAGE_JSSHELL=1
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.

Просмотреть файл

@ -1,4 +1,3 @@
. "$topsrcdir/browser/config/mozconfigs/macosx64/nightly-asan"
. $topsrcdir/build/mozconfig.wasm-sandboxing
ac_add_options --enable-fuzzing

Просмотреть файл

@ -1,7 +1,6 @@
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

Просмотреть файл

@ -1,9 +0,0 @@
# Tell the build system about bits to build sandboxed wasm libraries.
case "$PERFHERDER_EXTRA_OPTIONS" in
base-toolchains*)
# Clang versions < 8.0 don't support wasm.
;;
*)
export WASM_SANDBOXED_LIBRARIES=graphite,ogg,hunspell
;;
esac

Просмотреть файл

@ -35,4 +35,11 @@ else
mk_add_options "export PATH=$MOZ_FETCHES_DIR/binutils/bin:$PATH"
fi
case "$PERFHERDER_EXTRA_OPTIONS" in
base-toolchains*)
# Clang versions < 8.0 don't support wasm.
export WASM_SANDBOXED_LIBRARIES=
;;
esac
. "$topsrcdir/build/unix/mozconfig.stdcxx"

Просмотреть файл

@ -123,6 +123,7 @@ linux64-plain/opt:
- linux64-cbindgen
- linux64-dump_syms
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
optimization:
skip-unless-expanded: null
@ -208,6 +209,7 @@ linux64-plain-clang-trunk/opt:
- linux64-dump_syms
- linux64-toolchain-sysroot
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
optimization:
skip-unless-expanded: null
@ -449,6 +451,7 @@ linux64-plain/debug:
- linux64-cbindgen
- linux64-dump_syms
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
optimization:
skip-unless-expanded: null

Просмотреть файл

@ -41,6 +41,7 @@ macosx64-plain/opt:
- macosx64-nasm
- macosx64-node
- macosx64-rust
- sysroot-wasm32-wasi
optimization:
skip-unless-expanded: null
@ -73,6 +74,7 @@ macosx64-plain/debug:
- macosx64-nasm
- macosx64-node
- macosx64-rust
- sysroot-wasm32-wasi
optimization:
skip-unless-expanded: null

Просмотреть файл

@ -2067,12 +2067,22 @@ def wasm_sandboxing_libraries():
)
@depends(dependable(wasm_sandboxing_libraries), target, "MOZ_AUTOMATION")
def default_wasm_sandboxing_libraries(libraries, target, automation):
if automation and (
(target.kernel == "Linux" and target.os == "GNU" and target.cpu == "x86_64")
or (target.kernel == "Darwin" and target.bitness == 64)
):
return libraries
option(
"--with-wasm-sandboxed-libraries",
env="WASM_SANDBOXED_LIBRARIES",
help="Enable wasm sandboxing for the selected libraries",
help="{Enable wasm sandboxing for the selected libraries|Disable wasm sandboxing}",
nargs="+",
choices=dependable(wasm_sandboxing_libraries),
default=default_wasm_sandboxing_libraries,
)

Просмотреть файл

@ -1,3 +1,2 @@
. "$topsrcdir/build/mozconfig.wasm-sandboxing"
. "$topsrcdir/build/unix/mozconfig.linux"
. "$topsrcdir/tools/rusttests/config/mozconfigs/common"