1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/bin/sh
- #$Id$
- #
- # finds CC version and prints it in the following format:
- # compiler_name version major_version
- #
- if [ $# -lt 1 ]
- then
- echo "Error: you must specify the compiler name" 1>&2
- exit 1
- fi
- if [ "$1" = "-h" ]
- then
- echo "Usage: "
- echo " $0 compiler_name"
- exit 1
- fi
- CC=$1
- if which $CC >/dev/null
- then
- (test ! -x `which $CC`) && echo "Error: $CC not executable" 1>&2 && exit 1
- else
- echo "Error: $CC not found or not executable" 1>&2
- exit 1
- fi
- if $CC -v 2>/dev/null 1>/dev/null
- then
- FULLVER=`$CC -v 2>&1`
- else
- FULLVER=`$CC -V 2>&1`
- fi
- if [ -n "$FULLVER" ]
- then
- # check if gcc
- if echo "$FULLVER"|grep gcc >/dev/null
- then
- NAME=gcc
- VER=`$CC --version|head -n 1| \
- sed -e 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/'\
- -e 's/^[^.0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/'`
- elif echo "$FULLVER"|grep Sun >/dev/null
- then
- NAME=suncc
- VER=`echo "$FULLVER"|head -n 1| \
- sed -e 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/'`
- elif echo "$FULLVER"|grep "Intel(R) C++ Compiler" >/dev/null
- then
- NAME=icc
- VER=`echo "$FULLVER"|head -n 1| \
- sed -e 's/.*Version \([0-9]\.[0-9]\.[0-9]*\).*/\1/' `
- fi
-
- # find major ver
- if [ -n "$VER" -a -z "$MAJOR_VER" ]
- then
- MAJOR_VER=`echo "$VER" |cut -d. -f1`
- fi
- fi
- #unknown
- if [ -z "$NAME" ]
- then
- NAME="unknown"
- VER="unknown"
- MAJOR_VER="unknown"
- fi
- echo "$NAME $VER $MAJOR_VER"
|