iced/build/build-js

115 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
set -e
root_dir=$(dirname "$0")
root_dir=$(cd "$root_dir/.." && pwd)
if [ ! -f "$root_dir/LICENSE.txt" ]; then
echo "Couldn't find the root dir"
exit 1
fi
set_rustflags=y
new_func() {
echo
echo "****************************************************************"
echo "$1"
echo "****************************************************************"
echo
}
build_and_check() {
new_func "Build and check"
curr_dir=$(pwd)
cd "$root_dir/src/rust/iced-x86-js"
echo "==== FORMAT CHECK ===="
cargo fmt -- --color always --check
echo "==== CLIPPY instr_api decoder encoder block_encoder instr_create op_code_info instr_info gas intel masm nasm fast_fmt ===="
cargo clippy --color always --target wasm32-unknown-unknown --no-default-features --features "instr_api decoder encoder block_encoder instr_create op_code_info instr_info gas intel masm nasm fast_fmt"
echo "==== CLIPPY instr_api decoder encoder block_encoder instr_create op_code_info instr_info gas intel masm nasm fast_fmt bigint ===="
cargo clippy --color always --target wasm32-unknown-unknown --no-default-features --features "instr_api decoder encoder block_encoder instr_create op_code_info instr_info gas intel masm nasm fast_fmt bigint"
set -- \
"decoder" \
"instr_api decoder" \
"encoder" \
"instr_api encoder" \
"encoder block_encoder" \
"instr_create" \
"encoder instr_create" \
"encoder op_code_info" \
"instr_api encoder op_code_info" \
"instr_info" \
"instr_api instr_info" \
"gas" \
"intel" \
"masm" \
"nasm" \
"fast_fmt" \
"instr_api nasm"
for features in "$@"; do
echo "==== $features ===="
cargo check --color always --target wasm32-unknown-unknown --no-default-features --features "$features"
done
set -- \
"no_vex" \
"no_evex" \
"no_xop" \
"no_d3now" \
"no_vex no_evex no_xop no_d3now"
for features in "$@"; do
echo "==== $features ===="
cargo check --color always --target wasm32-unknown-unknown --features "$features"
done
cd "$curr_dir"
}
test_the_code() {
new_func "Test the code"
curr_dir=$(pwd)
cd "$root_dir/src/rust/iced-x86-js"
wasm-pack build --mode force --target nodejs
cd src/tests
npm install
npm test
cd ../..
cd "$curr_dir"
}
while [ "$#" -gt 0 ]; do
case $1 in
--no-set-rustflags) set_rustflags=n ;;
*) echo "Unknown arg: $1"; exit 1 ;;
esac
shift
done
echo
echo "=================================================="
echo "JavaScript build"
echo "=================================================="
echo
if [ "$set_rustflags" = "y" ]; then
export RUSTFLAGS="-D warnings"
fi
echo "cargo version"
cargo --version
echo "Rust version"
rustc --version
echo "wasm-pack version"
wasm-pack --version
echo "node version"
node --version
echo "npm version"
npm --version
build_and_check
test_the_code