first check-in of feisty meow codebase. many things broken still due to recent
[feisty_meow.git] / scripts / clam / cpp / get_version.sh
1 #!/bin/bash
2 COMPILER=$1
3 COMPILER_ROOT_DIR=$2
4 if [ "$COMPILER" = "GNU_LINUX" \
5     -o "$COMPILER" = "GNU_DARWIN" ]; then
6   # compiler version report for the gnu compiler on linux and darwin.
7
8   # older code is needed for some versions of gcc / suse.
9   ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/')
10
11   if [ ! -d "/usr/include/c++/$ver_found" ]; then
12     # newest code takes only first two version numbers, since that's how
13     # suse 11.0 at least is listing the includes.
14     ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1.\2/')
15   fi
16
17   echo "$ver_found"
18
19 elif [ "$COMPILER" = "GNU_ARM_LINUX" ]; then
20   # compiler version report for the gnu compiler on the arm processor.
21   gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' 
22 elif [ "$COMPILER" = "VISUAL_CPP" ]; then
23   # compiler version report for ms visual studio.
24   ver_raw=`$COMPILER_ROOT_DIR/bin/cl 2>&1 | head -1 | sed -e 's/.*Version \([0-9][0-9]*\)\..*$/\1/'`
25   if [ "$ver_raw" = "12" ]; then echo 6;
26   elif [ "$ver_raw" = "13" ]; then echo 7;
27   elif [ "$ver_raw" = "14" ]; then echo 8;
28   elif [ "$ver_raw" = "15" ]; then echo 9;
29   elif [ "$ver_raw" = "16" ]; then echo 10;
30   fi
31 else
32   echo "0"
33 fi