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