# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
# Project : SALOME
# Module : Installation Wizard
-# Copyright : 2002-2007 CEA
+# Copyright : 2002-2008 CEA
#
# This script is the part of the SALOME installation procedure.
#
export SHRC="salome.sh"
export CSHRC="salome.csh"
+#####################################################
+# !WARNING! This is current SALOME version number
+####################################################
+export SALOME_VERSION="5.1.2"
-#this function takes several parameters
-#first parameter contains path to module source filder
-#second parameters is value of $VERSION variables form MODULE.sh file
+# Name of the single directory for SALOME modules
+export SDIR_NAME="SALOME_${SALOME_VERSION}"
+#this function takes one parameter - path to module source folder
check_salome_src_version(){
root_dir=`printenv $1`
-module_version=$2
if [ -n "$root_dir" ]; then
cfg_file=configure.ac
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
+ if [ "$ver" = "${SALOME_VERSION}" ]; then
return 0
fi
fi
product_env=${install_work}/env_${product_name}.sh
(test -e ${product_env} && rm ${product_env} )
fi
-### !!! writing salome.sh file !!! -> define INSTALL_ROOT
+### !!! writing salome.sh file !!! -> define INST_ROOT
cat >> ${install_work}/$SHRC <<EOF
#${DELIM} Setting products installation directory ${DELIM}
-export INSTALL_ROOT=${install_root}
+export INST_ROOT=${install_root}
#${DELIM} Environment switch: 0 for SALOME building, 1 for SALOME launching ${DELIM}
export ENV_FOR_LAUNCH=1
if [ -n "${moddir}" ] ; then
#echo $l $mod $moddir
# 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" $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
+# for mod1 in $SALOME_MODULES; do
+# sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*${mod1}[^[:space:]]*/${mod1}_build%%g" $l > $l"_"
+# mv -f $l"_" $l
+# done
fi
done
-e "s%[[:space:]]\(-L\)\?[^[:space:]]*\(OCT\|CAS\)[^[:space:]/]*/lin/lib% \1${casdir}%g" \
-e "s%[[:space:]]\(-L\)\?[^[:space:]]*\(OCT\|CAS\)[^[:space:]/]*/lib% \1${casdir}%g" $l > $l"_"
mv -f $l"_" $l
+ sed -e "s%-L[^[:space:]]*OCCT[^[:space:]]*/Linux/lib%-L${casdir}%g" \
+ -e "s%[^[:space:]]*OCCT[^[:space:]]*/lib/%${casdir}/%g" $l > $l"_"
+ mv -f $l"_" $l
fi
# 3. process omniORB dependencies
omnidir=`printenv OMNIORBDIR`/lib/i586_linux_2.0_glibc2.1
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
- if test `uname -m` = "x86_64" ; then
- vtkdir=`printenv VTKHOME`/lib64/vtk
+ vtkpath=`printenv VTKHOME`
+ if [ `uname -m` = "x86_64" ] && [ -d ${vtkpath}/lib64 ] ; then
+ LIB_PREFIX=64
+ elif [ -d ${vtkpath}/lib ] ; then
+ LIB_PREFIX=""
else
- vtkdir=`printenv VTKHOME`/lib/vtk
+ LIB_PREFIX=64
fi
- if [ -n "${VTKHOME}" ] && [ -d "${vtkdir}" ] ; then
+ vtkldir=${vtkpath}/lib${LIB_PREFIX}
+ vtkdir=${vtkldir}/vtk-5.0
+ if [ -n "${VTKHOME}" ] && [ -d "${vtkdir}" ] && [ -d "${vtkldir}" ] ; then
# echo $l $VTKHOME $vtkdir
- sed -e "s%-L[^[:space:]]*VTK[^[:space:]]*/\(lib\|lib64\)/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
mv -f $l"_" $l
fi
# 11. process PyQt dependencies
- pyqtdir=`find_in_path qt.so ${LD_LIBRARY_PATH}`
+ pyqtdir=`find_in_path Qt.so ${LD_LIBRARY_PATH}`
if [ -n "${pyqtdir}" ] && [ -d "${pyqtdir}" ] ; then
# echo $l $pyqtdir
sed -e "s%-L[^[:space:]]*PyQt[^[:space:]]*%-L${pyqtdir}%g" $l > $l"_"
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
+
+ blsurfdir=`printenv BLSURFHOME`/lib
+ if [ -n "${blsurfdir}" ] && [ -d "${blsurfdir}" ] ; then
+ # echo $l $BOOSTDIR $boostdir
+ sed -e "s%-L[^[:space:]]*blsurf[^[:space:]]*/lib%-L${blsurfdir}%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
# 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"_"
+ sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*libxml2-[0-9]\.[0-9]\.[0-9][0-9]/lib% \1${libxmldir}%g" $l > $l"_"
mv -f $l"_" $l
+ sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*libxml2/lib% \1${libxmldir}%g" $l > $l"_"
+ mv -f $l"_" $l
# 16. process metis dependencies
metisdir=`printenv METISDIR`
sed -e "s%-L[^[:space:]]*metis[^[:space:]]*%-L${metisdir}%g" $l > $l"_"
mv -f $l"_" $l
- # 3. process scotch dependencies
+ # 17. 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
+ # 18. 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
+
+ # 19. process graphviz dependencies
+ graphvizdir=`printenv GRAPHVIZHOME`/lib
+ if [ ! -d ${graphvizdir} ] ; then graphvizdir=`printenv GRAPHVIZHOME`/lib ; fi
+ sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*graphviz-[0-9]\.[0-9]\+\.[0-9]/lib% \1${graphvizdir}%g" \
+ -e "s%[[:space:]]\(-L\)\?[^[:space:]]*graphviz/lib% \1${graphvizdir}%g" $l > $l"_"
+ chmod -f --reference=$l $l"_"
+ mv -f $l"_" $l
+
+ # 20. process QScintilla-2.3 dependencies
+ qscintilladir=`printenv QSCINTILLA_DIR`/lib
+ if [ ! -d ${qscintilladir} ] ; then qscintilladir=`printenv QSCINTILLA_DIR`/lib ; fi
+ sed -e "s%[[:space:]]\(-L\)\?[^[:space:]]*QScintilla-[0-9]\.[0-9]\.[0-9]/lib% \1${qscintilladir}%g" $l > $l"_"
+ chmod -f --reference=$l $l"_"
+ mv -f $l"_" $l
fi
done