#!/bin/sh
+####################################################################################
+# File : tcltk-8.4.5.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-2006 CEA
+#
+# This script is the part of the SALOME installation procedure.
+#
+####################################################################################
+
+VERSION="8.4"
+
check_version()
{
-VERSION="8.4"
if [ -z "$TCLHOME" ]; then
echo "TCLHOME doesn't set"
return 1
export TCLHOME=\${INSTALL_ROOT}/${PRODUCT}
export PATH=\${TCLHOME}/bin:\${PATH}
export LD_LIBRARY_PATH=\${TCLHOME}/lib:\${LD_LIBRARY_PATH}
-export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl8.4 \${TCLHOME}/lib/tk8.4 \${TCLLIBPATH}"
+export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl${VERSION} \${TCLHOME}/lib/tk${VERSION} \${TCLLIBPATH}"
##
EOF
(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
export TCLHOME=${tclhome}
export PATH=${path}
export LD_LIBRARY_PATH=${ld_library_path}
-export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl8.4 \${TCLHOME}/lib/tk8.4 \${TCLLIBPATH}"
+export TCLLIBPATH="\${TCLHOME}/lib \${TCLHOME}/lib/tcl${VERSION} \${TCLHOME}/lib/tk${VERSION} \${TCLLIBPATH}"
##
EOF
(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
source ${INSTALL_WORK}/$SHRC
-makedir ${PRODUCT_DIR}
+if test `uname -m` = "x86_64" ; then
+export CFLAGS=-m64
+fi
+makedir ${PRODUCT_DIR}
check_jb tar xfz ${SOURCE_DIR}/tcl8.4.5.tar.gz -C ${INSTALL_WORK}
cd ${INSTALL_WORK}/tcl8.4.5/unix
cat >> ${PRODUCT_DIR}/CONFIGURE.LOG <<EOF
EOF
check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
-(cd ${PRODUCT_DIR}/bin; ln -s tclsh8.4 tclsh)
-(cd ${PRODUCT_DIR}/lib; ln -s libtcl8.4.so libtcl.so)
-(cd ${PRODUCT_DIR}/lib; ln -s libtclstub8.4.a libtclstub.a)
+(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)
check_jb tar xfz ${SOURCE_DIR}/tk8.4.5.tar.gz -C ${INSTALL_WORK}
cd ${INSTALL_WORK}/tk8.4.5/unix
-------------------
EOF
check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --enable-gcc --enable-shared --enable-threads \
- --prefix=${PRODUCT_DIR}
+ --prefix=${PRODUCT_DIR} --with-tcl=${PRODUCT_DIR}/lib
cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
-------------------
Making tk...
EOF
check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
-(cd ${PRODUCT_DIR}/bin; ln -s wish8.4 wish)
-(cd ${PRODUCT_DIR}/lib; ln -s libtk8.4.so libtk.so)
-(cd ${PRODUCT_DIR}/lib; ln -s libtkstub8.4.a libtkstub.a)
+(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)
check_jb tar xfz ${SOURCE_DIR}/tclx8.3.5.tar.gz -C ${INSTALL_WORK}
+
+#vsr: patch tclx 8.3.5 to make it compiliable on Mandriva 2006.0
+cd ${INSTALL_WORK}/tclx8.3.5/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 ${INSTALL_WORK}/tclx8.3.5/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 ${INSTALL_WORK}/tclx8.3.5/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 ${INSTALL_WORK}/tclx8.3.5/unix
#VRV - bug in a tclx configure
chmod +w ./configure
EOF
check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
./configure --enable-gcc --enable-shared --enable-threads \
- --prefix=${PRODUCT_DIR}
+ --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}/MAKEINSTALLEXEC.LOG make install-exec
-(cd ${PRODUCT_DIR}/lib; ln -s libtclx8.3.so libtclx.so)
-(cd ${PRODUCT_DIR}/lib; ln -s libtclx8.3.a libtclx.a)
-(cd ${PRODUCT_DIR}/lib; ln -s libtkx8.3.so libtkx.so)
-(cd ${PRODUCT_DIR}/lib; ln -s libtkx8.3.a libtkx.a)
+(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)
-du -sk ${INSTALL_WORK}/tcl8.4.5 > ${PRODUCT_DIR}/size.log
-du -sk ${INSTALL_WORK}/tk8.4.5 >> ${PRODUCT_DIR}/size.log
-du -sk ${INSTALL_WORK}/tclx8.3.5 >> ${PRODUCT_DIR}/size.log
+#du -sk ${INSTALL_WORK}/tcl8.4.5 > ${PRODUCT_DIR}/size.log
+#du -sk ${INSTALL_WORK}/tk8.4.5 >> ${PRODUCT_DIR}/size.log
+#du -sk ${INSTALL_WORK}/tclx8.3.5 >> ${PRODUCT_DIR}/size.log
+cd ${PRODUCT_DIR}
rm -fr ${INSTALL_WORK}/tcl8.4.5 ${INSTALL_WORK}/tk8.4.5 ${INSTALL_WORK}/tclx8.3.5
print_env
}