16 #ifndef dealii_config_h
17 #define dealii_config_h
24 #define DEAL_II_PACKAGE_NAME "deal.II"
26 #define DEAL_II_PACKAGE_VERSION "GIT a2efd28e10 2023-02-01 14:45:02+00:00"
28 #define DEAL_II_VERSION_MAJOR GIT a2efd28e10 2023-02-01 14:45:02+00:00
29 #define DEAL_II_VERSION_MINOR GIT a2efd28e10 2023-02-01 14:45:02+00:00
30 #define DEAL_II_VERSION_SUBMINOR GIT a2efd28e10 2023-02-01 14:45:02+00:00
42 #define DEAL_II_FEATURE_BOOST_BUNDLED_CONFIGURED
44 #define DEAL_II_WITH_COMPLEX_VALUES
50 #define DEAL_II_WITH_KOKKOS
51 #define DEAL_II_FEATURE_KOKKOS_BUNDLED_CONFIGURED
57 #define DEAL_II_WITH_MUPARSER
58 #define DEAL_II_FEATURE_MUPARSER_BUNDLED_CONFIGURED
68 #define DEAL_II_WITH_TBB
69 #define DEAL_II_FEATURE_TBB_BUNDLED_CONFIGURED
75 #ifdef DEAL_II_WITH_TBB
80 #define DEAL_II_WITH_THREADS
82 #define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
102 #define DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
104 #define DEAL_II_HAVE_BUILTIN_EXPECT
105 #define DEAL_II_HAVE_GLIBC_STACKTRACE
106 #define DEAL_II_HAVE_LIBSTDCXX_DEMANGLER
108 #define DEAL_II_ALWAYS_INLINE __attribute__((always_inline))
109 #define DEAL_II_RESTRICT __restrict
110 #define DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
125 #define DEAL_II_VECTORIZATION_WIDTH_IN_BITS 128
130 #if DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 512
131 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 3
132 #elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 256
133 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 2
134 #elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 128
135 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 1
137 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 0
140 #define DEAL_II_OPENMP_SIMD_PRAGMA _Pragma("omp simd")
149 #define DEAL_II_HAVE_CXX14
153 #define DEAL_II_HAVE_FP_EXCEPTIONS
162 #define DEAL_II_DEPRECATED [[deprecated]]
170 #ifndef DEAL_II_DEPRECATED_EARLY
172 #define DEAL_II_DEPRECATED_EARLY
174 #define DEAL_II_FALLTHROUGH [[fallthrough]]
175 #define DEAL_II_CONSTEXPR constexpr
178 #define DEAL_II_WITH_CXX11
179 #define DEAL_II_WITH_CXX14
180 #ifdef DEAL_II_HAVE_CXX17
181 # define DEAL_II_WITH_CXX17
191 #define DEAL_II_HAVE_SYS_RESOURCE_H
192 #define DEAL_II_HAVE_UNISTD_H
193 #define DEAL_II_HAVE_GETHOSTNAME
194 #define DEAL_II_HAVE_GETPID
251 #if defined(DEAL_II_BOOST_HAS_BROKEN_HEADER_DEPRECATIONS) || \
252 defined(DEAL_II_CGAL_HAS_DEPRECATED_BOOST_INCLUDES)
253 # ifndef BOOST_ALLOW_DEPRECATED_HEADERS
254 # define BOOST_ALLOW_DEPRECATED_HEADERS
275 #define DEAL_II_VERSION_GTE(major,minor,subminor) \
276 ((DEAL_II_VERSION_MAJOR * 10000 + \
277 DEAL_II_VERSION_MINOR * 100 + \
278 DEAL_II_VERSION_SUBMINOR) \
280 (major)*10000 + (minor)*100 + (subminor))
285 #define DEAL_II_BOOST_VERSION_MAJOR 1
286 #define DEAL_II_BOOST_VERSION_MINOR 70
287 #define DEAL_II_BOOST_VERSION_SUBMINOR 0
289 #define DEAL_II_BOOST_VERSION_GTE(major,minor,subminor) \
290 ((DEAL_II_BOOST_VERSION_MAJOR * 100000 + \
291 DEAL_II_BOOST_VERSION_MINOR * 100 + \
292 DEAL_II_BOOST_VERSION_SUBMINOR) \
294 (major)*100000 + (minor)*100 + (subminor))
299 #ifdef DEAL_II_WITH_GMSH
300 # define DEAL_II_GMSH_EXECUTABLE_PATH ""
307 #ifdef DEAL_II_WITH_OPENCASCADE
308 # define DEAL_II_OPENCASCADE_VERSION_MAJOR
309 # define DEAL_II_OPENCASCADE_VERSION_MINOR
310 # define DEAL_II_OPENCASCADE_VERSION_SUBMINOR
312 # define DEAL_II_OPENCASCADE_VERSION_GTE(major,minor,subminor) \
313 ((DEAL_II_OPENCASCADE_VERSION_MAJOR * 10000 + \
314 DEAL_II_OPENCASCADE_VERSION_MINOR * 100 + \
315 DEAL_II_OPENCASCADE_VERSION_SUBMINOR) \
317 (major)*10000 + (minor)*100 + (subminor))
324 #ifdef DEAL_II_WITH_P4EST
325 # define DEAL_II_P4EST_VERSION_MAJOR
326 # define DEAL_II_P4EST_VERSION_MINOR
327 # define DEAL_II_P4EST_VERSION_SUBMINOR
328 # define DEAL_II_P4EST_VERSION_PATCH
330 # define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
331 ((DEAL_II_P4EST_VERSION_MAJOR * 1000000 + \
332 DEAL_II_P4EST_VERSION_MINOR * 10000 + \
333 DEAL_II_P4EST_VERSION_SUBMINOR * 100 + \
334 DEAL_II_P4EST_VERSION_PATCH) \
336 (major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
343 #ifdef DEAL_II_WITH_SUNDIALS
344 # define DEAL_II_SUNDIALS_VERSION_MAJOR
345 # define DEAL_II_SUNDIALS_VERSION_MINOR
346 # define DEAL_II_SUNDIALS_VERSION_PATCH
348 #define DEAL_II_SUNDIALS_VERSION_GTE(major,minor,patch) \
349 ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
350 DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
351 DEAL_II_SUNDIALS_VERSION_PATCH) \
353 (major)*10000 + (minor)*100 + (patch))
355 #define DEAL_II_SUNDIALS_VERSION_LT(major,minor,patch) \
356 ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
357 DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
358 DEAL_II_SUNDIALS_VERSION_PATCH) \
360 (major)*10000 + (minor)*100 + (patch))
377 #define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \
378 ((PETSC_VERSION_MAJOR * 10000 + \
379 PETSC_VERSION_MINOR * 100 + \
380 PETSC_VERSION_SUBMINOR) \
382 (major)*10000 + (minor)*100 + (subminor))
384 #define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \
385 ((PETSC_VERSION_MAJOR * 10000 + \
386 PETSC_VERSION_MINOR * 100 + \
387 PETSC_VERSION_SUBMINOR) \
389 (major)*10000 + (minor)*100 + (subminor))
395 #define DEAL_II_SLEPC_VERSION_GTE(major,minor,subminor) \
396 ((SLEPC_VERSION_MAJOR * 10000 + \
397 SLEPC_VERSION_MINOR * 100 + \
398 SLEPC_VERSION_SUBMINOR) \
400 (major)*10000 + (minor)*100 + (subminor))
406 #ifdef DEAL_II_WITH_TRILINOS
407 # define DEAL_II_TRILINOS_VERSION_MAJOR
408 # define DEAL_II_TRILINOS_VERSION_MINOR
409 # define DEAL_II_TRILINOS_VERSION_SUBMINOR
411 # define DEAL_II_TRILINOS_VERSION_GTE(major,minor,subminor) \
412 ((DEAL_II_TRILINOS_VERSION_MAJOR * 10000 + \
413 DEAL_II_TRILINOS_VERSION_MINOR * 100 + \
414 DEAL_II_TRILINOS_VERSION_SUBMINOR) \
416 (major)*10000 + (minor)*100 + (subminor))
423 #ifdef DEAL_II_WITH_CGAL
424 # define DEAL_II_CGAL_VERSION_MAJOR
425 # define DEAL_II_CGAL_VERSION_MINOR
426 # define DEAL_II_CGAL_VERSION_SUBMINOR
428 # define DEAL_II_CGAL_VERSION_GTE(major, minor, subminor) \
429 ((DEAL_II_CGAL_VERSION_MAJOR * 10000 + DEAL_II_CGAL_VERSION_MINOR * 100 + \
430 DEAL_II_CGAL_VERSION_SUBMINOR) >= \
431 (major)*10000 + (minor)*100 + (subminor))
438 #ifdef DEAL_II_WITH_MPI
439 # define DEAL_II_MPI_VERSION_MAJOR
440 # define DEAL_II_MPI_VERSION_MINOR
442 # define DEAL_II_MPI_VERSION_GTE(major,minor) \
443 ((DEAL_II_MPI_VERSION_MAJOR * 100 + \
444 DEAL_II_MPI_VERSION_MINOR) \
446 (major)*100 + (minor))
448 # define DEAL_II_MPI_VERSION_GTE(major,minor) false
452 #ifdef DEAL_II_MPI_WITH_DEVICE_SUPPORT
461 #define DEAL_II_NAMESPACE_OPEN namespace dealii {
462 #define DEAL_II_NAMESPACE_CLOSE }
472 #ifdef DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
475 # define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS \
476 _Pragma("GCC diagnostic push") \
477 _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") \
478 _Pragma("GCC diagnostic ignored \"-Wpragmas\"") \
479 _Pragma("GCC diagnostic ignored \"-Wunknown-warning-option\"") \
480 _Pragma("GCC diagnostic ignored \"-Wunknown-warning\"") \
481 _Pragma("GCC diagnostic ignored \"-Wextra\"") \
482 _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") \
483 _Pragma("GCC diagnostic ignored \"-Wdeprecated-copy\"") \
484 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
485 _Pragma("GCC diagnostic ignored \"-Wdeprecated-volatile\"") \
486 _Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \
487 _Pragma("GCC diagnostic ignored \"-Wfloat-conversion\"") \
488 _Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \
489 _Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"") \
490 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \
491 _Pragma("GCC diagnostic ignored \"-Winfinite-recursion\"") \
492 _Pragma("GCC diagnostic ignored \"-Wint-in-bool-context\"") \
493 _Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") \
494 _Pragma("GCC diagnostic ignored \"-Wmisleading-indentation\"") \
495 _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
496 _Pragma("GCC diagnostic ignored \"-Wnested-anon-types\"") \
497 _Pragma("GCC diagnostic ignored \"-Wnon-template-friend\"") \
498 _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") \
499 _Pragma("GCC diagnostic ignored \"-Wnonnull\"") \
500 _Pragma("GCC diagnostic ignored \"-Woverflow\"") \
501 _Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
502 _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
503 _Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") \
504 _Pragma("GCC diagnostic ignored \"-Wtautological-constant-out-of-range-compare\"") \
505 _Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"") \
506 _Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
507 _Pragma("GCC diagnostic ignored \"-Wundef\"") \
508 _Pragma("GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \
509 _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \
510 _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
511 _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
512 _Pragma("GCC diagnostic ignored \"-Wunused-private-field\"") \
513 _Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \
514 _Pragma("GCC diagnostic ignored \"-Wuse-after-free\"") \
515 _Pragma("GCC diagnostic warning \"-Wpragmas\"")
517 # define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS \
518 _Pragma("GCC diagnostic pop")
522 # define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
523 # define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
532 #define DEAL_II_FORTRAN_MANGLE(name, NAME) name ## _
534 #define DEAL_II_FORTRAN_MANGLE_UNDERSCORE(name, NAME) name ## _
543 #define DEAL_II_STRINGIZE_HELPER(x) #x
544 #define DEAL_II_STRINGIZE(x) DEAL_II_STRINGIZE_HELPER(x)
545 #define DEAL_II_DO_PRAGMA(x) __pragma(x)
546 #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(__FILE__ "(" DEAL_II_STRINGIZE(__LINE__) ") : warning: " #desc))
548 #define DEAL_II_DO_PRAGMA(x) _Pragma(#x)
549 #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(#desc))
559 #ifdef DEAL_II_HAVE_CXX17
560 #define DEAL_II_CONSTEXPR_IN_CONDITIONAL constexpr
562 #define DEAL_II_CONSTEXPR_IN_CONDITIONAL
574 #if defined(DEAL_II_WITH_MPI) || defined(DEAL_II_WITH_PETSC)
589 #include <boost/version.hpp>
594 "The version number of boost that you are compiling with does not match the "
595 "version number of boost found during deal.II's configuration step. This "
596 "leads to difficult to understand bugs and is not supported. Please check "
597 "that you have set up your application with the same version of boost as "
#define DEAL_II_BOOST_VERSION_MINOR
#define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
#define DEAL_II_BOOST_VERSION_MAJOR
#define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
#define DEAL_II_BOOST_VERSION_SUBMINOR