#!/bin/sh
check_version(){
-gcc_ver=`gcc -dumpversion | awk -F. '{ print $1 * 1000 + $2 }'`
-if [ $gcc_ver -eq 3002 ] ; then
+# version number is calculated as: <major>*10000+<minor>*100+<release>
+# e.g. for gcc 3.2 it is equal to 30200, for gcc 3.3.2 - 30202
+gcc_ver=`gcc -dumpversion | awk -F. '{v1=0;v2=0;v3=0;if(NF>0)v1=$1;if(NF>1)v2=$2;if(NF>2)v3=$3;print v1*10000+v2*100+v3}'`
+if [ $gcc_ver -eq 30200 ] ; then
return 0
fi
return 1
fi
if [ -n "${gcc_root}" ] ; then
gcc_root=`cd ${gcc_root}/..; pwd`
- gcc_ver=`gcc -dumpversion | awk -F. '{ print $1 * 1000 + $2 }'`
- if [ $gcc_ver -ge 3002 ] ; then
+ # get version number: <major>, <minor> and <release>
+ # <major> and <minor> numbers are checked strickly, but <release> number can be larger than required one
+ # version number is calculated as: <major>*10000+<minor>*100+<release>
+ # e.g. for gcc 3.2 it is equal to 30200, for gcc 3.3.2 - 30202
+ maj_ver=`gcc -dumpversion | awk -F. '{if(NF>0) print $1; else print 0}'`
+ min_ver=`gcc -dumpversion | awk -F. '{if(NF>1) print $2; else print 0}'`
+ rel_ver=`gcc -dumpversion | awk -F. '{if(NF>2) print $3; else print 0}'`
+ let gcc_ver=$maj_ver*10000+$min_ver*100+$rel_ver
+ if [ $gcc_ver -ge 30200 ] ; then
tmp="\${GCC_ROOT}/bin ${gcc_root}/bin \${PATH} ${PATH}";
path=`sort_path ${tmp}`
tmp="\${GCC_ROOT}/lib ${gcc_root}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";
##
EOF
make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
- if [ $gcc_ver -eq 3002 ] ; then
+####### THIS COULD BE USED FOR STRICT COMPARISON ##############################
+# if [ $maj_ver -eq 3 ] && [ $min_ver -eq 2 ] && [ $rel_ver -eq 0 ] ; then
+######################################################################################
+ if [ $maj_ver -eq 3 ] && [ $min_ver -eq 2 ] && [ $rel_ver -ge 0 ] ; then
return 0
else
return 2