| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | #!/bin/bashset -eo pipefailsrc_file=$1exe_file=$(basename "${src_file%.*}")if [[ -z "$MACHINE" ]]; then  echo "Must provide MACHINE for compile"  exit 1fiif [[ "$MACHINE" == "Windows" ]]; then  exe_file=$(basename "${src_file%.*}".exe)fiif [[ -z "$src_file" ]]; then  echo "Must provide \$1 for compile"  exit 1fiif [[ -z "$CPP_INCLUDE_DIR" ]]; then  echo "Must provide CPP_INCLUDE_DIR in environment"  exit 1fiif [[ -z "$CPP" ]]; then  echo "Must provide CPP in environment"  exit 1firm -f "$exe_file"EXTRA_ARGS=""if [[ "$CPP" == "clang++" && "$MACHINE" == "Windows" ]]; then  msvc_version="2022"  wk_version="10.0.19041.0"  EXTRA_ARGS=" -I\"$TESTS_DIR/lib/msvc-$msvc_version-include\""  for s in cppwinrt shared ucrt um winrt; do    EXTRA_ARGS="$EXTRA_ARGS -I\"$TESTS_DIR/lib/windows-kit-$wk_version-include/$s\""  donefiif [[ "$CPP" == "cl.exe" ]]; then  echo "Compiling $src_file, running:" "$CPP" "$CPP_STANDARD" "-F268435456" "-EHsc" "-O2" -I"${CPP_INCLUDE_DIR}" -Fe"$exe_file" "$src_file"  "$CPP" "$CPP_STANDARD" "-F268435456" "-EHsc" "-O2" -I"${CPP_INCLUDE_DIR}" -Fe"$exe_file" "$src_file" &>/dev/nullelse  echo "Compiling $src_file, running:" "$CPP" "$CPP_OPTS" "$CPP_STANDARD" -Wpedantic -Werror -I"${CPP_INCLUDE_DIR}""$EXTRA_ARGS" -o"$exe_file" -O2 "$src_file"  eval "$CPP" "$CPP_OPTS" "$CPP_STANDARD" -Wpedantic -Werror -I"${CPP_INCLUDE_DIR}""$EXTRA_ARGS" -o"$exe_file" -O2 "$src_file"firm -f ./*.o ./*.objif [ ! -f "$exe_file" ]; then  echo "Compilation failed: file $exe_file not found"  exit 1fiecho "[SUCCESS] $src_file compiled"if [[ "$2" == "--check-only" ]]; then  rm -rf "$exe_file"fi
 |