-
Notifications
You must be signed in to change notification settings - Fork 424
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[examples] Extend build.sh to do basically everything
This builds an optimized wasm file as outputted by rustc. Then transforms it into .wat format. Adds an important detail about its memory import statement. Transforms it back into .wasm. Runs wasm-opt on it to further optimize it for binary size.
- Loading branch information
Showing
5 changed files
with
55 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
#!/bin/bash | ||
|
||
# Deprecated Note: | ||
# The wasm-build executable that is used to tree-shake the wasm binary | ||
# resulting from the cargo build in the first step expects to find it | ||
# under target/release/wasm32-unknown-unknown/ in the cwd. | ||
|
||
cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm-build target erc20_token --target-runtime=substrate --final=erc20_token --save-raw=./target/erc20_token-deployed.wasm --target wasm32-unknown-unknown | ||
PROJNAME=erc20_token | ||
#cargo clean | ||
#rm Cargo.lock | ||
CARGO_INCREMENTAL=0 cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm2wat -o target/$PROJNAME.wat target/wasm32-unknown-unknown/release/$PROJNAME.wasm | ||
cat target/$PROJNAME.wat | sed "s/(import \"env\" \"memory\" (memory (;0;) 2))/(import \"env\" \"memory\" (memory (;0;) 2 16))/" > target/$PROJNAME-fixed.wat | ||
wat2wasm -o target/$PROJNAME.wasm target/$PROJNAME-fixed.wat | ||
wasm-opt -Oz target/$PROJNAME.wasm -o target/$PROJNAME-opt.wasm | ||
|
||
#wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
#!/bin/bash | ||
|
||
# Deprecated Note: | ||
# The wasm-build executable that is used to tree-shake the wasm binary | ||
# resulting from the cargo build in the first step expects to find it | ||
# under target/release/wasm32-unknown-unknown/ in the cwd. | ||
|
||
cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm-build target incrementer --target-runtime=substrate --final=incrementer --save-raw=./target/incrementer-deployed.wasm --target wasm32-unknown-unknown | ||
PROJNAME=incrementer | ||
#cargo clean | ||
#rm Cargo.lock | ||
CARGO_INCREMENTAL=0 cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm2wat -o target/$PROJNAME.wat target/wasm32-unknown-unknown/release/$PROJNAME.wasm | ||
cat target/$PROJNAME.wat | sed "s/(import \"env\" \"memory\" (memory (;0;) 2))/(import \"env\" \"memory\" (memory (;0;) 2 16))/" > target/$PROJNAME-fixed.wat | ||
wat2wasm -o target/$PROJNAME.wasm target/$PROJNAME-fixed.wat | ||
wasm-opt -Oz target/$PROJNAME.wasm -o target/$PROJNAME-opt.wasm | ||
|
||
#wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
#!/bin/bash | ||
|
||
# Deprecated Note: | ||
# The wasm-build executable that is used to tree-shake the wasm binary | ||
# resulting from the cargo build in the first step expects to find it | ||
# under target/release/wasm32-unknown-unknown/ in the cwd. | ||
|
||
cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm-build target incrementer --target-runtime=substrate --final=incrementer --save-raw=./target/incrementer-deployed.wasm --target wasm32-unknown-unknown | ||
PROJNAME=noop | ||
#cargo clean | ||
#rm Cargo.lock | ||
CARGO_INCREMENTAL=0 cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm2wat -o target/$PROJNAME.wat target/wasm32-unknown-unknown/release/$PROJNAME.wasm | ||
cat target/$PROJNAME.wat | sed "s/(import \"env\" \"memory\" (memory (;0;) 2))/(import \"env\" \"memory\" (memory (;0;) 2 16))/" > target/$PROJNAME-fixed.wat | ||
wat2wasm -o target/$PROJNAME.wasm target/$PROJNAME-fixed.wat | ||
wasm-opt -Oz target/$PROJNAME.wasm -o target/$PROJNAME-opt.wasm | ||
|
||
#wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
#!/bin/bash | ||
|
||
# Deprecated Note: | ||
# The wasm-build executable that is used to tree-shake the wasm binary | ||
# resulting from the cargo build in the first step expects to find it | ||
# under target/release/wasm32-unknown-unknown/ in the cwd. | ||
|
||
cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown | ||
PROJNAME=subpeep | ||
#cargo clean | ||
#rm Cargo.lock | ||
CARGO_INCREMENTAL=0 cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm2wat -o target/$PROJNAME.wat target/wasm32-unknown-unknown/release/$PROJNAME.wasm | ||
cat target/$PROJNAME.wat | sed "s/(import \"env\" \"memory\" (memory (;0;) 2))/(import \"env\" \"memory\" (memory (;0;) 2 16))/" > target/$PROJNAME-fixed.wat | ||
wat2wasm -o target/$PROJNAME.wasm target/$PROJNAME-fixed.wat | ||
wasm-opt -Oz target/$PROJNAME.wasm -o target/$PROJNAME-opt.wasm | ||
|
||
#wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
#!/bin/bash | ||
|
||
# Deprecated Note: | ||
# The wasm-build executable that is used to tree-shake the wasm binary | ||
# resulting from the cargo build in the first step expects to find it | ||
# under target/release/wasm32-unknown-unknown/ in the cwd. | ||
|
||
cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm-build target fleet_inc --target-runtime=substrate --final=fleet_inc --save-raw=./target/fleet_inc-deployed.wasm --target wasm32-unknown-unknown | ||
PROJNAME=incrementer | ||
#cargo clean | ||
#rm Cargo.lock | ||
CARGO_INCREMENTAL=0 cargo +nightly build --release --target=wasm32-unknown-unknown --verbose | ||
wasm2wat -o target/$PROJNAME.wat target/wasm32-unknown-unknown/release/$PROJNAME.wasm | ||
cat target/$PROJNAME.wat | sed "s/(import \"env\" \"memory\" (memory (;0;) 2))/(import \"env\" \"memory\" (memory (;0;) 2 16))/" > target/$PROJNAME-fixed.wat | ||
wat2wasm -o target/$PROJNAME.wasm target/$PROJNAME-fixed.wat | ||
wasm-opt -Oz target/$PROJNAME.wasm -o target/$PROJNAME-opt.wasm | ||
|
||
#wasm-build target enyzme --target-runtime=substrate --final=adder --save-raw=./target/enzyme-deployed.wasm --target wasm32-unknown-unknown |