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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31742 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2012-05-15 20:04:07 +00:00
parent f61eb18b66
commit 58b75ad2b1
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