#!/usr/bin/env bash
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
-
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
-then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
-then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
- then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
- echo " make -C $EDK_TOOLS_PATH/Source/C"
- else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
- fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
-then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
-else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
- echo " $0"
- exit -1
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
fi
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"