diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-15 20:04:07 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-15 20:04:07 +0000 |
commit | 909d9c8ff78696eb94f8e54e32e8d1e55ec8177d (patch) | |
tree | 845aed7cb85128b08b69363b7a44469168ec3023 /tools/scons | |
parent | a7f8243bd567359a7d621a0f65cf065f5d44d774 (diff) |
[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
Diffstat (limited to 'tools/scons')
-rw-r--r-- | tools/scons/Makefile | 7 | ||||
-rwxr-xr-x | tools/scons/files/pywrap.sh | 15 |
2 files changed, 21 insertions, 1 deletions
diff --git a/tools/scons/Makefile b/tools/scons/Makefile index aadeb289a..83c1c584a 100644 --- a/tools/scons/Makefile +++ b/tools/scons/Makefile @@ -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)) diff --git a/tools/scons/files/pywrap.sh b/tools/scons/files/pywrap.sh new file mode 100755 index 000000000..336ea21c1 --- /dev/null +++ b/tools/scons/files/pywrap.sh @@ -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 |