X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=salome_adm%2Funix%2Fconfig_files%2Fcheck_hdf5.m4;h=946b7a099f059836397633ee6170a92bd44ff2d2;hb=4d61f5b8863253a259cde301c39b60909a6b18fa;hp=b3658afc1e622c4c897f27816dcb8404b6754f27;hpb=e2926da4bf6c85b85058a717ecd523a03ccea90d;p=modules%2Fkernel.git diff --git a/salome_adm/unix/config_files/check_hdf5.m4 b/salome_adm/unix/config_files/check_hdf5.m4 index b3658afc1..946b7a099 100644 --- a/salome_adm/unix/config_files/check_hdf5.m4 +++ b/salome_adm/unix/config_files/check_hdf5.m4 @@ -1,23 +1,25 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# +dnl Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE +dnl +dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +dnl +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either +dnl version 2.1 of the License, or (at your option) any later version. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +dnl +dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +dnl + AC_DEFUN([CHECK_HDF5],[ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CPP])dnl @@ -25,7 +27,7 @@ AC_REQUIRE([AC_PROG_CPP])dnl AC_CHECKING(for HDF5) AC_ARG_WITH(hdf5, - [ --with-hdf5=DIR root directory path to hdf5 installation ], + [AC_HELP_STRING([--with-hdf5=DIR],[root directory path to hdf5 installation])], [HDF5HOME="$withval" AC_MSG_RESULT("select $withval as path to hdf5") ]) @@ -33,6 +35,7 @@ AC_ARG_WITH(hdf5, AC_SUBST(HDF5_INCLUDES) AC_SUBST(HDF5_LIBS) AC_SUBST(HDF5_MT_LIBS) +AC_SUBST(HDF5HOME) HDF5_INCLUDES="" HDF5_LIBS="" @@ -42,19 +45,49 @@ hdf5_ok=no LOCAL_INCLUDES="" LOCAL_LIBS="" +LOCAL_RLIBS="" if test -z $HDF5HOME then AC_MSG_WARN(undefined HDF5HOME variable which specify hdf5 installation directory) + AC_MSG_NOTICE(Trying native Hdf5...) + dnl For Parallel HDF5 test + HDF5HOME="/usr" else LOCAL_INCLUDES="-I$HDF5HOME/include" - LOCAL_LIBS="-L$HDF5HOME/lib" + if test "x$HDF5HOME" = "x/usr" + then + AC_MSG_NOTICE(Trying native Hdf5...) + LOCAL_LIBS="" + else + AC_MSG_NOTICE(Trying Hdf5 from $HDF5HOME ...) + LOCAL_LIBS="-L$HDF5HOME/lib" + LOCAL_RLIBS="-Wl,-R$HDF5HOME/lib" + fi +fi + +if test "x$hdf5_ok" = "xno" +then + if test -e "$HDF5HOME/include/hdf5.h" + then + AC_MSG_CHECKING(if hdf5 is parallel and thus needs mpi) + hdf5_parallel=`grep "#define H5_HAVE_PARALLEL" $HDF5HOME/include/H5pubconf.h | awk '{i=3 ; print $i}'` + if test "x$hdf5_parallel" = "x1" + then + LOCAL_INCLUDES="-DOMPI_SKIP_MPICXX $MPI_INCLUDES $LOCAL_INCLUDES" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no,hdf5 seems serial) + fi + else + AC_MSG_WARN(File $HDF5HOME/include/hdf5.h not present) + fi fi dnl hdf5 headers CPPFLAGS_old="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $LOCAL_INCLUDES" +CPPFLAGS="$CPPFLAGS $MPI_INCLUDES $LOCAL_INCLUDES" AC_CHECK_HEADER(hdf5.h,hdf5_ok=yes ,hdf5_ok=no) CPPFLAGS="$CPPFLAGS_old" @@ -65,7 +98,7 @@ then dnl hdf5 library LIBS_old="$LIBS" - LIBS="$LIBS $LOCAL_LIBS" + LIBS="$LIBS $MPI_LIBS $LOCAL_LIBS" AC_CHECK_LIB(hdf5,H5open,hdf5_ok=yes,hdf5_ok=no) LIBS="$LIBS_old" @@ -73,9 +106,14 @@ fi if test "x$hdf5_ok" = "xyes" then - HDF5_INCLUDES="$LOCAL_INCLUDES" - HDF5_LIBS="$LOCAL_LIBS -lhdf5" - HDF5_MT_LIBS="$LOCAL_LIBS -lhdf5" + HDF5_INCLUDES="$MPI_INCLUDES $LOCAL_INCLUDES" + HDF5_LIBS="$MPI_LIBS $LOCAL_LIBS -lhdf5 $LOCAL_RLIBS" + HDF5_MT_LIBS="$MPI_LIBS $LOCAL_LIBS -lhdf5 $LOCAL_RLIBS" +fi + +if test "x$hdf5_ok" = "xyes" +then + HDF5_INCLUDES="$HDF5_INCLUDES -DH5_USE_16_API" fi AC_MSG_RESULT(for hdf5: $hdf5_ok)