#!/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 if [ -n "$INSIDE_EMACS" ]; then GDB="$GDB -i=mi" fi PREFIX="$GDB --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 exec $PREFIX $PAL_CMD $MANIFEST "$@"