]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Add HDF5-1.4.6 installation script (for Mandriva 2006.0)
authorvsr <vsr@opencascade.com>
Thu, 18 May 2006 13:37:27 +0000 (13:37 +0000)
committervsr <vsr@opencascade.com>
Thu, 18 May 2006 13:37:27 +0000 (13:37 +0000)
config_files/hdf5-1.6.4.sh [new file with mode: 0755]

diff --git a/config_files/hdf5-1.6.4.sh b/config_files/hdf5-1.6.4.sh
new file mode 100755 (executable)
index 0000000..4df4713
--- /dev/null
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+check_version()
+{
+if [ -z "$HDF5HOME" ]; then
+    return 1 
+fi
+check_lib_version libhdf5.so.0.0.0 ${HDF5HOME}/lib
+if [ "$?" -ne "0" ]; then
+    return 1
+fi
+check_lib_version libhdf5.settings ${HDF5HOME}/lib
+if [ "$?" -eq "0" ]; then
+    ver=`grep "HDF5 Version:" ${HDF5HOME}/lib/libhdf5.settings | awk '{print $3}'` 
+    if [ "$ver" = "1.6.4" ]; then 
+       return 0
+    fi
+fi
+return 1
+}
+
+print_env()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export HDF5HOME=\${INSTALL_ROOT}/${PRODUCT}
+export PATH=\${HDF5HOME}/bin:\$PATH
+export LD_LIBRARY_PATH=\${HDF5HOME}/lib:\${LD_LIBRARY_PATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+}
+
+# looks for the native product and collects it's environment (used by make_env())
+try_native(){
+check_version
+if [ $? -eq 0 ] ; then
+    tmp="\${HDF5HOME}/bin ${HDF5HOME}/bin \${PATH} ${PATH}";  
+    path=`sort_path ${tmp}`
+    tmp="\${HDF5HOME}/lib ${HDF5HOME}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
+    ld_library_path=`sort_path ${tmp}`
+    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export HDF5HOME=${HDF5HOME}
+export PATH=${path}
+export LD_LIBRARY_PATH=${ld_library_path}
+##
+EOF
+    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+    return 0
+fi
+return 1;
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+return $?
+}
+
+install_source()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/hdf5-1.6.4.tar.gz -C ${INSTALL_WORK}
+cd ${PRODUCT_WORK}
+makedir ${PRODUCT_DIR}
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG \
+    ./configure --prefix=${PRODUCT_DIR} -disable-debug --enable-production --enable-threadsafe --enable-hdf5v1_2 \
+       --enable-stream-vfd --disable-hsizet --with-pthread=/usr/include,/usr/lib 
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+check_job ${PRODUCT_DIR}/MAKE.LOG make 
+check_job ${PRODUCT_DIR}/INSTALL.LOG make install
+
+#du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
+cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
+print_env
+}
+
+install_binary()
+{
+make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/hdf5-1.6.4.tar.gz -C ${INSTALL_ROOT}
+
+### modify libhdf5.la file to correct direct path to hdf5 library
+### no need to do this for sources installation because 'make install' does it!
+cd ${PRODUCT_DIR}/lib
+sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g" libhdf5.la > libhdf5.la.new
+mv -f libhdf5.la.new libhdf5.la
+
+print_env
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INSTALL_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="hdf" ; fi
+export PRODUCT="hdf5-1.6.4"
+export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+source ./common.sh
+$PROCEDURE