51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
|
||
|
|
help()
|
||
|
|
{
|
||
|
|
printf "Usage: %s: [-d 2|3] [-f deterministim|non-deterministic|simd]\n" $0
|
||
|
|
}
|
||
|
|
|
||
|
|
while getopts :d:f: name
|
||
|
|
do
|
||
|
|
case $name in
|
||
|
|
d)
|
||
|
|
dimension="$OPTARG";;
|
||
|
|
f)
|
||
|
|
feature="$OPTARG";;
|
||
|
|
?) help ; exit 1;;
|
||
|
|
esac
|
||
|
|
done
|
||
|
|
|
||
|
|
if [[ -z "$dimension" ]]; then
|
||
|
|
help; exit 2;
|
||
|
|
fi
|
||
|
|
if [[ -z "$feature" ]]; then
|
||
|
|
help; exit 3;
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [[ $feature == "non-deterministic" ]]; then
|
||
|
|
feature_postfix=""
|
||
|
|
else
|
||
|
|
feature_postfix="-${feature}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
rust_source_directory="../builds/rapier${dimension}d${feature_postfix}"
|
||
|
|
|
||
|
|
if [ ! -d "$rust_source_directory" ]; then
|
||
|
|
echo "Directory $rust_source_directory does not exist";
|
||
|
|
echo "You may want to generate rust projects first.";
|
||
|
|
help
|
||
|
|
exit 4;
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Working dir in wasm-pack is the project root so we need that "../../"
|
||
|
|
|
||
|
|
if [[ $feature == "simd" ]]; then
|
||
|
|
export additional_rustflags='-C target-feature=+simd128'
|
||
|
|
else
|
||
|
|
export additional_rustflags=''
|
||
|
|
fi
|
||
|
|
|
||
|
|
RUSTFLAGS="${additional_rustflags}" wasm-pack --verbose build --target web --out-dir "../../rapier-compat/builds/${dimension}d${feature_postfix}/wasm-build" "$rust_source_directory"
|