#! /bin/sh

#    Dec 14/04 - F.Majaess (Enable setup for Victoria site)
#    Jun 16/03 - F.Majaess

#id  ostarget- Used to identify Operating system and version target.

#    AUTHOR  - F.Majaess

#hd  PURPOSE - "ostarget" script is used to identify proper Operating 
#hd            system and version extension target for "bin" and 
#hd            "executables" subdirectories.

#pr  PARAMETERS:
#pr
#pr    PRIMARY
#pr
#pr      subdirt= Returned string is to be based on "subdirt" subdirectory 
#pr               type. (Current valid options: "bin" or "executables".
#pr                      default is "bin") 

#ex  EXAMPLE:
#ex
#ex When invoked on SGI running AIX64 version 6.5:
#ex
#ex          ostarget executables 
#ex
#ex returns "IRIX" (or a massaged variation of it dependent on
#ex setup requirements).
#ex
#ex and  ...
#ex
#ex          ostarget bin
#ex
#ex returns "_IRIX" (or a massaged variation of it dependent on
#ex setup requirements).
#ex

set +xe
arg_list=$@
for arg in $arg_list
do
  case $arg in
      -*) set $arg                 ;;
     *=*) eval $arg                ;;
       *) tmp1=${subdirt:+$arg} ;
          subdirt=${subdirt:=$arg}
  esac
done
subdirt=${subdirt:='bin'}
OS=${OS-`uname -s`}
unset OsTrgt_OS

##   case $OS in
##    IRIX*) OsTrgt_OS="${OS}_"`uname -r` ;;
##    AIX) OsTrgt_OS="${OS}_"`uname -v`"."`uname -r` ;;
##    SUPER-UX) OsTrgt_OS="${OS}_"`uname -r`         ;; 
##    Linux) OsTrgt_OS="${OS}" ;;
##    *) unset OsTrgt_OS ;;
##   esac

if [ "$subdirt" = 'bin' ] ; then

  # "$HOME/bin" case ...
  
  if [ "$SITE_ID" = 'Dorval' ] ; then

    case $OS in
        IRIX*) OsTrgt_OS="irix"  ;;
          AIX) OsTrgt_OS="aix"   ;;
     SUPER-UX) OsTrgt_OS="sx6"   ;; 
        Linux) if [ `uname -m | cut -d'_' -f2` = '64' ] ; then
                 OsTrgt_OS="linux64" 
               else
                 OsTrgt_OS="linux" 
               fi                ;;
            *) unset OsTrgt_OS   ;;
    esac

  elif [ "$SITE_ID" = 'DrvlSC' ] ; then

    case $OS in
        Linux) if [ `uname -m | cut -d'_' -f2` = '64' ] ; then
                 OsTrgt_OS="linux64" 
               else
                 OsTrgt_OS="linux" 
               fi                ;;
            *) unset OsTrgt_OS   ;;
    esac

  elif [ "$SITE_ID" = Victoria ] ; then 
   
      case $OS in
            AIX) OsTrgt_OS="aix"   ;;
          Linux) if [ `uname -n | cut -d'-' -f1` = 'ib3' -a `uname -m | cut -d'_' -f2` = '64' ] ; then
                 OsTrgt_OS="linux64"
               else
                 OsTrgt_OS="linux"
               fi                  ;;
              *) unset OsTrgt_OS   ;;
      esac
#   unset OsTrgt_OS
  
  elif [ "$SITE_ID" = 'Downsview' ] ; then
  
    case $OS in
        IRIX*) OsTrgt_OS="irix"  ;;
        Linux) if [ `uname -n | cut -d'-' -f1` = 'ib3' -a `uname -m | cut -d'_' -f2` = '64' ] ; then
                 OsTrgt_OS="linux64"
               else
                 OsTrgt_OS="linux"
               fi                ;;
            *) unset OsTrgt_OS   ;;
    esac
##    unset OsTrgt_OS

  else

    case $OS in
        IRIX*) OsTrgt_OS="irix"  ;;
          AIX) OsTrgt_OS="aix"   ;;
     SUPER-UX) OsTrgt_OS=` uname -m | sed -n -e 's/-//g' -e '1,$p' | tr '[A-Z]' '[a-z]' ` ;; 
        Linux) OsTrgt_OS="linux" ;;
            *) unset OsTrgt_OS   ;;
    esac

#  unset OsTrgt_OS
  
  fi

elif [ "$subdirt" = 'executables' ] ; then

  # ".../...executables..." case ...
  
  if [ "$SITE_ID" = 'Dorval' ] ; then

### case $OS in
###  IRIX*) OsTrgt_OS="${OS}_"`uname -r` ;;
###  AIX) OsTrgt_OS="${OS}_"`uname -v`"."`uname -r` ;;
###  SUPER-UX) OsTrgt_OS="${OS}_"`uname -r`         ;; 
###  Linux) OsTrgt_OS="${OS}" ;;
###  *) unset OsTrgt_OS ;;
### esac

    case $OS in
        IRIX*) OsTrgt_OS="irix"          ;;
#         AIX) OsTrgt_OS="aix"`uname -v` ;;
          AIX) OsTrgt_OS="aix"           ;;
     SUPER-UX) OsTrgt_OS="sx6"           ;; 
        Linux) if [ `uname -m | cut -d'_' -f2` = '64' ] ; then
                OsTrgt_OS="linux64"
               else
                OsTrgt_OS="linux"         
               fi                        ;;
            *) unset OsTrgt_OS           ;;
    esac

  elif [ "$SITE_ID" = 'DrvlSC' ] ; then

    case $OS in
        Linux) if [ `uname -m | cut -d'_' -f2` = '64' ] ; then
                OsTrgt_OS="linux64"
               else
                OsTrgt_OS="linux"         
               fi                        ;;
            *) unset OsTrgt_OS           ;;
    esac

  elif [ "$SITE_ID" = Victoria ] ; then 
   
    case $OS in
          AIX) : 
##                if [ `uname -v` -gt 4 ] ; then
                    OsTrgt_OS="aix"`uname -v`
##                  OsTrgt_OS="aix4"
##                else
#                   OsTrgt_OS="aix"
##                fi                          
               :                           ;;
        Linux) if [ `uname -n | cut -d'-' -f1` = 'ib3' -a `uname -m | cut -d'_' -f2` = '64' ] ; then
                OsTrgt_OS="linux64"
               else
                OsTrgt_OS="linux"
               fi                          ;;
            *) unset OsTrgt_OS             ;;
    esac
##  unset OsTrgt_OS
  
  elif [ "$SITE_ID" = 'Downsview' ] ; then
  
    case $OS in
        IRIX*) OsTrgt_OS="irix"  ;;
        Linux) if [ `uname -n | cut -d'-' -f1` = 'ib3' -a `uname -m | cut -d'_' -f2` = '64' ] ; then
                OsTrgt_OS="linux64"
               else
                OsTrgt_OS="linux"
               fi                ;;
            *) unset OsTrgt_OS   ;;
    esac
##    unset OsTrgt_OS

  else

    case $OS in
        IRIX*) OsTrgt_OS="irix"  ;;
          AIX) OsTrgt_OS="aix"   ;;
     SUPER-UX) OsTrgt_OS=` uname -m | sed -n -e 's/-//g' -e '1,$p' | tr '[A-Z]' '[a-z]' ` ;; 
        Linux) OsTrgt_OS="linux" ;;
            *) unset OsTrgt_OS   ;;
    esac

#  unset OsTrgt_OS
  
  fi


fi
if [ -n "$OsTrgt_OS" ] ; then
 if [ "$SITE_ID" = 'DrvlSC' ] ; then
  HOSTID=${HOSTID:-`hostname | cut -d'.' -f1 `}
  HOSTID=`echo $HOSTID | sed -e 's/hpcr4-in/ppp4/' -e 's/hpcr3-in/ppp3/' `
  ClstrTyp=''
  case ${HOSTID} in
         xc1*|xc2*|xc3*|xc4*) ClstrTyp='xc_'     ;;
        #pp1*|pp2*) ClstrTyp='ppp_'    ;;
        ppp*|eccc*-ppp*|cs*|hpcr*) ClstrTyp='ppp_'    ;;
         usr-svc-sci-cnt*|gpsc-*) ClstrTyp='gpsc_'  ;;
            *) : ;;
  esac
  if [ "$subdirt" = 'bin' ] ; then
   # echo "_${OsTrgt_OS}"
   echo "_${ClstrTyp}${OsTrgt_OS}"
  elif [ "$subdirt" = 'executables' ] ; then
 # echo "${OsTrgt_OS}_"
   # echo "${OsTrgt_OS}"
   echo "${ClstrTyp}${OsTrgt_OS}"
  fi
 else
  if [ "$subdirt" = 'bin' ] ; then
   echo "_${OsTrgt_OS}"
  elif [ "$subdirt" = 'executables' ] ; then
 # echo "${OsTrgt_OS}_"
   echo "${OsTrgt_OS}"
  fi
 fi
fi
