From: Ralf Hartmann Date: Thu, 22 Sep 2005 12:47:49 +0000 (+0000) Subject: configure NetCDF. X-Git-Tag: v8.0.0~13108 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9224c9117797110c8710ee745c3f6c774ab92dd;p=dealii.git configure NetCDF. git-svn-id: https://svn.dealii.org/trunk@11495 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/aclocal.m4 b/deal.II/aclocal.m4 index d22866f5e1..53df04d915 100644 --- a/deal.II/aclocal.m4 +++ b/deal.II/aclocal.m4 @@ -4484,6 +4484,44 @@ AC_DEFUN(DEAL_II_CONFIGURE_TECPLOT, dnl +dnl ------------------------------------------------------------- +dnl Check for the NetCDF API. If it is found we will be able read +dnl from and write to NetCDF binary or ascii files. +dnl +dnl We assume that $NETCDF_DIR points to the NetCDF installation +dnl directory, which includes the lib and include directory. I.e. +dnl cd $NETCDF_DIR; ls +dnl would result in something like +dnl bin include lib man src +dnl netcdf-3.6.0-p1> +dnl +dnl Usage: DEAL_II_CONFIGURE_NETCDF +dnl +dnl ------------------------------------------------------------- +AC_DEFUN(DEAL_II_CONFIGURE_NETCDF, dnl +[ + AC_CHECK_FILE($NETCDF_DIR/lib/libnetcdf.a, + NETCDF_LIB=$NETCDF_DIR/lib/libnetcdf.a) + AC_CHECK_FILE($NETCDF_DIR/lib/libnetcdf_c++.a, + NETCDF_LIB="$NETCDF_DIR/lib/libnetcdf_c++.a $NETCDF_LIB", + NETCDF_LIB="") + AC_CHECK_FILE($NETCDF_DIR/include/netcdfcpp.h, + NETCDF_INCLUDE_DIR=-I$NETCDF_DIR/include, + NETCDF_LIB="") + + if (test "x$NETCDF_LIB" != "x") ; then + AC_DEFINE(DEAL_II_HAVE_NETCDF, 1, + [Flag indicating whether the library shall be compiled to use the NetCDF interface]) + + AC_MSG_CHECKING(for NetCDF version) + DEAL_II_NETCDF_VERSION=`cat $NETCDF_DIR/src/VERSION` + AC_MSG_RESULT($DEAL_II_NETCDF_VERSION) + + LIBS="$NETCDF_LIB $LIBS" + fi +]) + + dnl ------------------------------------------------------------ dnl Check whether PETSc is installed, and if so store the diff --git a/deal.II/base/include/base/config.h.in b/deal.II/base/include/base/config.h.in index 2edc82e560..47f120da93 100644 --- a/deal.II/base/include/base/config.h.in +++ b/deal.II/base/include/base/config.h.in @@ -78,6 +78,10 @@ interface */ #undef DEAL_II_HAVE_TECPLOT +/* Flag indicating whether the library shall be compiled to use the NetCDF + interface */ +#undef DEAL_II_HAVE_NETCDF + /* Defined if the compiler refuses to compile the definition of a function that was previously declared abstract. */ #undef DEAL_II_IMPLEMENTED_PURE_FUNCTION_BUG diff --git a/deal.II/common/Make.global_options.in b/deal.II/common/Make.global_options.in index 049a5eec49..b2daa43f38 100644 --- a/deal.II/common/Make.global_options.in +++ b/deal.II/common/Make.global_options.in @@ -153,7 +153,8 @@ include-path-metis = $(DEAL_II_METIS_DIR)/Lib INCLUDE = -I$D/base/include -I$D/lac/include -I$D/deal.II/include \ -I$D/contrib/boost/include \ - @TECPLOT_INCLUDE_DIR@ @UMFPACK_INCLUDE_DIR@ @HSL_INCLUDE_DIR@ \ + @TECPLOT_INCLUDE_DIR@ @NETCDF_INCLUDE_DIR@ \ + @UMFPACK_INCLUDE_DIR@ @HSL_INCLUDE_DIR@ \ -I$D/contrib # add PETSc and METIS include path if necessary. this rule diff --git a/deal.II/configure b/deal.II/configure index 98660414ab..aba3f493fa 100755 --- a/deal.II/configure +++ b/deal.II/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.208 . +# From configure.in Revision: 1.209 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for deal.II 5.3.pre. # @@ -275,7 +275,7 @@ PACKAGE_STRING='deal.II 5.3.pre' PACKAGE_BUGREPORT='dealii@dealii.org' ac_subdirs_all="$ac_subdirs_all contrib tests" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS DEAL_II_MAJOR DEAL_II_MINOR DEAL_II_PATH DEAL2_DIR build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GXX_VERSION GXX_VERSION_DETAILED CXXFLAGSG CXXFLAGSO CXXFLAGSPIC SHLIBLD CC_VERSION CFLAGSPIC enablemultithreading withmultithreading F77 F77_VERSION F77FLAGSO F77FLAGSG F77FLAGSPIC F77LIBS enableshared static_lib_suffix shared_lib_suffix AR RANLIB ac_ct_RANLIB enableparser DEAL_II_DISABLE_PARSER USE_CONTRIB_PETSC DEAL_II_PETSC_DIR DEAL_II_PETSC_ARCH DEAL_II_PETSC_VERSION_MAJOR DEAL_II_PETSC_VERSION_MINOR DEAL_II_PETSC_VERSION_SUBMINOR DEAL_II_DEFINE_DEAL_II_USE_PETSC NEEDS_F77LIBS HSL_INCLUDE_DIR USE_CONTRIB_HSL TECPLOT_INCLUDE_DIR USE_CONTRIB_METIS DEAL_II_METIS_DIR UMFPACK_LIB UMFPACK_INCLUDE_DIR USE_CONTRIB_UMFPACK DOXYGEN DOT DEAL_II_HAVE_DOT PERL subdirs LDFLAGSPIC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS DEAL_II_MAJOR DEAL_II_MINOR DEAL_II_PATH DEAL2_DIR build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GXX_VERSION GXX_VERSION_DETAILED CXXFLAGSG CXXFLAGSO CXXFLAGSPIC SHLIBLD CC_VERSION CFLAGSPIC enablemultithreading withmultithreading F77 F77_VERSION F77FLAGSO F77FLAGSG F77FLAGSPIC F77LIBS enableshared static_lib_suffix shared_lib_suffix AR RANLIB ac_ct_RANLIB enableparser DEAL_II_DISABLE_PARSER USE_CONTRIB_PETSC DEAL_II_PETSC_DIR DEAL_II_PETSC_ARCH DEAL_II_PETSC_VERSION_MAJOR DEAL_II_PETSC_VERSION_MINOR DEAL_II_PETSC_VERSION_SUBMINOR DEAL_II_DEFINE_DEAL_II_USE_PETSC NEEDS_F77LIBS HSL_INCLUDE_DIR USE_CONTRIB_HSL TECPLOT_INCLUDE_DIR NETCDF_INCLUDE_DIR USE_CONTRIB_METIS DEAL_II_METIS_DIR UMFPACK_LIB UMFPACK_INCLUDE_DIR USE_CONTRIB_UMFPACK DOXYGEN DOT DEAL_II_HAVE_DOT PERL subdirs LDFLAGSPIC LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -9676,6 +9676,96 @@ _ACEOF + as_ac_File=`echo "ac_cv_file_$NETCDF_DIR/lib/libnetcdf.a" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $NETCDF_DIR/lib/libnetcdf.a" >&5 +echo $ECHO_N "checking for $NETCDF_DIR/lib/libnetcdf.a... $ECHO_C" >&6 +if eval "test \"\${$as_ac_File+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + test "$cross_compiling" = yes && + { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NETCDF_DIR/lib/libnetcdf.a"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 +if test `eval echo '${'$as_ac_File'}'` = yes; then + NETCDF_LIB=$NETCDF_DIR/lib/libnetcdf.a +fi + + as_ac_File=`echo "ac_cv_file_$NETCDF_DIR/lib/libnetcdf_c++.a" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $NETCDF_DIR/lib/libnetcdf_c++.a" >&5 +echo $ECHO_N "checking for $NETCDF_DIR/lib/libnetcdf_c++.a... $ECHO_C" >&6 +if eval "test \"\${$as_ac_File+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + test "$cross_compiling" = yes && + { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NETCDF_DIR/lib/libnetcdf_c++.a"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 +if test `eval echo '${'$as_ac_File'}'` = yes; then + NETCDF_LIB="$NETCDF_DIR/lib/libnetcdf_c++.a $NETCDF_LIB" +else + NETCDF_LIB="" +fi + + as_ac_File=`echo "ac_cv_file_$NETCDF_DIR/include/netcdfcpp.h" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $NETCDF_DIR/include/netcdfcpp.h" >&5 +echo $ECHO_N "checking for $NETCDF_DIR/include/netcdfcpp.h... $ECHO_C" >&6 +if eval "test \"\${$as_ac_File+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + test "$cross_compiling" = yes && + { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "$NETCDF_DIR/include/netcdfcpp.h"; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 +if test `eval echo '${'$as_ac_File'}'` = yes; then + NETCDF_INCLUDE_DIR=-I$NETCDF_DIR/include +else + NETCDF_LIB="" +fi + + + if (test "x$NETCDF_LIB" != "x") ; then + +cat >>confdefs.h <<\_ACEOF +#define DEAL_II_HAVE_NETCDF 1 +_ACEOF + + + echo "$as_me:$LINENO: checking for NetCDF version" >&5 +echo $ECHO_N "checking for NetCDF version... $ECHO_C" >&6 + DEAL_II_NETCDF_VERSION=`cat $NETCDF_DIR/src/VERSION` + echo "$as_me:$LINENO: result: $DEAL_II_NETCDF_VERSION" >&5 +echo "${ECHO_T}$DEAL_II_NETCDF_VERSION" >&6 + + LIBS="$NETCDF_LIB $LIBS" + fi + + + + echo "$as_me:$LINENO: checking for Metis library directory" >&5 echo $ECHO_N "checking for Metis library directory... $ECHO_C" >&6 @@ -11101,6 +11191,7 @@ s,@NEEDS_F77LIBS@,$NEEDS_F77LIBS,;t t s,@HSL_INCLUDE_DIR@,$HSL_INCLUDE_DIR,;t t s,@USE_CONTRIB_HSL@,$USE_CONTRIB_HSL,;t t s,@TECPLOT_INCLUDE_DIR@,$TECPLOT_INCLUDE_DIR,;t t +s,@NETCDF_INCLUDE_DIR@,$NETCDF_INCLUDE_DIR,;t t s,@USE_CONTRIB_METIS@,$USE_CONTRIB_METIS,;t t s,@DEAL_II_METIS_DIR@,$DEAL_II_METIS_DIR,;t t s,@UMFPACK_LIB@,$UMFPACK_LIB,;t t diff --git a/deal.II/configure.in b/deal.II/configure.in index f916d23b4b..0ac719d47d 100644 --- a/deal.II/configure.in +++ b/deal.II/configure.in @@ -438,6 +438,9 @@ dnl ------------------------------------------------------------- DEAL_II_CONFIGURE_TECPLOT AC_SUBST(TECPLOT_INCLUDE_DIR) +DEAL_II_CONFIGURE_NETCDF +AC_SUBST(NETCDF_INCLUDE_DIR) + DEAL_II_CONFIGURE_METIS AC_SUBST(USE_CONTRIB_METIS) AC_SUBST(DEAL_II_METIS_DIR)