huangcm
2025-07-01 676035278781360996553c427a12bf358249ebf7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/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 "$@"