Salome HOME
Small correction
[tools/install.git] / config_files / VTK-4.2.6.sh
index 56ae5f7b7ebad78f7adcf32070952917f2f75c3e..10e3140d6d1dcc8700ba0d08480573d746ed81b8 100755 (executable)
@@ -66,7 +66,15 @@ source ${INSTALL_WORK}/$SHRC
 makedir ${PRODUCT_DIR}
 
 check_jb tar xfz ${SOURCE_DIR}/cmake-1.6.6.tar.gz -C ${INSTALL_WORK}
-cd ${INSTALL_WORK}/cmake-1.6.6
+
+if test `uname -m` = "x86_64" ; then
+cp cmake-1.6.6.patch ${INSTALL_WORK}/cmake-1.6.6 
+cd ${INSTALL_WORK}/cmake-1.6.6 
+patch -p 1 -i cmake-1.6.6.patch
+else
+cd ${INSTALL_WORK}/cmake-1.6.6 
+fi
+
 check_job ${PRODUCT_DIR}/CONFIGUREcmake.LOG ./configure
 cat >> ${PRODUCT_DIR}/MAKEcmake.LOG <<EOF
 used gcc=$GCC
@@ -74,7 +82,14 @@ EOF
 check_job ${PRODUCT_DIR}/MAKEcmake.LOG make
 
 check_jb tar xfz ${SOURCE_DIR}/VTK-4.2.6.tar.gz -C ${INSTALL_WORK}
+
+if test `uname -m` = "x86_64" ; then
+cp ${SOURCE_DIR}/../../config_files/vtk-4.2.6.patch  ${PRODUCT_WORK}
+cd ${PRODUCT_WORK} 
+patch -p 1 -i vtk-4.2.6.patch
+else
 cd ${PRODUCT_WORK}
+fi
 
 # apply a small patch for VTK (needed for gcc-3.4)
 sed -e "s%seekg(self->GetFile()->tellg()%seekg(static_cast<long>(self->GetFile()->tellg())%g" IO/vtkBMPReader.cxx > IO/vtkBMPReader.cxx.orig
@@ -85,9 +100,14 @@ mv -f IO/vtkImageReader.cxx.orig IO/vtkImageReader.cxx
 # get Python and tcl/tk version
 python_version="`python -c 'import sys; print sys.version[:3]'`"
 tcl_version=""
+tcl_includes=""
+tcl_libs=""
 tcldir="`where_tcl`"
 if [ $? -eq 0 ] && [ -e ${tcldir}/tclConfig.sh ] ; then
     tcl_version=`grep -e "TCL_VERSION=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_VERSION=[\'|\"]\(.*\)[\'|\"]%\1%g"`
+    tcl_includes=`grep -e "TCL_INCLUDE_SPEC=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_INCLUDE_SPEC=[\'|\"]-I\(.*\)[\'|\"]%\1%g"`
+    if [ -z "$tcl_includes" ] ; then tcl_includes=/usr/include ; fi
+    tcl_libs=`grep -e "TCL_PACKAGE_PATH=.*" ${tcldir}/tclConfig.sh | sed -e "s%TCL_PACKAGE_PATH=[\'|\"]\(.*\)[\'|\"]%\1%g"`
 fi
     
 VTK_CMAKE_OPTIONS=""
@@ -101,6 +121,11 @@ VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_HYBRID:BOOL=ON"
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_PARALLEL:BOOL=ON"
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_PATENTED:BOOL=OFF" 
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_USE_RENDERING:BOOL=ON"
+  if test `uname -m` = "x86_64" ; then
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_CXX_FLAGS:STRING=-m64"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DCMAKE_C_FLAGS:STRING=-m64"
+  fi
+
 ### Wrap Python settings
 if [ "${python_version}" != "" ]; then
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_WRAP_PYTHON:BOOL=ON"
@@ -109,22 +134,28 @@ VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DPYTHON_INCLUDE_PATH:STRING=${PYTHONHOME}
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DPYTHON_LIBRARY:STRING=${PYTHONHOME}/lib/python${python_version}/config/libpython${python_version}.a"
 fi
 ### Wrap Tcl settings
-if [ "${tcl_version}" != "" ]; then
+if [ "${tcl_version}" != "" ] && [ "${tcl_includes}" != "" ] && [ "${tcl_libs}" != "" ] ; then
+# suppose that tcl and tk are installed in the same dir
 VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DVTK_WRAP_TCL:BOOL=ON"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_INCLUDE_PATH:STRING=${TCLHOME}/include"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_LIBRARY:STRING=${TCLHOME}/lib/libtcl${tcl_version}.so"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_STUB_LIBRARY:STRING=${TCLHOME}/lib/libtclstub${tcl_version}.a"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_TCLSH:STRING=${TCLHOME}/bin/tclsh"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_INCLUDE_PATH:STRING=${TCLHOME}/include"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_LIBRARY:STRING=${TCLHOME}/lib/libtk${tcl_version}.so"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_STUB_LIBRARY:STRING=${TCLHOME}/lib/libtkstub${tcl_version}.a"
-VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_WISH:STRING=${TCLHOME}/bin/wish"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_INCLUDE_PATH:STRING=${tcl_includes}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_LIBRARY:STRING=${tcl_libs}/libtcl${tcl_version}.so"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_STUB_LIBRARY:STRING=${tcl_libs}/libtclstub${tcl_version}.a"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTCL_TCLSH:STRING=${TCLHOME}/bin/tclsh${tcl_version}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_INCLUDE_PATH:STRING=${tcl_includes}"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_LIBRARY:STRING=${tcl_libs}/libtk${tcl_version}.so"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_STUB_LIBRARY:STRING=${tcl_libs}/libtkstub${tcl_version}.a"
+VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DTK_WISH:STRING=${TCLHOME}/bin/wish${tcl_version}"
 fi
 ### if Mesa is pre-installed
 if [ -n "$MESA_HOME" ]; then
   VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_INCLUDE_DIR:STRING=${MESA_HOME}/include"
-  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_gl_LIBRARY:STRING=${MESA_HOME}/lib/libGL.so"
-  VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_glu_LIBRARY:STRING=${MESA_HOME}/lib/libGLU.so"
+  if test `uname -m` = "x86_64" ; then
+      VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_gl_LIBRARY:STRING=${MESA_HOME}/lib64/libGL.so"
+      VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_glu_LIBRARY:STRING=${MESA_HOME}/lib64/libGLU.so"
+  else
+      VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_gl_LIBRARY:STRING=${MESA_HOME}/lib/libGL.so"
+      VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_glu_LIBRARY:STRING=${MESA_HOME}/lib/libGLU.so"
+  fi
   VTK_CMAKE_OPTIONS=$VTK_CMAKE_OPTIONS" -DOPENGL_xmesa_INCLUDE_DIR:STRING=${MESA_HOME}/include"
 fi
 
@@ -142,15 +173,24 @@ check_job ${PRODUCT_DIR}/MAKE.LOG make
 check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
 
 cd ${PRODUCT_WORK}/Wrapping/Python
+
 check_job ${PRODUCT_DIR}/SETUPPYTHON.LOG python setup.py install --prefix=${PRODUCT_DIR}
 
+# set correct symbolic links - bug of python wrappings installation
+  if test `uname -m` = "x86_64" ; then
+      cd ${PRODUCT_DIR}/lib64/python${python_version}/site-packages/vtk_python
+  else
+      cd ${PRODUCT_DIR}/lib/python${python_version}/site-packages/vtk_python
+  fi
+  ln -sf ../../../vtk/*Python*.so .
+
+  if test `uname -m` = "x86_64" ; then
+      cd ${PRODUCT_DIR}; ln -s lib64 lib
+  fi
+
 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
 #du -sk ${INSTALL_WORK}/cmake-1.6.6 >> ${PRODUCT_DIR}/size.log
-rm -fr ${PRODUCT_WORK} ${INSTALL_WORK}/cmake-1.6.6
-
-# set correct symbolic links - bug of python wrappings installation
-cd ${PRODUCT_DIR}/lib/python${python_version}/site-packages/vtk_python
-ln -sf ../../../vtk/*Python*.so .
+cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK} ${INSTALL_WORK}/cmake-1.6.6
 
 print_env
 }