#!/bin/sh
#
# this script runs "version" on the Suns and the parses it to either
# return the compiler version or it's major version. (ie. SC2.0.1 or SC2 )
#
# This is used by the gmake rules file in ~trcgp/etc/gmake.init to 
# decide which directories to reference for objects and/or libraries 
# 
#							- Joe M. Wade 2/10/95
#
# ls -l `(which f77 2>&1)` | awk '{print $NF}' | sed 's/\([A-z]*\)[.].*/\1/'
# 
if ( test "$1" = "-h" -o "$1" = "-?" )
 then
  echo Usage: comp_vers [-major] - return compiler version
  exit
fi
system=`uname -s`
if [ "${system}" != "SunOS" ]
then
  if [ "${system}" != "Linux" ]
  then
    echo "${0}:"
    echo " This script is only intended for use on the SunOS or Linux platforms"
    exit 1
  else
    PGF77=`(which pgf77 2>&1) | awk '{print $1}' | awk -F/ '{print $NF}'`
    if [ "${PGF77}" != "pgf77" ]
    then
      INTELF77=`(which ifort 2>&1) | awk '{print $1}' | awk -F/ '{print $NF}'`
      if [ "${INTELF77}" != "ifort" ]
      then
	INTELF77=`(which ifc 2>&1) | awk '{print $1}' | awk -F/ '{print $NF}'`
        if [ "${INTELF77}" != "ifc" ]
	then
	  INTELF77=`(which efc 2>&1) | awk '{print $1}' | awk -F/ '{print $NF}'`
          if [ "${INTELF77}" != "efc" ]
	  then
	    INTELF77=`(which xlf 2>&1) | awk '{print $1}' | awk -F/ '{print $NF}'`
	  fi
	fi
      fi
    fi

    if [ "${PGF77}" = "pgf77" ]
    then
	long_version=`(pgf77 -V 2>&1) | grep '^pgf77[ ]'`
	version=`echo ${long_version} | awk '{print $2}' | awk -F- '{print $1}'`
	version="PGI-${version}"
    elif [ "${INTELF77}" = "ifort" ]
    then
	long_version=`(ifort -V 2>&1) | grep Version | sed 's/.*Version[ ]\(.*\)[ ].*/\1/'`
	version=`echo ${long_version} | sed 's/.*\([0-9][.][0-9]\).*/\1/'`
	version="Intel-${version}"
    elif [ "${INTELF77}" = "ifc" ]
    then
	long_version=`(ifc -V 2>&1) | grep Version | sed 's/.*Version[ ]\(.*\)[ ].*/\1/'`
	version=`echo ${long_version} | sed 's/.*\([0-9][.][0-9]\).*/\1/'`
	version="Intel-${version}"
    elif [ "${INTELF77}" = "efc" ]
    then
	long_version=`(efc -V 2>&1) | grep Version | sed 's/.*Version[ ]\(.*\)[ ].*/\1/'`
	version=`echo ${long_version} | sed 's/.*\([0-9][.][0-9]\).*/\1/'`
	version="Intel-${version}"
    elif [ "${INTELF77}" = "xlf" ]
    then
	long_version=`(xlf -qversion 2>&1) | sed 's/.*[ ]V\([0-9][.][0-9]\)[ ].*/\1/'`
	version=`echo ${long_version} | sed 's/.*\([0-9][.][0-9]\).*/\1/'`
	version="Intel-${version}"
    else
##If we make it to here, we must be using an Absoft compiler or GNU
        if test -f ${ABSOFT}/absoft_release
        then
	  long_version=`cat ${ABSOFT}/absoft_release`
	  version=`echo ${long_version} | awk '{print $3}'`
	  version="Absoft-${version}"
	else
	  long_version=`f77 -v 2>&1 | grep version`
	  version=`echo ${long_version} | awk '{print $3}' | sed 's/\([0-9].[0-9]\)\([.][0-9].*\)/\1/'`
	  version="GNU-${version}"
	fi
    fi
  fi
  if [ "$1" = "-major" ]
  then
    echo ${version} | awk -F. '{print $1}'
  else
    echo ${version}
  fi
else
# This is the SunOS block
long_version=`version \`which f77\` | sed 's/^.*[:][ ]*\(.*\)/\1/' `
if [ "${long_version}" = "" ]
 then
  echo ERROR
fi
case $long_version in
  SC*)
if [ "$1" = "-major" ]
 then
  echo $long_version | sed 's/\([A-z]*\)[.].*/\1/'
 else
  echo $long_version | sed 's/\([A-z]*\)[ ].*/\1/'
fi;;
  WorkShop*)
if [ "$1" = "-major" ]
 then
  echo $long_version | awk '{print $3}' | sed 's/\([A-z]*\)[.].*/\1/'
 else
  echo $long_version | awk '{print $3}' | sed 's/\([A-z]*\)[ ].*/\1/'
fi;;
  Sun*)
if [ "$1" = "-major" ]
 then
  echo $long_version | awk '{print $3}' | sed 's/\([A-z]*\)[.].*/\1/'
 else
  echo $long_version | awk '{print $3}' | sed 's/\([A-z]*\)[ ].*/\1/'
fi;;
esac
fi
