#!/usr/bin/env bash emcc_exists=“$(command -v emcc)” if [ ! “${emcc_exists}” ]; then

echo "Emscripten not on path"
exit 1

fi

set -e

cd “$1” shift

# Parse arguments while [ $# -gt 0 ]; do

case $1 in
--wasm-bigint) WASM_BIGINT=true ;;
*)
  echo "ERROR: Unknown parameter: $1" >&2
  exit 1
  ;;
esac
shift

done

export CFLAGS=“-fPIC -O2 -I../../target/include $EXTRA_CFLAGS” export CXXFLAGS=“$CFLAGS -sNO_DISABLE_EXCEPTION_CATCHING $EXTRA_CXXFLAGS” export LDFLAGS=“ \

-L../../target/lib/ -lffi \
-sEXPORT_ALL \
-sMODULARIZE \
-sMAIN_MODULE \
-sNO_DISABLE_EXCEPTION_CATCHING \
$EXTRA_LD_FLAGS \

# This needs to test false if there exists an environment variable called # WASM_BIGINT whose contents are empty. Don't use +x. if [ -n “${WASM_BIGINT}” ] ; then

export LDFLAGS+=" -sWASM_BIGINT"

else

export LDFLAGS+=" -sEXPORTED_RUNTIME_METHODS='getTempRet0,setTempRet0'"

fi

# Rename main functions to test__filename so we can link them together ls *c | sed 's!(.*).c!sed -i “s/main/test__1/g” 0!g' | bash

# Compile ls *.c | sed 's/(.*).c/emcc $CFLAGS -c 1.c -o 1.o /g' | bash ls *.cc | sed 's/(.*).cc/em++ $CXXFLAGS -c 1.cc -o 1.o /g' | bash

# Link em++ $LDFLAGS *.o -o test.js cp ../emscripten/test.html .