40 lines
1.4 KiB
Bash
Executable file
40 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
HOST_OS=`uname -s | tr '[:upper:]' '[:lower:]'`
|
|
if [ "$HOST_OS" != "linux" ] ; then
|
|
echo "ERROR: The gcc this script points to can only run on linux"
|
|
exit 1
|
|
fi
|
|
|
|
PROGNAME=`basename $0`
|
|
|
|
#PREFIX32=../../gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3/bin/i686-linux # previous version
|
|
PREFIX32=../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux
|
|
PREFIX64=../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux
|
|
|
|
options=" ${@} " # sentinel prefix/suffix space to simplify pattern match below
|
|
|
|
suffix_m32=${options##* -m32 } # suffix after the last -m32
|
|
suffix_m64=${options##* -m64 } # suffix after the last -m64
|
|
|
|
len_m32=${#suffix_m32} # length of suffix after the last -m32
|
|
len_m64=${#suffix_m64} # length of suffix after the last -m64
|
|
|
|
if [ $len_m32 -ge $len_m64 ] ; then
|
|
# Choose 64-bit if -m64 only, -m64 appears after -m32, or neither exist (-eq)
|
|
MY_TOOL=`dirname $0`/${PREFIX64}-${PROGNAME}
|
|
# Make sure host is running 64-bit OS.
|
|
# Note that "uname -m" only show host CPU is capable of. Use the following technique
|
|
# from ndk/build/core/ndk-common.sh instead
|
|
file -L "$SHELL" | grep -q "x86[_-]64"
|
|
if [ $? != 0 ]; then
|
|
# $SHELL is not a 64-bit executable, so assume our userland is too.
|
|
echo "ERROR: $MY_TOOL only run on 64-bit linux"
|
|
exit 1
|
|
fi
|
|
else
|
|
# Otherwise, choose 32-bit
|
|
MY_TOOL=`dirname $0`/${PREFIX32}-${PROGNAME}
|
|
fi
|
|
|
|
$MY_TOOL "$@"
|