1#!/bin/bash
2
3set -e
4
5# echo "Clearing cached plugins..."
6# cargo clean --manifest-path plugins/Cargo.toml
7
8echo "Building Wasm plugins..."
9# cargo build --release --target wasm32-unknown-unknown --manifest-path plugins/Cargo.toml
10cargo build --release --target wasm32-wasi --manifest-path plugins/Cargo.toml
11
12echo
13echo "Extracting binaries..."
14rm -rf plugins/bin
15mkdir plugins/bin
16
17for f in plugins/target/wasm32-wasi/release/*.wasm
18do
19 name=$(basename $f)
20 cp $f plugins/bin/$name
21 echo "- Extracted plugin $name"
22done
23
24echo
25echo "Creating .wat versions (for human inspection)..."
26
27for f in plugins/bin/*.wasm
28do
29 name=$(basename $f)
30 base=$(echo $name | sed "s/\..*//")
31 wasm2wat $f --output plugins/bin/$base.wat
32 echo "- Converted $base.wasm -> $base.wat"
33done
34
35echo
36echo "Optimizing plugins using wasm-opt..."
37
38for f in plugins/bin/*.wasm
39do
40 name=$(basename $f)
41 wasm-opt -Oz $f --output $f
42 echo "- Optimized $name"
43done
44
45echo
46echo "Done!"