From 9e987fe5ab25056efb317eaa2dd1f320ecc7161f Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Sat, 24 Dec 2022 18:14:37 +0000 Subject: [PATCH] Set the C target to wasm32-wasi rather than wasm32 We need at least a partial C stdlib anyway, so there's no real difference going ahead and linking wasm32-wasi on the C side vs only on the Rust side. This fixes compilation on Debian testing with OS packages installed. --- genbindings.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genbindings.sh b/genbindings.sh index 4f79503..f26ea5d 100755 --- a/genbindings.sh +++ b/genbindings.sh @@ -509,9 +509,9 @@ if [ "$2" = "false" -a "$(rustc --print target-list | grep wasm32-wasi)" != "" ] echo "int main() {}" > genbindings_wasm_test_file.c if clang -nostdlib -o /dev/null --target=wasm32-wasi -Wl,--no-entry genbindings_wasm_test_file.c > /dev/null 2>&1; then # And if it does, build a WASM binary without capturing errors - export CFLAGS_wasm32_wasi="$BASE_CFLAGS -target wasm32 -O1" + export CFLAGS_wasm32_wasi="$BASE_CFLAGS -target wasm32-wasi -O1" RUSTFLAGS="$BASE_RUSTFLAGS -C opt-level=1 --cfg=test_mod_pointers" cargo build $CARGO_BUILD_ARGS -v --target=wasm32-wasi - export CFLAGS_wasm32_wasi="$BASE_CFLAGS -fembed-bitcode -target wasm32 -Oz" + export CFLAGS_wasm32_wasi="$BASE_CFLAGS -fembed-bitcode -target wasm32-wasi -Oz" RUSTFLAGS="$BASE_RUSTFLAGS -C embed-bitcode=yes -C opt-level=z -C linker-plugin-lto -C lto" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS -v --release --target=wasm32-wasi else echo "Cannot build WASM lib as clang does not seem to support the wasm32-wasi target" -- 2.39.5