#!/bin/sh # # arch # #___INFO__MARK_BEGIN__ ########################################################################## # # The Contents of this file are made available subject to the terms of # the Sun Industry Standards Source License Version 1.2 # # Sun Microsystems Inc., March, 2001 # # # Sun Industry Standards Source License Version 1.2 # ================================================= # The contents of this file are subject to the Sun Industry Standards # Source License Version 1.2 (the "License"); You may not use this file # except in compliance with the License. You may obtain a copy of the # License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html # # Software provided under this License is provided on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, # WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, # MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. # See the License for the specific provisions governing your rights and # obligations concerning the Software. # # The Initial Developer of the Original Code is: Sun Microsystems, Inc. # # Copyright: 2001 by Sun Microsystems, Inc. # # All Rights Reserved. # ########################################################################## #___INFO__MARK_END__ # # The original idea of "aimk" where this script is based on came from the # PVM 3.x distribution, 22 Jul 1991 Robert Manchek manchek@CS.UTK.EDU. # # call: arch (print SGEEE architecture string) # arch -m (print default MANPATH of system) # arch -mt (print either "man" or "catman") # arch -lib (print name of variable to extend shared library path) # On some architectures, it is necessary to run the manpath(1) command # with the user's path instead of our "safe" one. Thus we need to # save the old value of PATH for later restoration. # # This arch script is used from users building the source code for themselfs. # # PLEASE UPDATE CHANGES IN THE SCRIPT WHICH HAVE TO APPEAR IN THE DISTRIBUTION # ALSO IN THE arch.dist SCRIPT! SAFE_PATH=/bin:/usr/bin:/usr/sbin OLD_PATH=$PATH PATH=$SAFE_PATH ARCH=UNKNOWN if [ -x /bin/uname ]; then UNAME=/bin/uname elif [ -x /usr/bin/uname ]; then UNAME=/usr/bin/uname else echo ERROR: \"uname\" command not found exit 1 fi ossysname="`$UNAME -s`" osmachine="`$UNAME -m`" osrelease="`$UNAME -r`" case $ossysname in AIX) osversion=`$UNAME -v` case $osversion in 3) ARCH=UNSUPPORTED-rs6000 ;; 4) case $osrelease in 1) ARCH=UNSUPPORTED-aix41 ;; 2) ARCH=UNSUPPORTED-aix42 ;; 3) ARCH=aix43 ;; esac ;; 5) case $osrelease in 1|2|3) ARCH=aix51 ;; *) ARCH=UNSUPPORTED-aix-5-$osrelease ;; esac ;; esac ;; CRSOS) if [ $osmachine = smp ]; then ARCH=craysmp fi ;; Darwin) case $osmachine in i386) darwin_machine=x86 ;; Power*) darwin_machine=ppc ;; *) darwin_machine=unsupported ;; esac ARCH=darwin-$darwin_machine ;; FreeBSD|DragonFly) ARCH=fbsd-$osmachine ;; NetBSD) osprocessor="`$UNAME -p`" ARCH=nbsd-$osprocessor ;; IRIX*) case $osrelease in 4*) ARCH=UNSUPPORTED-irix4 ;; 5*) ARCH=UNSUPPORTED-irix5 ;; 6.5) ARCH=irix65 ;; 6.*) ARCH=UNSUPPORTED-irix-$osrelease ;; esac ;; HP-UX) case $osmachine in ia64) ARCH=hp11 ;; 9000/*) case $osrelease in *.09.*) ARCH=UNSUPPORTED-hp ;; *.10.10) ARCH=UNSUPPORTED-hp1010 ;; *.10.*) ARCH=hp10 ;; *.11.*) if [ -x /usr/bin/getconf ]; then bits="`/usr/bin/getconf KERNEL_BITS`" if [ $bits -eq 64 ]; then ARCH=hp11-64 else ARCH=hp11 fi else ARCH=hp11 fi ;; esac esac ;; Linux) unsupported="" case $osmachine in i*86) lxmachine=x86 ;; alpha) lxmachine=alpha ;; sparc) lxmachine=sparc ;; sparc64) lxmachine=sparc ;; x86_64) lxmachine=amd64 ;; ia64) lxmachine=ia64 ;; ppc) lxmachine=ppc ;; ppc64) lxmachine=ppc64 ;; mips) lxmachine=mips ;; mips64) lxmachine=mips64 ;; s390) lxmachine=s390 ;; s390x) lxmachine=s390x ;; *) unsupported="UNSUPPORTED-" lxmachine=$osmachine esac case $osrelease in 2.4.*) lxrelease=24 # verify the GNU C lib version # For an alternative means to determine GNU C lib version see # http://www.gnu.org/software/libc/FAQ.html#s-4.9 case $lxmachine in amd64) libc_string=`strings /lib64/libc.so.6 | grep "GNU C Library"` ;; ia64) libc_string=`strings /lib/libc.so.6.1 | grep "GNU C Library"` ;; *) libc_string=`strings /lib/libc.so.6 | grep "GNU C Library"` ;; esac # retrieving libc version failed if [ $? -ne 0 ]; then unsupported="UNSUPPORTED-" lxrelease="24-GLIBC" else libc_version=`echo $libc_string | tr ' ,' '\n' | grep "2\." | cut -f 2 -d "."` if [ $libc_version -lt 2 ]; then unsupported="UNSUPPORTED-" lxrelease=24-GLIBC-2.${libc_version} else if [ $libc_version -eq 2 ]; then unsupported="u" fi fi fi ;; 2.6.*) lxrelease=26 ;; 3.*) lxrelease=26 ;; *) unsupported="UNSUPPORTED-" lxrelease=$osrelease esac ARCH=${unsupported}lx${lxrelease}-${lxmachine} ;; OSF1) case $osrelease in V4*) ARCH=osf4 ;; V5*|T5*) ARCH=tru64 ;; *) ARCH=UNSUPPORTED-osf1-$osrelease ;; esac ;; SunOS) case $osmachine in sun4) ARCH=UNSUPPORTED-sun4 ;; i86*) ARCH=sol-x86 case $osrelease in 5.[8]*) ARCH=usol-x86 ;; 5.[91]*) if [ `isainfo -b` = 64 ]; then ARCH=sol-amd64 else ARCH=sol-x86 fi ;; *) ARCH=UNSUPPORTED-SunOS-$osrelease ;; esac ;; *) case $osrelease in 5.[7]*) if [ `isainfo -b` = 64 ]; then ARCH=usol-sparc64 else ARCH=usol-sparc fi ;; 5.[891]*) if [ `isainfo -b` = 64 ]; then ARCH=sol-sparc64 else ARCH=sol-sparc fi ;; *) ARCH=UNSUPPORTED-SunOS-$osrelease ;; esac ;; esac ;; SUPER-UX) case $osmachine in SX-4*) ARCH=UNSUPPORTED-necsx4 ;; SX-[56]*) ARCH=sx ;; *) ARCH=UNSUPPORTED-SUPER-UX-$osmachine ;; esac ;; Interix) ARCH=win32-x86 ;; *) if [ -f /unicos ]; then if [ "`$UNAME -m`" = "CRAY TS" ]; then if [ `/bin/target|/bin/grep ieee` = noieee ]; then ARCH=crayts else ARCH=craytsieee fi else ARCH=cray fi else ARCH=UNSUPPORTED-${ossysname}-${osmachine}-${osrelease} fi ;; esac if [ "$1" = "-m" -o "$1" = "-mt" -o "$1" = "-lib" ]; then MANTYPE=man SHARED_LIBRARY_PATH="LD_LIBRARY_PATH" DEFAULTMANPATH=/usr/man case $ARCH in aix*) DEFAULTMANPATH=/usr/man SHARED_LIBRARY_PATH="LIBPATH" ;; darwin-*) DEFAULTMANPATH=`/usr/bin/manpath -q` SHARED_LIBRARY_PATH="DYLD_LIBRARY_PATH" ;; fbsd-*) PATH=$OLD_PATH DEFAULTMANPATH=`/usr/bin/manpath -q` PATH=$SAFE_PATH ;; nbsd-*) PATH=$OLD_PATH DEFAULTMANPATH=/usr/pkg/man:/usr/local/man:/usr/X11R6/man:/usr/share/man PATH=$SAFE_PATH ;; hp*) DEFAULTMANPATH=/usr/man:/usr/contrib/man:/usr/local/man SHARED_LIBRARY_PATH="SHLIB_PATH" ;; irix65) DEFAULTMANPATH=/usr/share/catman:/usr/share/man:/usr/catman:/usr/man MANTYPE=catman ;; lx*) if [ "`which manpath 2>/dev/null`" != "" ]; then DEFAULTMANPATH=`manpath 2>/dev/null` else DEFAULTMANPATH=/usr/local/man:/usr/share/man:/usr/man:/usr/X11R6/man fi ;; sol-*) DEFAULTMANPATH=/usr/share/man # if bit-specific variable already set, use this variable! SHARED_LIBRARY_PATH_BITS="LD_LIBRARY_PATH_`isainfo -b`" if eval [ x\$$SHARED_LIBRARY_PATH_BITS != x ]; then SHARED_LIBRARY_PATH=$SHARED_LIBRARY_PATH_BITS fi ;; tru64) DEFAULTMANPATH=/usr/share/man:/usr/dt/share/man:/usr/local/man ;; win32*) DEFAULTMANPATH=/usr/share/man MANTYPE=catman/cat ;; esac if [ "$1" = "-m" ]; then echo $DEFAULTMANPATH elif [ "$1" = "-lib" ]; then echo $SHARED_LIBRARY_PATH else echo $MANTYPE fi else echo $ARCH fi