]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Improve try_native() function for the gcc
authorvsr <vsr@opencascade.com>
Wed, 28 Dec 2005 10:58:50 +0000 (10:58 +0000)
committervsr <vsr@opencascade.com>
Wed, 28 Dec 2005 10:58:50 +0000 (10:58 +0000)
config_files/common.sh
config_files/gcc-3.2.sh
config_files/gcc-3.4.sh

index a89c48e31c6799c1120ab146f8e4996fbf35a3a0..395a2de67949b0e5f453d2673b0b9d0a03421ff0 100755 (executable)
@@ -391,6 +391,38 @@ fi
 return $to_tail
 }
 
+where_gcc(){
+maj_ver=`echo $1 | awk -F. '{if(NF>0) print $1; else print 0}'`
+min_ver=`echo $1 | awk -F. '{if(NF>1) print $2; else print 0}'`
+rel_ver=`echo $1 | awk -F. '{if(NF>2) print $3; else print 0}'`
+let ver=$maj_ver*10000+$min_ver*100+$rel_ver
+newer=""
+newerver=0
+for i in `echo ${PATH}:/usr/bin:/usr/local/bin | sed -e"s%:% %g"` ; do 
+    ret=`find $i -name gcc -maxdepth 1 2>/dev/null`
+    if [ -n "$ret" ] ; then
+       maj_ver=`$ret -dumpversion | awk -F. '{if(NF>0) print $1; else print 0}'`
+       min_ver=`$ret -dumpversion | awk -F. '{if(NF>1) print $2; else print 0}'`
+       rel_ver=`$ret -dumpversion | awk -F. '{if(NF>2) print $3; else print 0}'`
+       let ver1=$maj_ver*10000+$min_ver*100+$rel_ver
+       if [ $ver1 -eq $ver ] ; then
+           ret=`echo $ret | sed -e"s%/gcc$%%g"`
+           echo $ret
+           return 0
+       fi
+       if [ $ver1 -gt $ver ] && [ $ver1 -gt $newerver ] ; then
+           let newerver=$ver1
+           newer=`echo $ret | sed -e"s%/gcc$%%g"`
+       fi
+    fi
+done
+if [ -n "$newer" ] ; then
+    echo $newer
+    return 0
+fi
+return 1
+}
+
 where_tcl(){
 if test -z "${TCLHOME}"; then
     TCLHOME=/usr
index 958ba324e98c1d9f9859bea406e1a7a6f4dc32e5..3d8b9b48de1554b67c58aad1db51722cacac48c7 100755 (executable)
@@ -26,19 +26,16 @@ make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 
 # looks for the native product and collects it's environment (used by make_env())
 try_native(){
-gcc_root="`find_in_path gcc ${PATH}`"
-if [ -z "${gcc_root}" ] ; then
-    gcc_root="`find_in_path gcc /usr/bin`"
-fi
+gcc_root="`where_gcc 3.2.0`"
 if [ -n "${gcc_root}" ] ; then
     gcc_root=`cd ${gcc_root}/..; pwd`
     # 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}'`
+    maj_ver=`${gcc_root}/bin/gcc -dumpversion | awk -F. '{if(NF>0) print $1; else print 0}'`
+    min_ver=`${gcc_root}/bin/gcc -dumpversion | awk -F. '{if(NF>1) print $2; else print 0}'`
+    rel_ver=`${gcc_root}/bin/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}";  
index db364acdf99b88d43ec17744c34e75be83d632d3..eac3103caba5183e7d84b71cac2915d66ae75303 100755 (executable)
@@ -26,19 +26,16 @@ make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 
 # looks for the native product and collects it's environment (used by make_env())
 try_native(){
-gcc_root="`find_in_path gcc ${PATH}`"
-if [ -z "${gcc_root}" ] ; then
-    gcc_root="`find_in_path gcc /usr/bin`"
-fi
+gcc_root="`where_gcc 3.4.1`"
 if [ -n "${gcc_root}" ] ; then
     gcc_root=`cd ${gcc_root}/..; pwd`
     # 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.4.1 - 30401
-    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}'`
+    maj_ver=`${gcc_root}/bin/gcc -dumpversion | awk -F. '{if(NF>0) print $1; else print 0}'`
+    min_ver=`${gcc_root}/bin/gcc -dumpversion | awk -F. '{if(NF>1) print $2; else print 0}'`
+    rel_ver=`${gcc_root}/bin/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 30401 ]  ; then
        tmp="\${GCC_ROOT}/bin ${gcc_root}/bin \${PATH} ${PATH}";  
@@ -95,4 +92,4 @@ export PRODUCT="gcc-3.4.1"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
-$PROCEDURE 
\ No newline at end of file
+$PROCEDURE