Salome HOME
Merge branch 'vsr/cos55_gcc44' into SALOME_7
[tools/install.git] / config_files / common.sh
index e3492f753885a2e0f4a1f1c524465ec04d23fcfd..a5df6db4589dcb1bd95355195495efaa61483a42 100755 (executable)
@@ -66,13 +66,13 @@ check_job()
   shift
   errfile=/tmp/errlog
   if [ -n "${INSTALL_WORK}" ] ; then errfile=${INSTALL_WORK}/errlog; fi
-  cmd="`pwd` -> $*"
+  cmd="`pwd` -> $@"
   if [ "${out}" != "1" ] ; then cmd="${cmd} >> ${out}" ; fi
   echo -e ${cmd}
   if [ "${out}" != "1" ] ; then
-      $* >> ${out} 2>${errfile}
+      "$@" >> ${out} 2>${errfile}
   else
-      $*
+      "$@"
   fi
   if [ "$?" -ne "0" ] ; then
     if [ ${out} != "1" ] ; then
@@ -99,7 +99,7 @@ check_job()
 #all output will be put into terminal
 check_jb()
 {
-  check_job 1 $*
+  check_job 1 "$@"
   return
 }
 
@@ -516,38 +516,6 @@ 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
@@ -695,32 +663,29 @@ fix_gl_libs(){
 }
 
 ##
-# function: workaround on some platforms to use latest available version of gcc (e.g. gcc44 on CentOS 5.5)
+# function: create .qmake.cache file for compilation of custom gcc compiler
+# usage: gen_qmake_cache <dir>
+#        <dir> is a directory to put .qmake.cache
 ##
-use_latest_gcc(){
-    local gcc_min=$1
-    local gcc_ver=`gcc -dumpversion | awk -F. '{a1=0;a2=0;a3=0;if(NF>0)a1=$1;if(NF>1)a2=$2;if(NF>2)a3=$3;printf("%02d%02d%02d",a1,a2,a3);}'`
-    local gcc_found
-    local gxx_found
-    if [ ${gcc_ver} -le ${gcc_min} ] ; then
-       local wheregcc=$(dirname `which gcc`)
-       local all_gcc=$(find ${wheregcc}/gcc*)
-       local gcc_alt
-       local gcc_max=0
-       for gcc_alt in ${all_gcc} XXX ; do
-           if [ ${gcc_alt} = "XXX" ] ; then continue ; fi
-           gcc_ver=`${gcc_alt} -dumpversion 2>/dev/null | awk -F. '{a1=0;a2=0;a3=0;if(NF>0)a1=$1;if(NF>1)a2=$2;if(NF>2)a3=$3;printf("%02d%02d%02d",a1,a2,a3);}'`
-           if [ "${gcc_ver}" = "" ] ; then continue ; fi
-           if [ ${gcc_ver} -gt ${gcc_min} ] && [ ${gcc_ver} -gt ${gcc_max} ] ; then
-               gcc_max=${gcc_ver}
-               gcc_found=${gcc_alt}
-               gxx_found=`echo ${gcc_found} | sed -e "s%gcc%g++%"`
-           fi
-       done
-       if [ "${gcc_found}" != "" ] ; then
-           echo "CC=${gcc_found} CXX=${gxx_found}"
+
+gen_qmake_cache()
+{
+    local d=$1
+    if [ "${d}" != "" ] && [ -d ${d} ] && [ "${CXX}" != "" ] ; then
+       touch ${d}/.qmake.cache >& /dev/null
+       if [ "$?" != "0" ]  ; then
+           return 1
        fi
+       cat > ${d}/.qmake.cache <<EOF
+QMAKE_CXX          = ${CXX}
+QMAKE_LINK         = ${CXX}
+QMAKE_LINK_SHLIB   = ${CXX}
+QMAKE_CC           = ${CC}
+QMAKE_LINK_C       = ${CC}
+QMAKE_LINK_C_SHLIB = ${CC}
+EOF
     fi
+    return 0
 }
 
 modif_la_files(){