2018-07-04 07:26:07 -04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2018-08-21 11:02:14 -04:00
|
|
|
pushd "$(dirname "$0")" > /dev/null
|
|
|
|
|
2018-07-04 07:26:07 -04:00
|
|
|
set -e
|
|
|
|
|
2018-08-21 11:02:14 -04:00
|
|
|
./preprocess.sh
|
|
|
|
|
|
|
|
npx tsc
|
|
|
|
|
|
|
|
main_js_path="out/main/ts/main.js"
|
|
|
|
ts_gen="$(cat "$main_js_path")"
|
|
|
|
echo "module.exports = {}; var exports = module.exports; $ts_gen" > "$main_js_path";
|
2018-07-04 07:26:07 -04:00
|
|
|
|
|
|
|
mkdir -p out
|
|
|
|
|
2018-08-21 11:02:14 -04:00
|
|
|
cmp_std="--std=c11"
|
|
|
|
cmp_errors="-Wall -Wextra -Werror"
|
|
|
|
cmp_inc="-I tmp/ -I lib/"
|
|
|
|
cmp_optimisation="$([[ "$1" == "--debug" ]] && echo "-O0 -g" || echo "-O3")"
|
|
|
|
cmp_em_debug="$([[ "$1" == "--debug" ]] && echo "-s ASSERTIONS=2" || echo "-s ASSERTIONS=0")"
|
|
|
|
|
|
|
|
gcc $cmp_std $cmp_errors $cmp_optimisation $cmp_inc -o out/hyperbuild "tmp/cli.c"
|
|
|
|
emcc $cmp_std $cmp_errors $cmp_optimisation $cmp_em_debug $cmp_inc -o out/hyperbuild.em.js "tmp/em.c" \
|
|
|
|
-s ALLOW_MEMORY_GROWTH=1 \
|
|
|
|
-s "EXPORTED_FUNCTIONS=['_hbe_err_code', '_hbe_err_message', '_hbe_err_destroy', '_em_init', '_em_entry']" \
|
|
|
|
-s "BINARYEN_TRAP_MODE='clamp'" \
|
|
|
|
--post-js "$main_js_path"
|
|
|
|
|
|
|
|
rm "$main_js_path"
|
|
|
|
mv out/main/ts/main.d.ts out/main.d.ts
|
|
|
|
rm -rf out/main
|
2018-07-04 07:26:07 -04:00
|
|
|
|
|
|
|
popd > /dev/null
|
|
|
|
|
|
|
|
exit 0
|