1
1
openmpi/ompi/mca/io/romio314/romio/util/tarch
2015-06-23 20:59:57 -07:00

121 строка
2.9 KiB
Bash
Исполняемый файл

#! /bin/sh
# set -x
#
# Returns the arch of the machine. This file is from MPICH.
#
# First, try some special cases:
if [ -d "/dev/elan" ] ; then
FARCH="meiko"
elif [ -f /usr/bin/uxpm ] && /usr/bin/uxpm ; then
FARCH="UXPM"
elif [ -f /usr/bin/uxpv ] && /usr/bin/uxpv ; then
FARCH="uxpv"
fi
if [ -n "$FARCH" ] ; then
echo $FARCH
exit 0
fi
#
# Try to find uname
for dir in /bin /usr/bin /usr/local/bin ; do
if [ -x $dir/uname ] ; then
UNAME="$dir/uname"
break
fi
done
#
# Get uname -s, uname -m, and arch values
#
if [ -n "$UNAME" ] ; then
ARCHLIST="`uname -s`"
ARCHLIST="$ARCHLIST `uname -m`"
fi
#
# Get ARCH variable name
if [ -n "$ARCH" ] ; then
ARCHLIST="$ARCHLIST $ARCH"
fi
#
# Get arch command
if [ -x /bin/arch ] ; then
ARCHLIST="$ARCHLIST `/bin/arch`"
elif [ -x /usr/local/bin/arch ] ; then
ARCHLIST="$ARCHLIST `/usr/local/bin/arch`"
fi
#
# GARCH is a guess if we don't find something better
GARCH=
# Now, weed through all of these values until we find something useful.
for LARCH in $ARCHLIST ; do
# Remove blanks
LARCH=`echo $LARCH | sed 's/ //g'`
# Get the first 4 characters (you'd be surprised)
# LARCH4=`expr "$LARCH" : "\(....\)"`
# LARCH6=`expr "$LARCH" : "\(......\)"`
case $LARCH in
SUPER-UX) FARCH=SX4; break ;;
AIX|RIOS) FARCH=rs6000; break ;;
HP-UX)
if [ -a /dev/kmem ] ; then
FARCH=hpux ;
else
FARCH=sppux ;
fi
break ;;
IRIX64|IRIX) FARCH=$LARCH ; break ;;
Linux) FARCH=LINUX ; break ;;
i586|i486|i86pc)
GARCH=$LARCH ;;
sun4*)
Version=`$UNAME -r`
# In "improving" SunOS, the useful feature of "substr" was withdrawn
# from expr. Can't let the users have life too easy, can we? This
# means that we can't just use
# set MajorVersion = `expr substr $Version 1 1`
# because it won't work on Solaris systems. The following should work
# on both:
MajorVersion=`expr "$Version" : "\(.\)"`
if [ "$MajorVersion" -ge 5 ] ; then
FARCH=solaris
else
FARCH=sun4
fi
break ;;
hp9000*|hp7000*)
if [ -a /dev/kmem ] ; then
FARCH=hpux ;
else
FARCH=sppux ;
fi
break ;;
Darwin*)
FARCH=Darwin
break ;;
mips|dec-5000) FARCH=dec5000 ; break ;;
next) FARCH=NeXT ; break ;;
KSR1|KSR2) FARCH=ksr ; break ;;
FreeBSD) FARCH=freebsd ; break ;;
OpenBSD) FARCH=openbsd ; break ;;
NetBSD) FARCH=netbsd ; break ;;
# The following are guesses
IP12|iris-4d) GARCH=IRIX ;;
cray|CRAY*) GARCH=CRAY ;;
i386) GARCH=ipsc2 ;;
ULTRIX|RISC) GARCH=dec5000 ;;
esac
LLARCH=$LARCH
done
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