Salome HOME
*** empty log message ***
[tools/install.git] / config_files / common.sh
index 0a86f3aa77eb58c4e302b889a36b9fe765985684..d3c7afaf4bf3bd3d0e8494d7666ef3c6e3176c6b 100755 (executable)
@@ -16,6 +16,30 @@ export DELIM="------"
 export SHRC="salome.sh"
 export CSHRC="salome.csh"
 
+
+#this function takes several parameters
+#first parameter contains path to module source filder
+#second parameters is value of $VERSION variables form MODULE.sh file
+
+check_salome_src_version(){
+root_dir=`printenv $1`
+module_version=$2
+
+if [ -n "$root_dir" ]; then
+    cfg_file=configure.ac
+    if [ ! -f ${root_dir}/${cfg_file} ] ; then
+       cfg_file=configure.in.base
+    fi
+    if [ -f ${root_dir}/${cfg_file} ] ; then
+       ver=`grep -e "^AC_INIT" ${root_dir}/${cfg_file} | sed -e "s%.*\[\([[:digit:].]*\)\].*%\1%g"`
+       if [ "$ver" = "${module_version}" ]; then
+           return 0
+       fi
+    fi
+fi
+return 1
+}
+
 #this function takes several parameters
 #first parameter contains descriptor of output file
 #next parameters is command for execution
@@ -126,13 +150,26 @@ done
 ### are created without using setenv(a|p) aliases.
 
 # 0. add /usr/lib or /usr/lib64 dir to the LD_LIBRARY_PATH
-if test `uname -m` = "x86_64" ; then
-echo 'export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}' >> ${install_work}/$SHRC 2>/dev/null
+#if test `uname -m` = "x86_64" ; then
+#echo 'export LD_LIBRARY_PATH=/usr/lib64:${LD_LIBRARY_PATH}' >> ${install_work}/$SHRC 2>/dev/null
+#echo '' >> ${install_work}/$SHRC 2>/dev/null
+#else
+#echo 'export LD_LIBRARY_PATH=/usr/lib:${LD_LIBRARY_PATH}' >> ${install_work}/$SHRC 2>/dev/null
+#echo '' >> ${install_work}/$SHRC 2>/dev/null
+#fi
+
+# Licence activation 
+
+# Source of license environment file
+
+echo '#------ License activation ------' >> ${install_work}/$SHRC 2>/dev/null
+echo 'export LICENSE_FILE=/product/distene/dlim8.var.sh' >> ${install_work}/$SHRC 2>/dev/null
 echo '' >> ${install_work}/$SHRC 2>/dev/null
-else
-echo 'export LD_LIBRARY_PATH=/usr/lib:${LD_LIBRARY_PATH}' >> ${install_work}/$SHRC 2>/dev/null
+echo 'if [ -e "${LICENSE_FILE}" ] ; then' >> ${install_work}/$SHRC 2>/dev/null
+echo 'export SIMULOGD_LICENSE_FILE=29029@amun' >> ${install_work}/$SHRC 2>/dev/null
+echo 'source ${LICENSE_FILE}' >> ${install_work}/$SHRC 2>/dev/null
+echo 'fi' >> ${install_work}/$SHRC 2>/dev/null
 echo '' >> ${install_work}/$SHRC 2>/dev/null
-fi
 
 # 1. first dump all environment files into the $SHRC file
 product_sequence="$2"
@@ -325,13 +362,13 @@ sed -e 's%export\([[:blank:]]*\)PYTHONPATH=\$[{]\?PYTHONPATH[}]\?:\(.*\)%exporta
 sed -e 's%export\([[:blank:]]*\)LD_RUN_PATH=\$[{]\?LD_RUN_PATH[}]\?:\(.*\)%exporta\1LD_RUN_PATH \2%g' -e 's%export\([[:blank:]]*\)LD_RUN_PATH=\(.*\):\$[{]\?LD_RUN_PATH[}]\?%exportp\1LD_RUN_PATH \2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2
 
 # Setting "/usr/X11R6/lib" path in LD_LIBRARY_PATH for the libGL.so.1 file
-if test `uname -m` = "x86_64" ; then
-echo '# Setting /usr/X11R6/lib64 path in LD_LIBRARY_PATH for the libGL.so.1 file' >> ${INSTALL_WORK}/_tmp2
-echo 'export LD_LIBRARY_PATH=/usr/X11R6/lib64:${LD_LIBRARY_PATH}' >> ${INSTALL_WORK}/_tmp2
-else
-echo '# Setting /usr/X11R6/lib path in LD_LIBRARY_PATH for the libGL.so.1 file' >> ${INSTALL_WORK}/_tmp2
-echo 'export LD_LIBRARY_PATH=/usr/X11R6/lib:${LD_LIBRARY_PATH}' >> ${INSTALL_WORK}/_tmp2
-fi
+#if test `uname -m` = "x86_64" ; then
+#echo '# Setting /usr/X11R6/lib64 path in LD_LIBRARY_PATH for the libGL.so.1 file' >> ${INSTALL_WORK}/_tmp2
+#echo 'export LD_LIBRARY_PATH=/usr/X11R6/lib64:${LD_LIBRARY_PATH}' >> ${INSTALL_WORK}/_tmp2
+#else
+#echo '# Setting /usr/X11R6/lib path in LD_LIBRARY_PATH for the libGL.so.1 file' >> ${INSTALL_WORK}/_tmp2
+#echo 'export LD_LIBRARY_PATH=/usr/X11R6/lib:${LD_LIBRARY_PATH}' >> ${INSTALL_WORK}/_tmp2
+#fi
 
 cat ${INSTALL_WORK}/_tmp2 >> ${install_work}/_$SHRC
 
@@ -343,10 +380,14 @@ cat ${INSTALL_WORK}/_tmp1 >> ${install_work}/$CSHRC
 sed -e 's%export \([[:alnum:]_[:blank:]]*\)\=%setenv \1 %g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
 sed -e 's%exporta \([[:alnum:]_[:blank:]]*\)%setenva \1%g'  ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
 sed -e 's%exportp \([[:alnum:]_[:blank:]]*\)%setenvp \1%g'  ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
-sed -e 's%if \[ -n "\${ENV_FOR_LAUNCH}" \] ; then%if ( ${?ENV_FOR_LAUNCH} ) then%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
-sed -e 's%if \[ "\${ENV_FOR_LAUNCH}" == "1" \] ; then%if ( "\${ENV_FOR_LAUNCH}" == "1" ) then%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
-sed -e 's%^\([[:blank:]]*\)fi\([[:blank:]]*\)$%\1endif\2%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
-cat ${INSTALL_WORK}/_tmp2 >> ${install_work}/_$CSHRC 2>/dev/null
+sed -e 's%if \[ -n "\${PYTHONPATH}" \] ; then%if ( ${?PYTHONPATH} ) then%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%if \[ -n "\${ENV_FOR_LAUNCH}" \] ; then%if ( ${?ENV_FOR_LAUNCH} ) then%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%if \[ "\${ENV_FOR_LAUNCH}" == "1" \] ; then%if ( "\${ENV_FOR_LAUNCH}" == "1" ) then%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%^\([[:blank:]]*\)fi\([[:blank:]]*\)$%\1endif\2%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+sed -e 's%var.sh%var.csh%g' ${INSTALL_WORK}/_tmp1 > ${INSTALL_WORK}/_tmp2 2>/dev/null
+sed -e 's%if \[ -e "\${LICENSE_FILE}" \] ; then%if ( -e ${LICENSE_FILE} ) then%g' ${INSTALL_WORK}/_tmp2 > ${INSTALL_WORK}/_tmp1 2>/dev/null
+
+cat ${INSTALL_WORK}/_tmp1 >> ${install_work}/_$CSHRC 2>/dev/null
 
 rm -f ${INSTALL_WORK}/_tmp1 ${INSTALL_WORK}/_tmp2
 
@@ -362,19 +403,15 @@ fi
 sed -e 's%setenv ENV_FOR_LAUNCH 1%setenv ENV_FOR_LAUNCH 0%' ${install_work}/_$CSHRC > ${install_root}/env_build.csh
 sed -e 's%export ENV_FOR_LAUNCH=1%export ENV_FOR_LAUNCH=0%' ${install_work}/_$SHRC  > ${install_root}/env_build.sh
 
-#test -e ${install_root}/env_products.csh && mv ${install_root}/env_products.csh ${install_root}/env_products.csh_`date +%F_%T`
 cp -f ${install_work}/_$CSHRC ${install_root}/env_products.csh
-#test -e ${install_root}/env_products.sh && mv ${install_root}/env_products.sh ${install_root}/env_products.sh_`date +%F_%T`
 cp -f ${install_work}/_$SHRC  ${install_root}/env_products.sh
 
 rm -f ${install_work}/_$SHRC ${install_work}/_$CSHRC
 ### !!! copying build.csh and build.sh scripts
 if [ -e ./build.csh ]; then
-    #test -e ${install_root}/build.csh && mv ${install_root}/build.csh ${install_root}/build.csh_`date +%F_%T`
     cp -f ./build.csh ${install_root}
 fi
 if [ -e ./build.sh ]; then
-    #test -e ${install_root}/build.sh && mv ${install_root}/build.sh ${install_root}/build.sh_`date +%F_%T`
     cp -f ./build.sh ${install_root}
 fi
 ### !!! copying release notes
@@ -397,7 +434,6 @@ product_dir=$1;  install_root=$2;  install_work=$3;
 product_sequence="$4"; installed_products="$5";  product_type=$6
 env_file=${product_dir}/env_${product_type}.sh
 if [ -f ${env_file} ] ; then
-#    cp -f ${env_file} ${install_work}
     cp -f ${env_file} ${install_work}/_env_${product_type}.sh
     make_env ${install_root} ${install_work} "${product_sequence}" "${installed_products}"
     source ${install_work}/$SHRC
@@ -613,7 +649,8 @@ if [ -z "$ldir" ] || [ ! -d "$ldir" ]; then return 1; fi
 
 srcdir=`pwd`
 
-SALOME_MODULES="`env | awk -F_ '/[[:alnum:]]*_ROOT_DIR/ { print $1 }'`"
+#SALOME_MODULES="`env | awk -F_ '/[[:alnum:]]*_ROOT_DIR/ { print $1 }'`"
+SALOME_MODULES="`env | awk -F_ '/[a-zA-Z0-9]*_ROOT_DIR/ { print $1 }'`"
 
 cd $ldir
 ldir=`pwd`
@@ -625,14 +662,19 @@ if [ "$l" != "X" ] ; then
     l=`basename $l`
     cd $ldir; cd $d
     # 1. process salome modules dependencies
+
     for mod in $SALOME_MODULES; do
        moddir=`printenv ${mod}_ROOT_DIR`
        if [ -n "${moddir}" ] ; then
            #echo $l $mod $moddir
-           sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*${mod}[^[:space:]/]*/lib% \1${moddir}/lib%g" $l > $l"_"
+#          sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*${mod}[^[:space:]/]*/\(lib\|lib64\)% \1${moddir}/${myldir}%g" $l > $l"_"
+#          sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*${mod}[^[:space:]/]*/lib% \1${moddir}/lib%g" $l > $l"_"
+           sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*${mod}[^[:space:]/]*/lib% \1${moddir}/lib%g" \
+               -e "s%^libdir='[^[:space:]]*${mod}[^[:space:]]*/\(lib.*\)'%libdir='${moddir}/\1'%g" $l > $l"_"
            mv -f $l"_" $l
        fi
     done
+
     # 2. process CAS.CADE dependencies
     casdir=`printenv CASROOT`/lib
     if [ ! -d ${casdir} ] ; then casdir=`printenv CASROOT`/Linux/lib ; fi
@@ -649,14 +691,22 @@ if [ "$l" != "X" ] ; then
     if [ ! -d ${omnidir} ] ; then omnidir=`printenv OMNIORBDIR`/lib ; fi
     if [ -n "${OMNIORBDIR}" ] && [ -d "${omnidir}" ] ; then
        # echo $l $OMNIORBDIR $omnidir
-       sed -e "s%-L[^[:space:]]*omni[^[:space:]]*%-L${omnidir}%g" $l > $l"_"
+       sed -e "s%-L[^[:space:]]*omni[^[:space:]]*%-L${omnidir}%g" \
+           -e "s%-R[^[:space:]]*omni[^[:space:]]*%-R${omnidir}%g" $l > $l"_"
        mv -f $l"_" $l
     fi
     # 4. process VTK dependencies
-    vtkdir=`printenv VTKHOME`/lib/vtk
-    if [ -n "${VTKHOME}" ] && [ -d "${vtkdir}" ] ; then
+    if test `uname -m` = "x86_64" ; then
+    vtkdir=`printenv VTKHOME`/lib64/vtk-5.0
+    vtkldir=`printenv VTKHOME`/lib64
+    else
+    vtkdir=`printenv VTKHOME`/lib/vtk-5.0
+    vtkldir=`printenv VTKHOME`/lib
+    fi
+    if [ -n "${VTKHOME}" ] && [ -d "${vtkdir}" ] && [ -d "${vtkldir}" ] ; then
        # echo $l $VTKHOME $vtkdir
-       sed -e "s%-L[^[:space:]]*VTK[^[:space:]]*/lib/vtk%-L${vtkdir}%g" $l > $l"_"
+       sed -e "s%-L[^[:space:]]*VTK[^[:space:]]*/\(lib\|lib64\)/vtk\-5\.0%-L${vtkdir}%g" \
+           -e "s%-L[^[:space:]]*VTK[^[:space:]]*/\(lib\|lib64\)%-L${vtkldir}%g" $l > $l"_"
        mv -f $l"_" $l
     fi
     # 5. process HDF dependencies
@@ -725,12 +775,43 @@ if [ "$l" != "X" ] ; then
        sed -e "s%-L[^[:space:]]*boost[^[:space:]]*/lib%-L${boostdir}%g" $l > $l"_"
        mv -f $l"_" $l
     fi
-    # 14. modify libdir
-    #sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib/salome'%g" $l > $l"_"
-    mod=`basename $ldir | awk -F_ '{print $1}'`
-    moddir=`printenv ${mod}_ROOT_DIR`
-    sed -e "s%^libdir='[^[:space:]]*${mod}[^[:space:]]*/\(lib.*\)'%libdir='${moddir}/\1'%g" $l > $l"_"
-    mv -f $l"_" $l
+
+#    # 14. modify libdir
+#    #sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib/salome'%g" $l > $l"_"
+#    mod=`basename $ldir | awk -F_ '{print $1}'`
+#    moddir=`printenv ${mod}_ROOT_DIR`
+#    sed -e "s%^libdir='[^[:space:]]*${mod}[^[:space:]]*/\(lib.*\)'%libdir='${moddir}/\1'%g" $l > $l"_"
+#    mv -f $l"_" $l
+
+    # 15. process libxml dependencies
+    libxmldir=`printenv LIBXML_DIR`/lib
+    if [ ! -d ${libxmldir} ] ; then libxmldir=`printenv  LIBXML_DIR`/lib ; fi
+    sed -e "s%\(.*\)\([[:space:]].*/lib/libxml2.la[[:space:]]\)\(.*\)%\1 ${libxmldir}/libxml2.la \3%g" \
+        -e "s%-L[^[:space:]]*libxml2[^[:space:]]*/lib%-L${libxmldir}%g" $l > $l"_"
+    mv -f $l"_" $l     
+
+    # 16. process metis dependencies
+    metisdir=`printenv METISDIR`
+    if [ ! -d ${metisdir} ] ; then metisdir=`printenv  METISDIR` ; fi
+    sed -e "s%-L[^[:space:]]*metis[^[:space:]]*%-L${metisdir}%g" $l > $l"_"
+    mv -f $l"_" $l     
+
+    # 3. process scotch dependencies
+    scotchdir=`printenv SCOTCHDIR`/bin
+    if [ ! -d ${scotchdir} ] ; then scotchdir=`printenv SCOTCHDIR`/bin ; fi
+    sed    -e "s%-L[^[:space:]]*scotch[^[:space:]]*/bin%-L${scotchdir}%g" $l > $l"_"
+    mv -f $l"_" $l     
+
+    # 4. process libGL.la dependencies
+    if test `uname -m` = "x86_64" ; then
+    libGLpath=/usr/lib64/libGL.la
+    else
+    libGLpath=/usr/lib/libGL.la
+    fi
+       sed -e "s%$libGLpath%""%g" $l > $l"_"
+       mv -f $l"_" $l
+
+
 fi
 done