You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
#!/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
|
|
|