From fd7cb4d6500fbc1efd0f04bc1d7b592968465e53 Mon Sep 17 00:00:00 2001 From: bangerth Date: Thu, 24 Jun 2010 21:36:22 +0000 Subject: [PATCH] Work around the ML HAVE_INTTYPES_H problem also at compile time. git-svn-id: https://svn.dealii.org/trunk@21337 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/config.h.in | 66 ++++++++------------------- deal.II/configure.in | 18 ++++++++ 2 files changed, 36 insertions(+), 48 deletions(-) diff --git a/deal.II/base/include/base/config.h.in b/deal.II/base/include/base/config.h.in index 52a470e0b3..6465f09649 100644 --- a/deal.II/base/include/base/config.h.in +++ b/deal.II/base/include/base/config.h.in @@ -495,54 +495,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TEUCHOS_REFCOUNTPTR_HPP -/* Define to 1 if you have the - header file. */ -#undef HAVE_THYRA_AZTECOOLINEAROPWITHSOLVEFACTORY_HPP - -/* Define to 1 if you have the header file. - */ -#undef HAVE_THYRA_DEFAULTBLOCKEDLINEAROP_HPP - -/* Define to 1 if you have the header file. - */ -#undef HAVE_THYRA_DEFAULTINVERSELINEAROP_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_EPETRALINEAROP_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_EPETRATHYRAWRAPPERS_HPP - -/* Define to 1 if you have the header file. - */ -#undef HAVE_THYRA_INVERSELINEAROPERATOR_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_LINEAROPERATORDECL_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_LINEAROPERATORIMPL_HPP - -/* Define to 1 if you have the - header file. */ -#undef HAVE_THYRA_LINEAROPWITHSOLVEFACTORYHELPERS_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_MULTIVECTORBASE_HPP - -/* Define to 1 if you have the header file. - */ -#undef HAVE_THYRA_MULTIVECTORDEFAULTBASE_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_VECTORDECL_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_VECTORIMPL_HPP - -/* Define to 1 if you have the header file. */ -#undef HAVE_THYRA_VECTORSPACEIMPL_HPP - /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H @@ -598,6 +550,24 @@ # define DEAL_VOLATILE #endif +/** + * There is an annoying problem in the Trilinos header ml_config.h: It + * #define's HAVE_INTTYPES_H but doesn't give the symbol a value. This + * conflicts with the result of running deal.II's ./configure which + * #define's it and gives it the value "1". The result is a compiler + * warning. So if we use Trilinos and if the symbol is already + * #define'd, then #undef it again here. deal.II doesn't use the + * #define anyway and this way if we include any of the Trilinos + * headers they can feel free to set it again to whatever they wish. + * + * The form of the #undef with the comment in the middle is necessary + * to avoid that the pattern substitution of ./configure turns the + * #undef into a #define again. + */ +#if defined(DEAL_II_USE_TRILINOS) && defined(HAVE_INTTYPES_H) +# undef /**/ HAVE_INTTYPES_H +#endif + /** * These macros are defined to make testing for PETSc versions within * the deal.II main code as simple as possible. In brief they are used diff --git a/deal.II/configure.in b/deal.II/configure.in index 8ff1210d02..f3af834047 100644 --- a/deal.II/configure.in +++ b/deal.II/configure.in @@ -700,6 +700,24 @@ AH_BOTTOM( # define DEAL_VOLATILE #endif +/** + * There is an annoying problem in the Trilinos header ml_config.h: It + * #define's HAVE_INTTYPES_H but doesn't give the symbol a value. This + * conflicts with the result of running deal.II's ./configure which + * #define's it and gives it the value "1". The result is a compiler + * warning. So if we use Trilinos and if the symbol is already + * #define'd, then #undef it again here. deal.II doesn't use the + * #define anyway and this way if we include any of the Trilinos + * headers they can feel free to set it again to whatever they wish. + * + * The form of the #undef with the comment in the middle is necessary + * to avoid that the pattern substitution of ./configure turns the + * #undef into a #define again. + */ +#if defined(DEAL_II_USE_TRILINOS) && defined(HAVE_INTTYPES_H) +# undef /**/ HAVE_INTTYPES_H +#endif + /** * These macros are defined to make testing for PETSc versions within * the deal.II main code as simple as possible. In brief they are used -- 2.39.5