Andrew Hsieh | de74c4b | 2012-03-12 09:39:50 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | HOST_OS=`uname -s | tr '[:upper:]' '[:lower:]'` |
| 4 | if [ "$HOST_OS" != "linux" ] ; then |
| 5 | echo "ERROR: The gcc this script points to can only run on linux" |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | PROGNAME=`basename $0` |
| 10 | |
| 11 | #PREFIX32=../../gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3/bin/i686-linux # previous version |
| 12 | PREFIX32=../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux |
| 13 | PREFIX64=../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux |
| 14 | |
| 15 | options=" ${@} " # sentinel prefix/suffix space to simplify pattern match below |
| 16 | |
| 17 | suffix_m32=${options##* -m32 } # suffix after the last -m32 |
| 18 | suffix_m64=${options##* -m64 } # suffix after the last -m64 |
| 19 | |
| 20 | len_m32=${#suffix_m32} # length of suffix after the last -m32 |
| 21 | len_m64=${#suffix_m64} # length of suffix after the last -m64 |
| 22 | |
| 23 | if [ $len_m32 -ge $len_m64 ] ; then |
| 24 | # Choose 64-bit if -m64 only, -m64 appears after -m32, or neither exist (-eq) |
| 25 | MY_TOOL=`dirname $0`/${PREFIX64}-${PROGNAME} |
| 26 | # Make sure host is running 64-bit OS. |
| 27 | # Note that "uname -m" only show host CPU is capable of. Use the following technique |
| 28 | # from ndk/build/core/ndk-common.sh instead |
| 29 | file -L "$SHELL" | grep -q "x86[_-]64" |
| 30 | if [ $? != 0 ]; then |
| 31 | # $SHELL is not a 64-bit executable, so assume our userland is too. |
| 32 | echo "ERROR: $MY_TOOL only run on 64-bit linux" |
| 33 | exit 1 |
| 34 | fi |
| 35 | else |
| 36 | # Otherwise, choose 32-bit |
| 37 | MY_TOOL=`dirname $0`/${PREFIX32}-${PROGNAME} |
| 38 | fi |
| 39 | |
| 40 | $MY_TOOL "$@" |