Utilities written in Python may depend on external (preinstalled) Python packages; for example, Ecc depends on "antlr_python_runtime-3.0.1". Such packages need not be installed system-wide, as long as they are reachable through PYTHONPATH. Therefore we shouldn't overwrite the user's PYTHONPATH with "BaseTools/Source/Python"; instead, we should prepend the latter to the former. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=896 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
15 lines
541 B
Bash
Executable File
15 lines
541 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
|
|
|
# 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${PYTHONPATH:+:"$PYTHONPATH"}"
|
|
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|