summaryrefslogtreecommitdiff
path: root/BaseTools/BinWrappers/PosixLike/GenFds
diff options
context:
space:
mode:
Diffstat (limited to 'BaseTools/BinWrappers/PosixLike/GenFds')
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenFds13
1 files changed, 11 insertions, 2 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/GenFds b/BaseTools/BinWrappers/PosixLike/GenFds
index 2cb8b86a99..214d88fff1 100755
--- a/BaseTools/BinWrappers/PosixLike/GenFds
+++ b/BaseTools/BinWrappers/PosixLike/GenFds
@@ -1,5 +1,14 @@
#!/usr/bin/env bash
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-PYTHONPATH="`dirname $0`/../../Source/Python" \
- python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
+# If a python2 command is available, use it in preference to python
+if command -v python2 >/dev/null 2>&1; then
+ python_exe=python2
+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"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"