]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Update for Salome 6.4.0
authorinv <inv@opencascade.com>
Mon, 31 Oct 2011 07:18:11 +0000 (07:18 +0000)
committerinv <inv@opencascade.com>
Mon, 31 Oct 2011 07:18:11 +0000 (07:18 +0000)
config_files/CAS-6.3sp13-patch.sh [deleted file]
config_files/CAS-6.3sp13.sh [deleted file]
config_files/OCCT-6.5.2.sh [new file with mode: 0755]
config_files/tcltk-8.4.14.sh [deleted file]
config_files/tcltk-8.5.8.sh [new file with mode: 0755]

diff --git a/config_files/CAS-6.3sp13-patch.sh b/config_files/CAS-6.3sp13-patch.sh
deleted file mode 100755 (executable)
index d12ad1c..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/bash -noprofile
-
-####################################################################################
-#  File      : CAS-6.3sp13.sh
-#  Created   : Thu Dec 18 12:01:00 2002
-#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
-#  Project   : SALOME
-#  Module    : Installation Wizard
-#  Copyright : 2002-2008 CEA
-#
-#  This script is the part of the SALOME installation procedure.
-#
-####################################################################################
-
-check_version()
-{
-if [ -z "$CASROOT" ]; then
-    return 1
-fi
-check_lib_version ${CASROOT}/inc/Standard_Version.hxx
-if [ "$?" -ne "0" ] ; then
-    return 1
-fi
-ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver_maint=`grep "#define OCC_VERSION_MAINTENANCE" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver="$ver_major.$ver_minor.$ver_maint"
-if [ "$ver" == "6.3" ] ; then
-    return 0
-fi
-return 1
-}
-
-print_env_bin()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE} $DELIM
-##
-# Patch for Open CASCADE 6.3sp13 has been installed
-##
-EOF
-(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-print_env_src()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
-#$DELIM ${PRODUCT_TYPE}_src $DELIM
-##
-# Patch for Open CASCADE 6.3 has been installed
-##
-EOF
-(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-try_preinstalled()
-{
-try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-return $?
-}
-
-install_source()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-source ${INSTALL_WORK}/$SHRC
-
-# unpack
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}-patch.tar.gz -C ${INST_ROOT}
-cp -rf ${INST_ROOT}/${PRODUCT}-patch_SRC/* ${PRODUCT_SRC_DIR}
-# to generate environment scripts
-try_preinstalled
-}
-
-install_source_and_build()
-{
-# install sources
-install_source
-
-# build sources
-#test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-cd ${PRODUCT_SRC_DIR}
-
-# make
-echo " +++++++++++ make"
-GCC=`which gcc`
-cat >> ${PRODUCT_DIR}/MAKE-PATH.LOG <<EOF
-used gcc=$GCC
-EOF
-check_job ${PRODUCT_DIR}/MAKE-PATH.LOG make -j4 install-strip
-
-#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log
-cd ${PRODUCT_DIR};
-
-# remove sources and temporary files after building
-if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
-    test -d ${INST_ROOT}/${PRODUCT}-patch_SRC && rm -fr ${INST_ROOT}/${PRODUCT}-patch_SRC
-    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
-fi
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_binary()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-source ${INSTALL_WORK}/$SHRC
-
-# create a product directory
-
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}-patch.tar.gz -C ${PRODUCT_DIR}
-
-try_preinstalled
-}
-
-export PROCEDURE=$1;
-export INSTALL_WORK=$2;
-export SOURCE_DIR=$3;
-export INST_ROOT=$4;
-export PRODUCT_SEQUENCE=$5;
-export PRODUCT_TYPE=$6;
-export INSTALL_PRODUCTS=$7;
-shift
-REMOVE_SRC_TMP=$8;
-test $# == 10 && shift && SINGLE_DIR=$9
-export PRODUCT="CAS-6.3sp13"
-export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
-export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
-source ./common.sh
-$PROCEDURE 
diff --git a/config_files/CAS-6.3sp13.sh b/config_files/CAS-6.3sp13.sh
deleted file mode 100755 (executable)
index 1af507f..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-#!/bin/bash -noprofile
-
-####################################################################################
-#  File      : CAS-6.3sp13.sh
-#  Created   : Thu Dec 18 12:01:00 2002
-#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
-#  Project   : SALOME
-#  Module    : Installation Wizard
-#  Copyright : 2002-2008 CEA
-#
-#  This script is the part of the SALOME installation procedure.
-#
-####################################################################################
-
-check_version()
-{
-if [ -z "$CASROOT" ]; then
-    return 1
-fi
-check_lib_version ${CASROOT}/inc/Standard_Version.hxx
-if [ "$?" -ne "0" ] ; then
-    return 1
-fi
-ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver_maint=`grep "#define OCC_VERSION_MAINTENANCE" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
-ver="$ver_major.$ver_minor.$ver_maint"
-if [ "$ver" == "6.3" ] ; then
-    return 0
-fi
-return 1
-}
-
-print_env_bin()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE} $DELIM
-export CASROOT=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export PATH=\${CASROOT}/bin:\${PATH}
-export LD_LIBRARY_PATH=\${CASROOT}/lib:\${CASROOT}/lin/lib:\${LD_LIBRARY_PATH}
-# Variable for Foundation Classes : 
-export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
-export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
-# Variable for DataExchange : 
-export CSF_SHMessage=\${CASROOT}/src/SHMessage
-export CSF_XSMessage=\${CASROOT}/src/XSMessage 
-# Variable for Font : 
-export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
-export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
-# Activation of OCCT Kernel multithreading :
-export MMGT_REENTRANT=1
-##
-EOF
-(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-print_env_src()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
-#$DELIM ${PRODUCT_TYPE}_src $DELIM
-# nothing to do
-##
-EOF
-(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-try_preinstalled()
-{
-try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-return $?
-}
-
-install_source()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-source ${INSTALL_WORK}/$SHRC
-
-# unpack
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_source_and_build()
-{
-# install sources
-install_source
-
-# build sources
-test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-cd ${PRODUCT_SRC_DIR}
-
-# configure
-
-echo " +++++++++++ configure"
-
-is_mandriva2007=0
-is_mandriva2008=0
-is_debian40=0
-
-if [ -e /etc/issue ] ; then
-  grep -e "Mandriva Linux release 2007.0" /etc/issue > /dev/null
-  if [ $? == 0 ] ; then is_mandriva2007=1 ; fi
-fi
-
-if [ -e /etc/issue ] ; then
-  grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null
-  if [ $? == 0 ] ; then is_mandriva2008=1 ; fi
-fi
-
-if [ -e /etc/issue ] ; then
-  grep -e "Debian GNU/Linux 4.0" /etc/issue > /dev/null
-  if [ $? == 0 ] ; then is_debian40=1 ; fi
-fi
-
-if [ $is_mandriva2007 == 1 ] || [ $is_mandriva2008 == 1 ] || [ $is_debian40 == 1 ] ; then
-where_xmu_include=/usr/include/X11
-else
-where_xmu_include=/usr/X11R6/include/X11
-fi
-
-flags="$flags --with-xmu-include=$where_xmu_include"
-
-if test `uname -m` = "x86_64" ; then
-    flags="$flags --with-xmu-library=/usr/lib64"
-else
-    flags="$flags --with-xmu-library=/usr/X11R6/lib"
-fi
-
-    flags="$flags LDFLAGS=-lpthread"
-glincdir="`where_gl_includes`"
-if [ $? -eq 0 ] ; then flags="$flags --with-gl-include=$glincdir"; fi
-gllibdir="`where_gl_libs`"
-if [ $? -eq 0 ] ; then flags="$flags --with-gl-library=$gllibdir"; fi
-tcldir="`where_tcl`"
-if [ $? -eq 0 ] ; then flags="$flags --with-tcl=$tcldir"; fi
-tkdir="`where_tk`"
-if [ $? -eq 0 ] ; then flags="$flags --with-tk=$tkdir"; fi
-dpsdir="`where_dps`"
-if [ $? -eq 0 ] ; then flags="$flags --with-dps-include=$dpsdir/include --with-dps-library=$dpsdir/lib"; fi
-flags="$flags --disable-wrappers --disable-wok --disable-debug --enable-production"
-
-export CASROOT=${PRODUCT_SRC_DIR}
-
-echo "`pwd` -> ./configure --prefix=${PRODUCT_DIR} $flags  >> ${PRODUCT_DIR}/CONFIGURE.LOG"
-./configure --prefix=${PRODUCT_DIR} $flags >> ${PRODUCT_DIR}/CONFIGURE.LOG 2> ${INSTALL_WORK}/errlog
-
-# make
-echo " +++++++++++ make"
-GCC=`which gcc`
-cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
-used gcc=$GCC
-EOF
-check_job ${PRODUCT_DIR}/MAKE.LOG make -j4 install-strip
-
-# fix libGL dependencies
-echo " +++++++++++ fix libGL dependencies"
-
-cd ${PRODUCT_DIR}/lib
-
-gllibdir="`where_gl_libs`"
-if [ "$gllibdir" != "" ] ; then
-    if [ -f ${gllibdir}/libGL.la ] ; then
-       libdir=`grep "libdir=" ${gllibdir}/libGL.la | sed -e "s%libdir='\(.*\)'%\1%"`
-       if [ "`ls $libdir/libGL.so* 2>/dev/null`" ] ; then
-           str_to_replace="${gllibdir}/libGL.la"
-       fi
-    fi
-    if [ "$str_to_replace" == "" ] ; then
-       str_to_replace="-L${gllibdir} -lGL"
-    fi
-
-    sed -e "s%-lGL\b%%g"                                                       \
-       -e "s%[^[:space:]]*libGL.la[[:space:]]%%g"                             \
-       -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \
-       libTKOpenGl.la > libTKOpenGl.la.new
-    mv -f libTKOpenGl.la.new libTKOpenGl.la
-fi
-
-#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log
-cd ${PRODUCT_DIR};
-
-# remove sources and temporary files after building
-echo "${INSTALL_PRODUCTS}" | grep -q "PatchForOpenCascade"
-if [ $? -eq 1 ] && [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
-    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
-fi
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_binary()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-source ${INSTALL_WORK}/$SHRC
-
-# create a product directory
-test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
-
-is_mandriva2008=0
-
-if [ -e /etc/issue ] ; then
-  grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null
-  if [ $? == 0 ] ; then is_mandriva2008=1 ; fi
-fi
-
-# modify *.la files
-ldir=${PRODUCT_DIR}/lib
-if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/Linux/lib; fi
-if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/lin/lib; fi
-cd $ldir
-# 1. set libdir correctly, correct dependencies, set tcldir correctly
-tcldir=`printenv TCLHOME`
-for l in X `find . -name "*.la"`; do
-    if [ "$l" != "X" ] ; then
-       l=`basename $l`
-       libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
-       sed -e "s%${libdir}%${ldir}%g" $l > _$l
-       mv -f _$l $l
-       if [ -n "${tcldir}" ] && [ -d "${tcldir}" ] ; then
-           sed -e "s%-L[^[:space:]]*tcltk[^[:space:]]*/lib%-L${tcldir}/lib%g" $l > _$l
-           mv -f _$l $l
-       fi
-       chmod a+x $l
-    fi
-done
-
-# 2. fix libGL dependencies
-
-#if test "$is_mandriva2008" = "1" && test `uname -m` = "x86_64" ; then
-
-#echo " +++++++++++ libGL dependencies are not updated"
-
-#else
-
-cd $ldir
-gllibdir="`where_gl_libs`"
-if [ "$gllibdir" != "" ] ; then
-    if [ -f ${gllibdir}/libGL.la ] ; then
-       libdir=`grep "libdir=" ${gllibdir}/libGL.la | sed -e "s%libdir='\(.*\)'%\1%"`
-       if [ "`ls $libdir/libGL.so* 2>/dev/null`" ] ; then
-           str_to_replace="${gllibdir}/libGL.la"
-       fi
-fi
-    if [ "$str_to_replace" == "" ] ; then
-       str_to_replace="-L${gllibdir} -lGL"
-    fi
-
-        sed -e "s%-lGL\b%%g"                                                   \
-       -e "s%[^[:space:]\']*libGL.la[[:space:]]%%g"                             \
-       -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \
-       libTKOpenGl.la > libTKOpenGl.la.new
-        mv -f libTKOpenGl.la.new libTKOpenGl.la
-fi
-#fi
-
-# to generate environment script for sources
-try_preinstalled
-}
-
-export PROCEDURE=$1;
-export INSTALL_WORK=$2;
-export SOURCE_DIR=$3;
-export INST_ROOT=$4;
-export PRODUCT_SEQUENCE=$5;
-export PRODUCT_TYPE=$6;
-export INSTALL_PRODUCTS=$7;
-shift
-REMOVE_SRC_TMP=$8;
-test $# == 10 && shift && SINGLE_DIR=$9
-export PRODUCT="CAS-6.3sp13"
-export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
-export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
-source ./common.sh
-$PROCEDURE 
diff --git a/config_files/OCCT-6.5.2.sh b/config_files/OCCT-6.5.2.sh
new file mode 100755 (executable)
index 0000000..eeab9c0
--- /dev/null
@@ -0,0 +1,299 @@
+!/bin/bash -noprofile
+
+####################################################################################
+#  File      : OCCT-6.5.2.sh
+#  Created   : Thu Dec 18 12:01:00 2002
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2008 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+####################################################################################
+
+check_version()
+{
+if [ -z "$CASROOT" ]; then
+    return 1
+fi
+check_lib_version ${CASROOT}/inc/Standard_Version.hxx
+if [ "$?" -ne "0" ] ; then
+    return 1
+fi
+ver_major=`grep "#define OCC_VERSION_MAJOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
+ver_minor=`grep "#define OCC_VERSION_MINOR" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
+ver_maint=`grep "#define OCC_VERSION_MAINTENANCE" ${CASROOT}/inc/Standard_Version.hxx | awk '{print $3}'`
+ver="$ver_major.$ver_minor.$ver_maint"
+if [ "$ver" == "6.5.2" ] ; then
+    return 0
+fi
+return 1
+}
+
+print_env_bin()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export CASROOT=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PATH=\${CASROOT}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${CASROOT}/lib:\${CASROOT}/lin/lib:\${LD_LIBRARY_PATH}
+# Variable for Foundation Classes : 
+export CSF_UnitsLexicon=\${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
+export CSF_UnitsDefinition=\${CASROOT}/src/UnitsAPI/Units.dat 
+# Variable for DataExchange : 
+export CSF_SHMessage=\${CASROOT}/src/SHMessage
+export CSF_XSMessage=\${CASROOT}/src/XSMessage 
+# Variable for Font : 
+export CSF_MDTVFontDirectory=\${CASROOT}/src/FontMFT 
+export CSF_MDTVTexturesDirectory=\${CASROOT}/src/Textures 
+# Activation of OCCT Kernel multithreading :
+export MMGT_REENTRANT=1
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+print_env_src()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
+#$DELIM ${PRODUCT_TYPE}_src $DELIM
+# nothing to do
+##
+EOF
+(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+try_preinstalled()
+{
+try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+return $?
+}
+
+install_source()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+source ${INSTALL_WORK}/$SHRC
+
+# unpack
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+cd ${PRODUCT_SRC_DIR}
+
+# configure
+
+echo " +++++++++++ configure"
+
+is_mandriva2007=0
+is_mandriva2008=0
+is_debian40=0
+
+if [ -e /etc/issue ] ; then
+  grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_mandriva2008=1 ; fi
+fi
+
+if [ -e /etc/issue ] ; then
+  grep -e "Mandriva Linux release 2010.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_mandriva2007=1 ; fi
+fi
+
+if [ -e /etc/issue ] ; then
+  grep -e "Debian GNU/Linux 4.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_debian40=1 ; fi
+fi
+
+if [ -e /etc/issue ] ; then
+  grep -e "Debian GNU/Linux 4.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_debian40=1 ; fi
+fi
+
+if [ -e /etc/issue ] ; then
+  grep -e "Debian GNU/Linux 5.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_debian50=1 ; fi
+fi
+
+if [ -e /etc/issue ] ; then
+  grep -e "Debian GNU/Linux 6.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_debian60=1 ; fi
+fi
+
+
+if [ $is_mandriva2008 == 1 ] || [ $is_mandriva2010 == 1 ] || [ $is_debian40 == 1 ] || [ $is_debian50 == 1 ] || [ $is_debian60 == 1 ] ; then
+where_xmu_include=/usr/include
+else
+where_xmu_include=/usr/X11R6/include
+fi
+
+flags="$flags --with-xmu-include=$where_xmu_include"
+
+if test `uname -m` = "x86_64" ; then
+    flags="$flags --with-xmu-library=/usr/lib64"
+else
+    flags="$flags --with-xmu-library=/usr/X11R6/lib"
+fi
+
+    flags="$flags LDFLAGS=-lpthread"
+glincdir="`where_gl_includes`"
+if [ $? -eq 0 ] ; then flags="$flags --with-gl-include=$glincdir"; fi
+gllibdir="`where_gl_libs`"
+if [ $? -eq 0 ] ; then flags="$flags --with-gl-library=$gllibdir"; fi
+tcldir="`where_tcl`"
+if [ $? -eq 0 ] ; then flags="$flags --with-tcl=$tcldir"; fi
+tkdir="`where_tk`"
+if [ $? -eq 0 ] ; then flags="$flags --with-tk=$tkdir"; fi
+dpsdir="`where_dps`"
+if [ $? -eq 0 ] ; then flags="$flags --with-dps-include=$dpsdir/include --with-dps-library=$dpsdir/lib"; fi
+flags="$flags --disable-wrappers --disable-wok --disable-debug --enable-production"
+
+export CASROOT=${PRODUCT_SRC_DIR}
+
+echo "`pwd` -> ./configure --prefix=${PRODUCT_DIR} $flags  >> ${PRODUCT_DIR}/CONFIGURE.LOG"
+./configure --prefix=${PRODUCT_DIR} $flags >> ${PRODUCT_DIR}/CONFIGURE.LOG 2> ${INSTALL_WORK}/errlog
+
+# make
+echo " +++++++++++ make"
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make -j4 install-strip
+
+# fix libGL dependencies
+echo " +++++++++++ fix libGL dependencies"
+
+cd ${PRODUCT_DIR}/lib
+
+gllibdir="`where_gl_libs`"
+if [ "$gllibdir" != "" ] ; then
+    if [ -f ${gllibdir}/libGL.la ] ; then
+       libdir=`grep "libdir=" ${gllibdir}/libGL.la | sed -e "s%libdir='\(.*\)'%\1%"`
+       if [ "`ls $libdir/libGL.so* 2>/dev/null`" ] ; then
+           str_to_replace="${gllibdir}/libGL.la"
+       fi
+    fi
+    if [ "$str_to_replace" == "" ] ; then
+       str_to_replace="-L${gllibdir} -lGL"
+    fi
+
+    sed -e "s%-lGL\b%%g"                                                       \
+       -e "s%[^[:space:]]*libGL.la[[:space:]]%%g"                             \
+       -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \
+       libTKOpenGl.la > libTKOpenGl.la.new
+    mv -f libTKOpenGl.la.new libTKOpenGl.la
+fi
+
+#du -sk ${PRODUCT_SRC_DIR} > ${PRODUCT_DIR}/size.log
+cd ${PRODUCT_DIR};
+
+# remove sources and temporary files after building
+echo "${INSTALL_PRODUCTS}" | grep -q "PatchForOpenCascade"
+if [ $? -eq 1 ] && [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
+    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
+fi
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_binary()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+# create a product directory
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
+
+is_mandriva2008=0
+
+if [ -e /etc/issue ] ; then
+  grep -e "Mandriva Linux release 2008.0" /etc/issue > /dev/null
+  if [ $? == 0 ] ; then is_mandriva2008=1 ; fi
+fi
+
+# modify *.la files
+ldir=${PRODUCT_DIR}/lib
+if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/Linux/lib; fi
+if [ ! -d $ldir ]; then ldir=${PRODUCT_DIR}/lin/lib; fi
+cd $ldir
+# 1. set libdir correctly, correct dependencies, set tcldir correctly
+tcldir=`printenv TCLHOME`
+for l in X `find . -name "*.la"`; do
+    if [ "$l" != "X" ] ; then
+       l=`basename $l`
+       libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
+       sed -e "s%${libdir}%${ldir}%g" $l > _$l
+       mv -f _$l $l
+       if [ -n "${tcldir}" ] && [ -d "${tcldir}" ] ; then
+           sed -e "s%-L[^[:space:]]*tcltk[^[:space:]]*/lib%-L${tcldir}/lib%g" $l > _$l
+           mv -f _$l $l
+       fi
+       chmod a+x $l
+    fi
+done
+
+# 2. fix libGL dependencies
+
+#if test "$is_mandriva2008" = "1" && test `uname -m` = "x86_64" ; then
+
+#echo " +++++++++++ libGL dependencies are not updated"
+
+#else
+
+cd $ldir
+gllibdir="`where_gl_libs`"
+if [ "$gllibdir" != "" ] ; then
+    if [ -f ${gllibdir}/libGL.la ] ; then
+       libdir=`grep "libdir=" ${gllibdir}/libGL.la | sed -e "s%libdir='\(.*\)'%\1%"`
+       if [ "`ls $libdir/libGL.so* 2>/dev/null`" ] ; then
+           str_to_replace="${gllibdir}/libGL.la"
+       fi
+fi
+    if [ "$str_to_replace" == "" ] ; then
+       str_to_replace="-L${gllibdir} -lGL"
+    fi
+
+        sed -e "s%-lGL\b%%g"                                                   \
+       -e "s%[^[:space:]\']*libGL.la[[:space:]]%%g"                             \
+       -e "s%^dependency_libs='\(.*\)%dependency_libs='${str_to_replace} \1%" \
+       libTKOpenGl.la > libTKOpenGl.la.new
+        mv -f libTKOpenGl.la.new libTKOpenGl.la
+fi
+#fi
+
+# to generate environment script for sources
+try_preinstalled
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INST_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+export PRODUCT_TYPE=$6;
+export INSTALL_PRODUCTS=$7;
+shift
+REMOVE_SRC_TMP=$8;
+test $# == 10 && shift && SINGLE_DIR=$9
+export PRODUCT="OCCT-6.5.2"
+export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
+source ./common.sh
+$PROCEDURE 
diff --git a/config_files/tcltk-8.4.14.sh b/config_files/tcltk-8.4.14.sh
deleted file mode 100755 (executable)
index 3b39e0e..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/bin/bash -noprofile
-
-####################################################################################
-#  File      : tcltk-8.4.14.sh
-#  Created   : Thu Dec 18 12:01:00 2002
-#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
-#  Project   : SALOME
-#  Module    : Installation Wizard
-#  Copyright : 2002-2008 CEA
-#
-#  This script is the part of the SALOME installation procedure.
-#
-####################################################################################
-
-VERSION="8.4"
-
-check_version()
-{
-if [ -z "$TCLHOME" ]; then
-   echo "TCLHOME doesn't set"
-   return 1
-fi
-
-# check tcl version
-tcl_cfg=${TCLHOME}/lib/tclConfig.sh
-if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/tcl${VERSION}/lib/tclConfig.sh; fi
-if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/lib/tcl${VERSION}/tclConfig.sh; fi
-if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/lib/tcl${VERSION}/lib/tclConfig.sh; fi
-if [ -f ${tcl_cfg} ]; then
-    tcl_ver=`awk '/^TCL_VERSION=.*/ {gsub("TCL_VERSION=","",$1);print $1}' ${tcl_cfg} | cut -d "'" -f 2`
-    if [ "$tcl_ver" != ${VERSION} ] ; then
-       return 1
-    fi
-else
-    return 1
-fi
-
-# check tk version
-tk_cfg=${TCLHOME}/lib/tkConfig.sh
-if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/tk${VERSION}/tkConfig.sh; fi
-if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/lib/tk${VERSION}/tkConfig.sh; fi
-if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/lib/tk${VERSION}/lib/tkConfig.sh; fi
-if [ -f ${tk_cfg} ]; then
-    tk_ver=`awk '/^TK_VERSION=.*/ {gsub("TK_VERSION=","",$1);print $1}' ${tk_cfg} | cut -d "'" -f 2`
-    if [ "$tk_ver" != ${VERSION} ] ; then
-       return 1
-    fi
-else
-    return 1
-fi
-
-return 0
-}
-
-print_env_bin()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE} $DELIM
-export TCLHOME=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export PATH=\${TCLHOME}/bin:\${PATH}
-export LD_LIBRARY_PATH=\${TCLHOME}/lib:\${LD_LIBRARY_PATH}
-export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl${VERSION} \${TCLHOME}/lib/tk${VERSION}"
-##
-EOF
-(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-print_env_src()
-{
-cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF 
-#$DELIM ${PRODUCT_TYPE}_src $DELIM
-# nothing to do
-##
-EOF
-(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
-}
-
-try_preinstalled(){
-try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-return $?
-}
-
-install_source()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
-source ${INSTALL_WORK}/$SHRC
-
-mkdir -p ${PRODUCT_SRC_DIR}
-
-check_jb tar xfz ${SOURCE_DIR}/tcl8.4.14.tar.gz -C ${PRODUCT_SRC_DIR}
-check_jb tar xfz ${SOURCE_DIR}/tk8.4.14.tar.gz -C ${PRODUCT_SRC_DIR}
-check_jb tar xfz ${SOURCE_DIR}/tclx8.3.5.tar.gz -C ${PRODUCT_SRC_DIR}
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_source_and_build()
-{
-# install sources
-install_source
-
-# build sources
-test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-
-cd ${PRODUCT_SRC_DIR}/tcl8.4.14_SRC/unix
-cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
--------------------
-Configuring tcl...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --enable-gcc --enable-shared --enable-threads \
-    --prefix=${PRODUCT_DIR}
-GCC=`which gcc`
-cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
-used gcc=$GCC
--------------------
-Making tcl...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKE.LOG make
-cat >> ${PRODUCT_DIR}/MAKEINSTALL.LOG <<EOF
--------------------
-Installing tcl...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
-
-(cd ${PRODUCT_DIR}/bin; ln -fs tclsh8.4 tclsh)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtcl8.4.so libtcl.so)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtclstub8.4.a libtclstub.a)
-
-cd ${PRODUCT_SRC_DIR}/tk8.4.14_SRC/unix
-cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
--------------------
-Configuring tk...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --enable-gcc --enable-shared --enable-threads \
-    --prefix=${PRODUCT_DIR} --with-tcl=${PRODUCT_DIR}/lib
-cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
--------------------
-Making tk...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKE.LOG make
-cat >> ${PRODUCT_DIR}/MAKEINSTALL.LOG <<EOF
--------------------
-Installing tk...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
-
-(cd ${PRODUCT_DIR}/bin; ln -fs wish8.4 wish)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtk8.4.so libtk.so)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtkstub8.4.a libtkstub.a)
-
-#vsr: patch tclx 8.3.5 to make it compiliable on Mandriva 2006.0
-cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/unix
-mv Common.mk.in Common.mk.in.orig
-sed -e 's/@DEFS@/-DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void/g' Common.mk.in.orig > Common.mk.in
-cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/tcl/unix
-mv tclxConfig.sh.in tclxConfig.sh.in.orig
-sed -e 's/@DEFS@/ -DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void /g' tclxConfig.sh.in.orig > tclxConfig.sh.in
-cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/tk/unix
-mv tkxConfig.sh.in tkxConfig.sh.in.orig
-sed -e 's/@DEFS@/ -DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void /g' tkxConfig.sh.in.orig > tkxConfig.sh.in
-
-cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/unix
-#VRV - bug in a tclx configure 
-chmod +w ./configure
-echo -e '/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 1\ns/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 1/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 0\nwq' | ed - configure 
-#INV - bug in a tclx configure 
-cp configure configure.orig && sed "s/relid'/relid/" configure.orig > configure
-chmod 755 ./configure
-#VRV - bug in a tclx configure 
-cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
--------------------
-Configuring tclx...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
-    ./configure --enable-gcc --enable-shared --enable-threads \
-    --prefix=${PRODUCT_DIR}  --with-tcl=${PRODUCT_DIR}/lib  --with-tk=${PRODUCT_DIR}/lib
-cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
--------------------
-Making tclx...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKE.LOG make
-cat >> ${PRODUCT_DIR}/MAKEINSTALLEXEC.LOG <<EOF
--------------------
-Installing tclx...
--------------------
-EOF
-check_job ${PRODUCT_DIR}/MAKEINSTALLEXEC.LOG make install-exec
-
-(cd ${PRODUCT_DIR}/lib; ln -fs libtclx8.3.so libtclx.so)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtclx8.3.a  libtclx.a)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtkx8.3.so  libtkx.so)
-(cd ${PRODUCT_DIR}/lib; ln -fs libtkx8.3.a   libtkx.a)
-
-cd ${PRODUCT_DIR}
-
-  if test `uname -m` = "x86_64" ; then
-  if [ ! -h lib64 ]; then ln -s lib lib64; fi
-      fi
-
-# remove sources and temporary files after building
-if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
-    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
-fi
-
-# to generate environment scripts
-try_preinstalled
-}
-
-install_binary()
-{
-make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
-source ${INSTALL_WORK}/$SHRC
-
-# create a product directory
-test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
-
-check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
-
-# overriding installation path
-cd ${PRODUCT_DIR}/lib
-old_prefix=`grep -e "^TCL_PREFIX='.*'" tclConfig.sh | sed -e "s%^TCL_PREFIX='\(.*\)'%\1%g"`
-sed -e "s%${old_prefix}%${PRODUCT_DIR}%g" tclConfig.sh > _tclConfig.sh
-mv -f _tclConfig.sh tclConfig.sh
-sed -e "s%${old_prefix}%${PRODUCT_DIR}%g" tkConfig.sh > _tkConfig.sh
-mv -f _tkConfig.sh tkConfig.sh
-
-cd ${PRODUCT_DIR}
-  if test `uname -m` = "x86_64" ; then
-  if [ ! -h lib64 ]; then ln -s lib lib64; fi
-      fi
-
-# to generate environment scripts
-try_preinstalled
-}
-
-export PROCEDURE=$1;
-export INSTALL_WORK=$2;
-export SOURCE_DIR=$3;
-export INST_ROOT=$4;
-export PRODUCT_SEQUENCE=$5;
-export PRODUCT_TYPE=$6;
-export INSTALL_PRODUCTS=$7;
-shift
-REMOVE_SRC_TMP=$8;
-test $# == 10 && shift && SINGLE_DIR=$9
-export PRODUCT="tcltk-8.4.14"
-export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
-export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
-export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
-source ./common.sh
-$PROCEDURE 
diff --git a/config_files/tcltk-8.5.8.sh b/config_files/tcltk-8.5.8.sh
new file mode 100755 (executable)
index 0000000..9f863b3
--- /dev/null
@@ -0,0 +1,263 @@
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : tcltk-8.5.8.sh
+#  Created   : Thu Dec 18 12:01:00 2002
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2008 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+####################################################################################
+
+VERSION="8.5"
+
+check_version()
+{
+if [ -z "$TCLHOME" ]; then
+   echo "TCLHOME doesn't set"
+   return 1
+fi
+
+# check tcl version
+tcl_cfg=${TCLHOME}/lib/tclConfig.sh
+if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/tcl${VERSION}/lib/tclConfig.sh; fi
+if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/lib/tcl${VERSION}/tclConfig.sh; fi
+if [ ! -f ${tcl_cfg} ]; then tcl_cfg=${TCLHOME}/lib/tcl${VERSION}/lib/tclConfig.sh; fi
+if [ -f ${tcl_cfg} ]; then
+    tcl_ver=`awk '/^TCL_VERSION=.*/ {gsub("TCL_VERSION=","",$1);print $1}' ${tcl_cfg} | cut -d "'" -f 2`
+    if [ "$tcl_ver" != ${VERSION} ] ; then
+       return 1
+    fi
+else
+    return 1
+fi
+
+# check tk version
+tk_cfg=${TCLHOME}/lib/tkConfig.sh
+if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/tk${VERSION}/tkConfig.sh; fi
+if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/lib/tk${VERSION}/tkConfig.sh; fi
+if [ ! -f ${tk_cfg} ]; then tk_cfg=${TCLHOME}/lib/tk${VERSION}/lib/tkConfig.sh; fi
+if [ -f ${tk_cfg} ]; then
+    tk_ver=`awk '/^TK_VERSION=.*/ {gsub("TK_VERSION=","",$1);print $1}' ${tk_cfg} | cut -d "'" -f 2`
+    if [ "$tk_ver" != ${VERSION} ] ; then
+       return 1
+    fi
+else
+    return 1
+fi
+
+return 0
+}
+
+print_env_bin()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export TCLHOME=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PATH=\${TCLHOME}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${TCLHOME}/lib:\${LD_LIBRARY_PATH}
+export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl${VERSION} \${TCLHOME}/lib/tk${VERSION}"
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+print_env_src()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE}_src $DELIM
+# nothing to do
+##
+EOF
+(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+return $?
+}
+
+install_source()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+source ${INSTALL_WORK}/$SHRC
+
+mkdir -p ${PRODUCT_SRC_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/tcl8.5.8.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/tk8.5.8.tar.gz -C ${PRODUCT_SRC_DIR}
+check_jb tar xfz ${SOURCE_DIR}/tclx8.4.0.tar.gz -C ${PRODUCT_SRC_DIR}
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+cd ${PRODUCT_SRC_DIR}/tcl8.5.8_SRC/unix
+cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
+-------------------
+Configuring tcl...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --enable-gcc --enable-shared --enable-threads \
+    --prefix=${PRODUCT_DIR}
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+-------------------
+Making tcl...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+cat >> ${PRODUCT_DIR}/MAKEINSTALL.LOG <<EOF
+-------------------
+Installing tcl...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+
+(cd ${PRODUCT_DIR}/bin; ln -fs tclsh8.5 tclsh)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtcl8.5.so libtcl.so)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtclstub8.5.a libtclstub.a)
+
+cd ${PRODUCT_SRC_DIR}/tk8.5.8_SRC/unix
+cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
+-------------------
+Configuring tk...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --enable-gcc --enable-shared --enable-threads \
+    --prefix=${PRODUCT_DIR} --with-tcl=${PRODUCT_DIR}/lib
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+-------------------
+Making tk...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+cat >> ${PRODUCT_DIR}/MAKEINSTALL.LOG <<EOF
+-------------------
+Installing tk...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
+
+(cd ${PRODUCT_DIR}/bin; ln -fs wish8.5 wish)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtk8.5.so libtk.so)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtkstub8.5.a libtkstub.a)
+
+#vsr: patch tclx 8.3.5 to make it compiliable on Mandriva 2006.0
+cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/unix
+mv Common.mk.in Common.mk.in.orig
+sed -e 's/@DEFS@/-DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void/g' Common.mk.in.orig > Common.mk.in
+cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/tcl/unix
+mv tclxConfig.sh.in tclxConfig.sh.in.orig
+sed -e 's/@DEFS@/ -DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void /g' tclxConfig.sh.in.orig > tclxConfig.sh.in
+cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/tk/unix
+mv tkxConfig.sh.in tkxConfig.sh.in.orig
+sed -e 's/@DEFS@/ -DSTDC_HEADERS=1 -DNDEBUG=1 -DRETSIGTYPE=void /g' tkxConfig.sh.in.orig > tkxConfig.sh.in
+
+cd ${PRODUCT_SRC_DIR}/tclx8.3.5_SRC/unix
+#VRV - bug in a tclx configure 
+chmod +w ./configure
+echo -e '/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 1\ns/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 1/test "$no_create" = yes || ${CONFIG_SHELL-\/bin\/sh} $CONFIG_STATUS || exit 0\nwq' | ed - configure 
+#INV - bug in a tclx configure 
+cp configure configure.orig && sed "s/relid'/relid/" configure.orig > configure
+chmod 755 ./configure
+#VRV - bug in a tclx configure 
+cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
+-------------------
+Configuring tclx...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+    ./configure --enable-gcc --enable-shared --enable-threads \
+    --prefix=${PRODUCT_DIR}  --with-tcl=${PRODUCT_DIR}/lib  --with-tk=${PRODUCT_DIR}/lib
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+-------------------
+Making tclx...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make
+cat >> ${PRODUCT_DIR}/MAKEINSTALLEXEC.LOG <<EOF
+-------------------
+Installing tclx...
+-------------------
+EOF
+check_job ${PRODUCT_DIR}/MAKEINSTALLEXEC.LOG make install-exec
+
+(cd ${PRODUCT_DIR}/lib; ln -fs libtclx8.3.so libtclx.so)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtclx8.3.a  libtclx.a)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtkx8.3.so  libtkx.so)
+(cd ${PRODUCT_DIR}/lib; ln -fs libtkx8.3.a   libtkx.a)
+
+cd ${PRODUCT_DIR}
+
+  if test `uname -m` = "x86_64" ; then
+  if [ ! -h lib64 ]; then ln -s lib lib64; fi
+      fi
+
+# remove sources and temporary files after building
+if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
+    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
+fi
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_binary()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+# create a product directory
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
+
+# overriding installation path
+cd ${PRODUCT_DIR}/lib
+old_prefix=`grep -e "^TCL_PREFIX='.*'" tclConfig.sh | sed -e "s%^TCL_PREFIX='\(.*\)'%\1%g"`
+sed -e "s%${old_prefix}%${PRODUCT_DIR}%g" tclConfig.sh > _tclConfig.sh
+mv -f _tclConfig.sh tclConfig.sh
+sed -e "s%${old_prefix}%${PRODUCT_DIR}%g" tkConfig.sh > _tkConfig.sh
+mv -f _tkConfig.sh tkConfig.sh
+
+cd ${PRODUCT_DIR}
+  if test `uname -m` = "x86_64" ; then
+  if [ ! -h lib64 ]; then ln -s lib lib64; fi
+      fi
+
+# to generate environment scripts
+try_preinstalled
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INST_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+export PRODUCT_TYPE=$6;
+export INSTALL_PRODUCTS=$7;
+shift
+REMOVE_SRC_TMP=$8;
+test $# == 10 && shift && SINGLE_DIR=$9
+export PRODUCT="tcltk-8.5.8"
+export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
+source ./common.sh
+$PROCEDURE