scons: wrap python invocations with helper script that attempts to find a non-3.x python

SVN-Revision: 31742
This commit is contained in:
Jo-Philipp Wich 2012-05-15 20:04:07 +00:00
parent d3a21c192b
commit c33b01fa0e
2 changed files with 21 additions and 1 deletions

View File

@ -23,7 +23,12 @@ define Host/Compile
endef
define Host/Install
python $(HOST_BUILD_DIR)/setup.py install --prefix=$(STAGING_DIR_HOST)
./files/pywrap.sh $(HOST_BUILD_DIR)/setup.py install --prefix=$(STAGING_DIR_HOST)
rm -f $(STAGING_DIR_HOST)/bin/scons*.py
for bin in $(STAGING_DIR_HOST)/bin/scons*; do \
mv "$$$$bin" "$$$$bin.py"; \
cp ./files/pywrap.sh "$$$$bin"; \
done
endef
$(eval $(call HostBuild))

15
tools/scons/files/pywrap.sh Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
case "${0##*/}" in
pywrap.sh) arg1="";;
*) arg1="$0.py" ;;
esac
for bin in python2.7 python2.6 python2.5 python2.4 python2 python; do
case "$($bin -V 2>&1)" in
"Python 2"*) exec $bin $arg1 "$@" ;;
esac
done
echo "Unable to find a Python 2.x interpreter for executing ${arg1:+$arg1 }$@ !" >&2
exit 1