1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#!/usr/bin/env bash
set -ex
# These flags reduce binary size by a combined 4.6k
export CARGO_PROFILE_RELEASE_LTO=fat
export CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUSTFLAGS="$RUSTFLAGS -Ctarget-feature=+bulk-memory"
build_adapter="cargo build -p wasi-preview1-component-adapter --target wasm32-unknown-unknown"
verify="cargo run -p verify-component-adapter --"
debug="target/wasm32-unknown-unknown/debug/wasi_snapshot_preview1.wasm"
release="target/wasm32-unknown-unknown/release/wasi_snapshot_preview1.wasm"
# Debug build, default features (reactor)
$build_adapter
$verify $debug
build() {
input=$1
flavor=$2
$verify $input
name=wasi_snapshot_preview1.$flavor.wasm
dst=$(dirname $input)/$name
wasm-tools metadata add --name "wasi_preview1_component_adapter.$flavor.adapter" $input \
-o $dst
}
# Debug build, command
$build_adapter --no-default-features --features command
$verify $debug
# Release build, command
$build_adapter --release --no-default-features --features command
build $release command
# Release build, default features (reactor)
$build_adapter --release
build $release reactor
# Release build, proxy
$build_adapter --release --no-default-features --features proxy
build $release proxy
|