1998-09-17 05:19:22 +08:00
|
|
|
#! /bin/sh
|
|
|
|
|
# set -x
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# Returns the architecture of the host machine
|
1998-09-17 05:19:22 +08:00
|
|
|
#
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# Try to find location of utility uname
|
1998-09-17 05:19:22 +08:00
|
|
|
for dir in /bin /usr/bin /usr/local/bin ; do
|
|
|
|
|
if [ -x $dir/uname ] ; then
|
|
|
|
|
UNAME="$dir/uname"
|
|
|
|
|
break
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# Get machine kernal and hardware names values
|
1998-09-17 05:19:22 +08:00
|
|
|
#
|
|
|
|
|
if [ -n "$UNAME" ] ; then
|
|
|
|
|
ARCHLIST="`uname -s`"
|
|
|
|
|
ARCHLIST="$ARCHLIST `uname -m`"
|
|
|
|
|
fi
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# Get environment variable, ARCH, name if defined
|
1998-09-17 05:19:22 +08:00
|
|
|
if [ -n "$ARCH" ] ; then
|
|
|
|
|
ARCHLIST="$ARCHLIST $ARCH"
|
|
|
|
|
fi
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# Get arch command and execute it to get host machine architecture
|
1998-09-17 05:19:22 +08:00
|
|
|
if [ -x /bin/arch ] ; then
|
|
|
|
|
ARCHLIST="$ARCHLIST `/bin/arch`"
|
|
|
|
|
elif [ -x /usr/local/bin/arch ] ; then
|
|
|
|
|
ARCHLIST="$ARCHLIST `/usr/local/bin/arch`"
|
|
|
|
|
fi
|
|
|
|
|
#
|
2005-09-17 04:31:59 +08:00
|
|
|
# GARCH is a guess for the host machine architecture
|
|
|
|
|
# LARCH is current value from list of architectures
|
|
|
|
|
# FARCH is the returned value
|
1998-09-17 05:19:22 +08:00
|
|
|
GARCH=
|
2005-09-17 04:31:59 +08:00
|
|
|
|
|
|
|
|
# search architecture list; removing blanks first
|
1998-09-17 05:19:22 +08:00
|
|
|
for LARCH in $ARCHLIST ; do
|
|
|
|
|
LARCH=`echo $LARCH | sed 's/ //g'`
|
|
|
|
|
case $LARCH in
|
2005-09-17 04:31:59 +08:00
|
|
|
AIX|RIOS|ppc64) FARCH=rs6000; break ;;
|
1998-09-17 05:19:22 +08:00
|
|
|
HP-UX) FARCH=hpux ; break ;;
|
|
|
|
|
IRIX64|IRIX) FARCH=$LARCH ; break ;;
|
2005-09-17 04:31:59 +08:00
|
|
|
Linux|LINUX) FARCH=LINUX ; break ;;
|
1998-09-17 05:19:22 +08:00
|
|
|
i586|i486|i86pc)
|
|
|
|
|
GARCH=$LARCH ;;
|
|
|
|
|
sun4*)
|
2005-09-17 04:31:59 +08:00
|
|
|
Version=`$UNAME -r`
|
|
|
|
|
MajorVersion=`expr "$Version" : "\(.\)"`
|
|
|
|
|
if [ "$MajorVersion" -ge 5 ] ; then
|
|
|
|
|
FARCH=solaris
|
|
|
|
|
else
|
|
|
|
|
FARCH=sun4
|
|
|
|
|
fi
|
|
|
|
|
break ;;
|
1998-09-17 05:19:22 +08:00
|
|
|
hp9000*|hp7000*) FARCH=hpux ; break ;;
|
|
|
|
|
mips|dec-5000) FARCH=dec5000 ; break ;;
|
|
|
|
|
IP12|iris-4d) GARCH=IRIX ;;
|
|
|
|
|
cray|CRAY*) GARCH=CRAY ;;
|
|
|
|
|
KSR1|KSR2) FARCH=ksr ; break ;;
|
|
|
|
|
FreeBSD) FARCH=freebsd ; break ;;
|
|
|
|
|
i386) GARCH=ipsc2 ;;
|
|
|
|
|
ULTRIX|RISC) GARCH=dec5000 ;;
|
|
|
|
|
esac
|
|
|
|
|
LLARCH=$LARCH
|
|
|
|
|
done
|
2005-09-17 04:31:59 +08:00
|
|
|
#
|
|
|
|
|
# Set return value if not already defined
|
1998-09-17 05:19:22 +08:00
|
|
|
if [ -z "$FARCH" ] ; then
|
|
|
|
|
FARCH=$GARCH
|
|
|
|
|
if [ -z "$FARCH" ] ; then
|
|
|
|
|
FARCH=$LLARCH
|
|
|
|
|
fi
|
|
|
|
|
if [ -z "$FARCH" ] ; then
|
|
|
|
|
FARCH=unknown
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
echo $FARCH
|
|
|
|
|
exit 0
|