#!/bin/sh
#
# (c) 2000, 2001 Sun Microsystems, Inc.
#
# 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 SGE 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)
#

PATH=/bin:/usr/bin:/usr/sbin

ARCH=UNKNOWN

if [ -x /bin/uname ]; then
   os="`/bin/uname -s`"
   ht="`/bin/uname -m`"
   osht="$os,$ht"
   case $osht in
   SUPER-UX,SX-4*)
      ARCH=necsx4
      ;;
   SUPER-UX,SX-5*)
      ARCH=necsx5
      ;;
   SunOS,sun4*)
      ARCH=sun4
      ;;
   SunOS,i86*)
      ARCH=solaris86
      ;;
   AIX,*)
      rev=`/bin/uname -v`
      case $rev in
      3)
         ARCH=UNSUPPORTED-rs6000
         ;;
      4)
         subrev=`/bin/uname -r`
         case $subrev in
         1)
            ARCH=UNSUPPORTED-aix41
            ;;
         2)
            ARCH=aix42
            ;;
         3)
            ARCH=aix43
            ;;
         esac
      esac
      ;;
   *,9000/*)
      rev=`/bin/uname -r`
      case $rev in
      *.09.*)
         ARCH=UNSUPPORTED-hp
         ;;
      *.10.10)
         ARCH=UNSUPPORTED-hp1010
         ;;
      *.10.*)
         ARCH=hp10
         ;;
      *.11.*)
         ARCH=hp11
         ;;
      esac
      ;;
   Linux,alpha)
      ARCH=alinux
      ;;
   Linux,*)
      rev="`/bin/uname -r`"
      case $rev in
      2.[24].*)
         strings /lib/libc.so.6 | grep "GNU C Library" | grep 2.0 2>&1 > /dev/null
         if [ $? = 0 ]; then
            ARCH=UNSUPPORTED-glinux20
         else
            ARCH=glinux
         fi
         ;;
      *)
         ARCH=UNSUPPORTED-linux
         ;;
      esac
      ;;
   *,alpha)
      rev=`/usr/bin/uname -r`
      case $rev in
      V4*)
         ARCH=osf4
         ;;
      V5*|T5*)
         ARCH=tru64
         ;;
      *)
         ARCH=UNSUPPORTED-osf
         ;;
      esac
      ;;
   CRSOS,smp)
      ARCH=craysmp
      ;;
   esac

   if [ $ARCH = UNKNOWN ]; then
      os="`/bin/uname -s`"
      rel="`/bin/uname -r`"
      osrel="$os,$rel"

      case $osrel in
      IRIX,4*)
         ARCH=UNSUPPORTED-irix4
         ;;
      IRIX,5*)
         ARCH=UNSUPPORTED-irix5
         ;;
      IRIX*,6*)
         ARCH=irix6
         ;;
      esac
   fi
fi

if [ $ARCH = UNKNOWN ]; then
   if [ -f /unicos ]; then
      if [ "`/bin/uname -m`" = "CRAY TS" ]; then
         if [ `/bin/target|/bin/grep ieee` = noieee ]; then
            ARCH=crayts
         else
            ARCH=craytsieee
         fi
      else
         ARCH=cray
      fi
   fi
fi

if [ "$ARCH" = sun4 ]; then
   REL=`/bin/uname -r`
   case $REL in
   5.[789]*)
      if [ `isainfo -b` = 64 ]; then
         ARCH=solaris64
      else
         ARCH=solaris
      fi
      ;;
   5.[56]*)
      ARCH=solaris
      ;;
   *)
      ARCH=UNSUPPORTED-sun4-$REL
      ;;
   esac
fi

if [ "$1" = "-m" -o "$1" = "-mt" -o "$1" = "-lib" ]; then
   MANTYPE=man
   SHARED_LIBRARY_PATH="LD_LIBRARY_PATH"
   case $ARCH in
      solaris|solaris64)
      DEFAULTMANPATH=/usr/share/man
      ;;
   alinux|glinux)
      DEFAULTMANPATH=/usr/man
      ;;
   osf4|tru64)
      DEFAULTMANPATH=/usr/share/man:/usr/dt/share/man:/usr/local/man
      ;;
   irix6|irix65)
      DEFAULTMANPATH=/usr/share/catman:/usr/share/man:/usr/catman:/usr/man
      MANTYPE=catman
      ;;
   hp10|hp11)
      DEFAULTMANPATH=/usr/man:/usr/contrib/man:/usr/local/man
      SHARED_LIBRARY_PATH="SHLIB_PATH"
      ;;
   aix42|aix43)
      DEFAULTMANPATH=/usr/man
      SHARED_LIBRARY_PATH="LIBPATH"
      ;;
   esac

   if [ "$1" = "-m" ]; then
      echo $DEFAULTMANPATH
   elif [ "$1" = "-lib" ]; then
      echo $SHARED_LIBRARY_PATH
   else
      echo $MANTYPE
   fi
else
   echo $ARCH
fi
