Salome HOME
PAL13183: correct environment variables in custom SALOME launching script (runAppli)
[tools/install.git] / config_files / hdf5-1.6.4.sh
index 4df471382bf86b21ff13c7dcecdceb3b881f86f6..ef699182c2000261f2b0013ef6f0c46db0b67076 100755 (executable)
@@ -12,7 +12,7 @@ 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 
+    if [ "$ver" == "1.6.4" ]; then 
        return 0
     fi
 fi
@@ -34,21 +34,26 @@ 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 
+hdfdir="`find_in_path libhdf5.so ${LD_LIBRARY_PATH}:/usr/lib`"
+if [ -z "${hdfdir}" ] ; then return 1 ; fi
+if [ -f ${hdfdir}/libhdf5.settings ]; then
+    ver=`grep "HDF5 Version:" ${hdfdir}/libhdf5.settings | awk '{print $3}'` 
+    if [ "$ver" == "1.6.4" ]; then 
+       hdfdir=`cd ${hdfdir}/..; pwd`
+       tmp="\${HDF5HOME}/bin ${hdfdir}/bin \${PATH} ${PATH}";  
+       path=`sort_path ${tmp}`
+       tmp="\${HDF5HOME}/lib ${hdfdir}/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 HDF5HOME=${hdfdir}
 export PATH=${path}
 export LD_LIBRARY_PATH=${ld_library_path}
 ##
 EOF
-    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
-    return 0
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+       return 0
+    fi
 fi
 return 1;
 }
@@ -93,6 +98,10 @@ check_jb tar xfz ${SOURCE_DIR}/hdf5-1.6.4.tar.gz -C ${INSTALL_ROOT}
 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
+if [ -e libhdf5_hl.la ] ; then
+    sed -e "s%^libdir='\(.*\)'%libdir='${PRODUCT_DIR}/lib'%g" libhdf5_hl.la > libhdf5_hl.la.new
+    mv -f libhdf5_hl.la.new libhdf5_hl.la
+fi
 
 print_env
 }