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" "$@"
 |