12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #!/usr/bin/env bash
- while :
- do
- case "$1" in
- "SGX")
- SGX=1
- export SGX
- ;;
- "GDB")
- GDB=1
- ;;
- *)
- break
- ;;
- esac
- shift
- done
- RUNTIME_DIR=$(/usr/bin/dirname "$(readlink -f "${BASH_SOURCE[0]}")")
- if [ -z "$PAL_HOST" ]; then
- if [ ! -f /usr/bin/make ]; then
- libpal="$RUNTIME_DIR/libpal-*.so"
- libpal="$(echo -n "$libpal")"
- libpal="${libpal//$RUNTIME_DIR\//}"
- if [ "$libpal" = 'libpal-*.so' ]; then
- echo "Unable to detect PAL_HOST. Please install the make program."
- exit 1
- fi
- array=("$libpal")
- if [ ${#array[@]} -ne 1 ]; then
- echo "Multiple libpal detected ($libpal). Please explicitly set the environment variable PAL_HOST."
- exit 1
- fi
- PAL_HOST="${libpal%.so}"
- PAL_HOST="${PAL_HOST#libpal-}"
- else
- PAL_HOST=$(/usr/bin/make --no-print-directory --quiet -f "$RUNTIME_DIR/../Scripts/Makefile.configs" print_host 2>&1)
- fi
- fi
- MANIFEST=
- PREFIX=()
- PAL_CMD=$RUNTIME_DIR/pal-$PAL_HOST
- if [ "$GDB" == "1" ]; then
- GDB=$RUNTIME_DIR/pal_gdb-$PAL_HOST
- if [ ! -f "$GDB" ]; then
- GDB="/usr/bin/gdb"
- fi
- fi
- if [ "$GDB" != "" ] && [ "$GDB" != "0" ]; then
- PREFIX=("$GDB")
- if [ -n "$INSIDE_EMACS" ]; then
- PREFIX+=("-i=mi")
- fi
- PREFIX+=("--args")
- fi
- if [ "$PERF" == "1" ]; then
- PREFIX=(perf stat)
- fi
- if [ "$MEMUSG" == "1" ]; then
- PREFIX=("$RUNTIME_DIR/../Scripts/memusg")
- fi
- while [ "$1" != "" ];
- do
- if [ "$MANIFEST" == "" ]; then
- MANIFEST=$1
- shift
- continue
- fi
- break
- done
- if [ ! -f "$PAL_CMD" ]; then
- echo "$PAL_CMD is not built, or security mode is not supported"
- exit 1
- fi
- if [ ${#PREFIX[@]} -eq 0 ]; then
- exec "$PAL_CMD" "$MANIFEST" "$@"
- else
- exec "${PREFIX[@]}" "$PAL_CMD" "$MANIFEST" "$@"
- fi
|