Reference documentation for deal.II version GIT 5c75851574 2022-09-25 16:30:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
config.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2012 - 2022 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_config_h
17 #define dealii_config_h
18 
19 
20 /***********************************************************************
21  * Information about deal.II:
22  */
23 
24 #define DEAL_II_PACKAGE_NAME "deal.II"
25 
26 #define DEAL_II_PACKAGE_VERSION "GIT 5c75851574 2022-09-25 16:30:01+00:00"
27 
28 #define DEAL_II_VERSION_MAJOR GIT 5c75851574 2022-09-25 16:30:01+00:00
29 #define DEAL_II_VERSION_MINOR GIT 5c75851574 2022-09-25 16:30:01+00:00
30 #define DEAL_II_VERSION_SUBMINOR GIT 5c75851574 2022-09-25 16:30:01+00:00
31 
32 
33 /***********************************************************************
34  * Configured deal.II features:
35  */
36 
37 /* #undef DEAL_II_WITH_64BIT_INDICES */
38 /* #undef DEAL_II_WITH_ADOLC */
39 /* #undef DEAL_II_WITH_ARPACK */
40 /* #undef DEAL_II_WITH_ARBORX */
41 /* #undef DEAL_II_WITH_ASSIMP */
42 /* #undef DEAL_II_WITH_CGAL */
43 #define DEAL_II_WITH_COMPLEX_VALUES
44 /* #undef DEAL_II_WITH_CUDA */
45 /* #undef DEAL_II_WITH_GINKGO */
46 /* #undef DEAL_II_WITH_GMSH */
47 /* #undef DEAL_II_WITH_GSL */
48 /* #undef DEAL_II_WITH_HDF5 */
49 /* #undef DEAL_II_WITH_KOKKOS */
50 /* #undef DEAL_II_WITH_LAPACK */
51 /* #undef LAPACK_WITH_64BIT_BLAS_INDICES */
52 /* #undef DEAL_II_LAPACK_WITH_MKL */
53 /* #undef DEAL_II_WITH_METIS */
54 /* #undef DEAL_II_WITH_MPI */
55 #define DEAL_II_WITH_MUPARSER
56 /* #undef DEAL_II_WITH_OPENCASCADE */
57 /* #undef DEAL_II_WITH_P4EST */
58 /* #undef DEAL_II_WITH_PETSC */
59 /* #undef DEAL_II_WITH_SCALAPACK */
60 /* #undef DEAL_II_WITH_SLEPC */
61 /* #undef DEAL_II_WITH_SUNDIALS */
62 /* #undef DEAL_II_WITH_SYMENGINE */
63 /* #undef DEAL_II_WITH_TASKFLOW */
64 #define DEAL_II_WITH_TBB
65 /* #undef DEAL_II_WITH_TRILINOS */
66 /* #undef DEAL_II_WITH_UMFPACK */
67 /* #undef DEAL_II_WITH_ZLIB */
68 
69 #ifdef DEAL_II_WITH_TBB
74 #define DEAL_II_WITH_THREADS
75 
76 #define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
77 
78 /* #undef DEAL_II_TBB_WITH_ONEAPI */
79 
80 #endif
81 
82 /***********************************************************************
83  * Compiler bugs:
84  *
85  * For documentation see cmake/checks/check_03_compiler_bugs.cmake
86  */
87 
88 /* #undef DEAL_II_DELETED_MOVE_CONSTRUCTOR_BUG */
89 
90 /***********************************************************************
91  * Compiler features:
92  *
93  * For documentation see cmake/checks/check_01_compiler_features.cmake
94  */
95 
96 #define DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
97 /* #undef DEAL_II_VECTOR_ITERATOR_IS_POINTER */
98 #define DEAL_II_HAVE_BUILTIN_EXPECT
99 #define DEAL_II_HAVE_GLIBC_STACKTRACE
100 #define DEAL_II_HAVE_LIBSTDCXX_DEMANGLER
101 /* #undef __PRETTY_FUNCTION__ */
102 #define DEAL_II_ALWAYS_INLINE __attribute__((always_inline))
103 #define DEAL_II_RESTRICT __restrict
104 #define DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
105 
106 /*
107  * A variable to tell if the compiler used in the current compilation process
108  * understands CUDA code.
109  */
110 #if defined(DEAL_II_WITH_CUDA) && defined(__CUDACC__)
111 # define DEAL_II_COMPILER_CUDA_AWARE
112 #endif
113 
114 /***********************************************************************
115  * CPU features:
116  *
117  * For documentation see cmake/checks/check_01_cpu_features.cmake
118  */
119 
120 /* #undef DEAL_II_WORDS_BIGENDIAN */
121 
122 /*
123  * This sets the largest number of vectorization bits detected for the given
124  * compiler flags and hardware (e.g. 256 for AVX on x86-64 architectures) for
125  * use in deal.II's instrinsics-based VectorizedArray class.
126  */
127 #define DEAL_II_VECTORIZATION_WIDTH_IN_BITS 128
128 
129 /*
130  * Backward compatibility setting
131  */
132 #if DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 512
133 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 3
134 #elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 256
135 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 2
136 #elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 128
137 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 1
138 #else
139 #define DEAL_II_COMPILER_VECTORIZATION_LEVEL 0
140 #endif
141 
142 #define DEAL_II_OPENMP_SIMD_PRAGMA _Pragma("omp simd")
143 
144 
145 /***********************************************************************
146  * Language features:
147  *
148  * For documentation see cmake/checks/check_01_cxx_features.cmake
149  */
150 
151 #define DEAL_II_HAVE_CXX14
152 /* #undef DEAL_II_HAVE_CXX17 */
153 /* #undef DEAL_II_HAVE_CXX20 */
154 
155 #define DEAL_II_HAVE_FP_EXCEPTIONS
156 /* #undef DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS */
157 /* #undef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS */
158 /* #undef DEAL_II_CXX14_CONSTEXPR_BUG */
159 
164 #define DEAL_II_DEPRECATED [[deprecated]]
165 
172 #ifndef DEAL_II_DEPRECATED_EARLY
173 // guard to allow user to override DEAL_II_DEPRECATED_EARLY
174 #define DEAL_II_DEPRECATED_EARLY
175 #endif
176 #define DEAL_II_FALLTHROUGH [[fallthrough]]
177 #define DEAL_II_CONSTEXPR constexpr
178 
179 // defined for backwards compatibility with older deal.II versions
180 #define DEAL_II_WITH_CXX11
181 #define DEAL_II_WITH_CXX14
182 #ifdef DEAL_II_HAVE_CXX17
183 # define DEAL_II_WITH_CXX17
184 #endif
185 
186 
187 /***********************************************************************
188  * System features:
189  *
190  * For documentation see cmake/checks/check_02_system_features.cmake
191  */
192 
193 #define DEAL_II_HAVE_SYS_RESOURCE_H
194 #define DEAL_II_HAVE_UNISTD_H
195 #define DEAL_II_HAVE_GETHOSTNAME
196 #define DEAL_II_HAVE_GETPID
197 /* #undef DEAL_II_HAVE_JN */
198 
199 /* #undef DEAL_II_MSVC */
200 
201 
202 /***********************************************************************
203  * Feature configuration
204  *
205  * For documentation see cmake/configure/configure_*.cmake and
206  * cmake/modules/Find*.cmake
207  */
208 
209 /* cmake/modules/FindADOLC.cmake */
210 /* #undef DEAL_II_ADOLC_WITH_ATRIG_ERF */
211 /* #undef DEAL_II_ADOLC_WITH_ADVANCED_BRANCHING */
212 /* #undef DEAL_II_ADOLC_WITH_TAPELESS_REFCOUNTING */
213 
214 /* cmake/modules/FindARBORX.cmake */
215 /* #undef DEAL_II_ARBORX_WITH_MPI */
216 
217 /* cmake/modules/FindARPACK.cmake */
218 /* #undef DEAL_II_ARPACK_WITH_PARPACK */
219 
220 /* cmake/modules/FindGMSH.cmake */
221 /* #undef DEAL_II_GMSH_WITH_API */
222 
223 /* cmake/modules/FindPETSC.cmake */
224 /* #undef DEAL_II_PETSC_WITH_COMPLEX */
225 /* #undef DEAL_II_PETSC_WITH_HYPRE */
226 /* #undef DEAL_II_PETSC_WITH_MUMPS */
227 
228 /* cmake/modules/FindSUNDIALS.cmake */
229 /* #undef DEAL_II_SUNDIALS_WITH_IDAS */
230 
231 /* cmake/modules/FindSYMENGINE.cmake */
232 /* #undef DEAL_II_SYMENGINE_WITH_LLVM */
233 
234 /* cmake/configure/configure_20_boost.cmake */
235 /* #undef DEAL_II_BOOST_HAS_BROKEN_HEADER_DEPRECATIONS */
236 
237 /* cmake/configure/configure_50_cgal.cmake */
238 /* #undef DEAL_II_CGAL_HAS_DEPRECATED_BOOST_INCLUDES */
239 
240 /* cmake/configure/configure_2_trilinos.cmake */
241 /* #undef DEAL_II_TRILINOS_CXX_SUPPORTS_SACADO_COMPLEX_RAD */
242 /* #undef DEAL_II_TRILINOS_WITH_EPETRAEXT */
243 /* #undef DEAL_II_TRILINOS_WITH_MUELU */
244 /* #undef DEAL_II_TRILINOS_WITH_ROL */
245 /* #undef DEAL_II_TRILINOS_WITH_SACADO */
246 /* #undef DEAL_II_TRILINOS_WITH_SEACAS */
247 /* #undef DEAL_II_TRILINOS_WITH_TPETRA */
248 /* #undef DEAL_II_TRILINOS_WITH_ZOLTAN */
249 
250 #if defined(DEAL_II_BOOST_HAS_BROKEN_HEADER_DEPRECATIONS) || \
251  defined(DEAL_II_CGAL_HAS_DEPRECATED_BOOST_INCLUDES)
252 # ifndef BOOST_ALLOW_DEPRECATED_HEADERS
253 # define BOOST_ALLOW_DEPRECATED_HEADERS
254 # endif
255 #endif
256 
257 /***********************************************************************
258  * Various macros for version number query and comparison:
259  *
260  * These macros are defined to make testing for specific versions within
261  * the deal.II main code as simple as possible.
262  */
263 
264 /*
265  * deal.II:
266  */
267 
274 #define DEAL_II_VERSION_GTE(major,minor,subminor) \
275  ((DEAL_II_VERSION_MAJOR * 10000 + \
276  DEAL_II_VERSION_MINOR * 100 + \
277  DEAL_II_VERSION_SUBMINOR) \
278  >= \
279  (major)*10000 + (minor)*100 + (subminor))
280 
281 /*
282  * boost:
283  */
284 #define DEAL_II_BOOST_VERSION_MAJOR 1
285 #define DEAL_II_BOOST_VERSION_MINOR 70
286 #define DEAL_II_BOOST_VERSION_SUBMINOR 0
287 
288 #define DEAL_II_BOOST_VERSION_GTE(major,minor,subminor) \
289  ((DEAL_II_BOOST_VERSION_MAJOR * 100000 + \
290  DEAL_II_BOOST_VERSION_MINOR * 100 + \
291  DEAL_II_BOOST_VERSION_SUBMINOR) \
292  >= \
293  (major)*100000 + (minor)*100 + (subminor))
294 
295 /*
296  * Gmsh:
297  */
298 #ifdef DEAL_II_WITH_GMSH
299 # define DEAL_II_GMSH_EXECUTABLE_PATH ""
300 #endif
301 
306 #ifdef DEAL_II_WITH_OPENCASCADE
307 # define DEAL_II_OPENCASCADE_VERSION_MAJOR
308 # define DEAL_II_OPENCASCADE_VERSION_MINOR
309 # define DEAL_II_OPENCASCADE_VERSION_SUBMINOR
310 
311 # define DEAL_II_OPENCASCADE_VERSION_GTE(major,minor,subminor) \
312  ((DEAL_II_OPENCASCADE_VERSION_MAJOR * 10000 + \
313  DEAL_II_OPENCASCADE_VERSION_MINOR * 100 + \
314  DEAL_II_OPENCASCADE_VERSION_SUBMINOR) \
315  >= \
316  (major)*10000 + (minor)*100 + (subminor))
317 #endif
318 
319 /*
320  * p4est:
321  */
322 
323 #ifdef DEAL_II_WITH_P4EST
324 # define DEAL_II_P4EST_VERSION_MAJOR
325 # define DEAL_II_P4EST_VERSION_MINOR
326 # define DEAL_II_P4EST_VERSION_SUBMINOR
327 # define DEAL_II_P4EST_VERSION_PATCH
328 
329 # define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
330  ((DEAL_II_P4EST_VERSION_MAJOR * 1000000 + \
331  DEAL_II_P4EST_VERSION_MINOR * 10000 + \
332  DEAL_II_P4EST_VERSION_SUBMINOR * 100 + \
333  DEAL_II_P4EST_VERSION_PATCH) \
334  >= \
335  (major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
336 #endif
337 
338 /*
339  * SUNDIALS:
340  */
341 
342 #ifdef DEAL_II_WITH_SUNDIALS
343  # define DEAL_II_SUNDIALS_VERSION_MAJOR
344  # define DEAL_II_SUNDIALS_VERSION_MINOR
345  # define DEAL_II_SUNDIALS_VERSION_PATCH
346 
347  #define DEAL_II_SUNDIALS_VERSION_GTE(major,minor,patch) \
348  ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
349  DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
350  DEAL_II_SUNDIALS_VERSION_PATCH) \
351  >= \
352  (major)*10000 + (minor)*100 + (patch))
353 
354  #define DEAL_II_SUNDIALS_VERSION_LT(major,minor,patch) \
355  ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
356  DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
357  DEAL_II_SUNDIALS_VERSION_PATCH) \
358  < \
359  (major)*10000 + (minor)*100 + (patch))
360 #endif
361 
362 /*
363  * PETSc:
364  *
365  * Note: The following definitions will be set in petscconf.h and
366  * petscversion.h, so we don't repeat them here.
367  *
368  * PETSC_VERSION_MAJOR
369  * PETSC_VERSION_MINOR
370  * PETSC_VERSION_SUBMINOR
371  * PETSC_VERSION_PATCH
372  * PETSC_VERSION_RELEASE
373  * PETSC_USE_COMPLEX
374  */
375 
376 #define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \
377  ((PETSC_VERSION_MAJOR * 10000 + \
378  PETSC_VERSION_MINOR * 100 + \
379  PETSC_VERSION_SUBMINOR) \
380  < \
381  (major)*10000 + (minor)*100 + (subminor))
382 
383 #define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \
384  ((PETSC_VERSION_MAJOR * 10000 + \
385  PETSC_VERSION_MINOR * 100 + \
386  PETSC_VERSION_SUBMINOR) \
387  >= \
388  (major)*10000 + (minor)*100 + (subminor))
389 
390 /*
391  * SLEPC
392  * see slepcversion.h
393  */
394 #define DEAL_II_SLEPC_VERSION_GTE(major,minor,subminor) \
395  ((SLEPC_VERSION_MAJOR * 10000 + \
396  SLEPC_VERSION_MINOR * 100 + \
397  SLEPC_VERSION_SUBMINOR) \
398  >= \
399  (major)*10000 + (minor)*100 + (subminor))
400 
401 /*
402  * Trilinos:
403  */
404 
405 #ifdef DEAL_II_WITH_TRILINOS
406 # define DEAL_II_TRILINOS_VERSION_MAJOR
407 # define DEAL_II_TRILINOS_VERSION_MINOR
408 # define DEAL_II_TRILINOS_VERSION_SUBMINOR
409 
410 # define DEAL_II_TRILINOS_VERSION_GTE(major,minor,subminor) \
411  ((DEAL_II_TRILINOS_VERSION_MAJOR * 10000 + \
412  DEAL_II_TRILINOS_VERSION_MINOR * 100 + \
413  DEAL_II_TRILINOS_VERSION_SUBMINOR) \
414  >= \
415  (major)*10000 + (minor)*100 + (subminor))
416 #endif
417 
418 /*
419  * CGAL:
420  */
421 
422 #ifdef DEAL_II_WITH_CGAL
423 # define DEAL_II_CGAL_VERSION_MAJOR
424 # define DEAL_II_CGAL_VERSION_MINOR
425 # define DEAL_II_CGAL_VERSION_SUBMINOR
426 
427 # define DEAL_II_CGAL_VERSION_GTE(major, minor, subminor) \
428  ((DEAL_II_CGAL_VERSION_MAJOR * 10000 + DEAL_II_CGAL_VERSION_MINOR * 100 + \
429  DEAL_II_CGAL_VERSION_SUBMINOR) >= \
430  (major)*10000 + (minor)*100 + (subminor))
431 #endif
432 
433 /*
434  * MPI
435  */
436 
437 #ifdef DEAL_II_WITH_MPI
438 # define DEAL_II_MPI_VERSION_MAJOR
439 # define DEAL_II_MPI_VERSION_MINOR
440 
441 # define DEAL_II_MPI_VERSION_GTE(major,minor) \
442  ((DEAL_II_MPI_VERSION_MAJOR * 100 + \
443  DEAL_II_MPI_VERSION_MINOR) \
444  >= \
445  (major)*100 + (minor))
446 #else
447 # define DEAL_II_MPI_VERSION_GTE(major,minor) false
448 #endif
449 
450 /* #undef DEAL_II_MPI_WITH_CUDA_SUPPORT */
451 
452 /***********************************************************************
453  * Two macro names that we put at the top and bottom of all deal.II files
454  * and that will be expanded to "namespace dealii {" and "}".
455  */
456 
457 #define DEAL_II_NAMESPACE_OPEN namespace dealii {
458 #define DEAL_II_NAMESPACE_CLOSE }
459 
460 /***********************************************************************
461  * Two macros to guard external header includes.
462  *
463  * Selectively disable diagnostics set by "-Wextra" (and similar flags) for
464  * GCC and compiler accepting GCC dialects (such as clang).
465  * "diagnostic push" is supported since gcc-4.6 and clang-3.3.
466  */
467 
468 #ifdef DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
469 
470 /* keep pragmas with an exclamation mark in order.. */
471 # define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS \
472 _Pragma("GCC diagnostic push") \
473 _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") \
474 _Pragma("GCC diagnostic ignored \"-Wpragmas\"") \
475 _Pragma("GCC diagnostic ignored \"-Wunknown-warning-option\"") \
476 _Pragma("GCC diagnostic ignored \"-Wunknown-warning\"") \
477 _Pragma("GCC diagnostic ignored \"-Wextra\"") \
478 _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") \
479 _Pragma("GCC diagnostic ignored \"-Wdeprecated-copy\"") \
480 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
481 _Pragma("GCC diagnostic ignored \"-Wdeprecated-volatile\"") \
482 _Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \
483 _Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \
484 _Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"") \
485 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \
486 _Pragma("GCC diagnostic ignored \"-Winfinite-recursion\"") \
487 _Pragma("GCC diagnostic ignored \"-Wint-in-bool-context\"") \
488 _Pragma("GCC diagnostic ignored \"-Wmisleading-indentation\"") \
489 _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
490 _Pragma("GCC diagnostic ignored \"-Wnested-anon-types\"") \
491 _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") \
492 _Pragma("GCC diagnostic ignored \"-Wnonnull\"") \
493 _Pragma("GCC diagnostic ignored \"-Woverflow\"") \
494 _Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
495 _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
496 _Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") \
497 _Pragma("GCC diagnostic ignored \"-Wtautological-constant-out-of-range-compare\"") \
498 _Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"") \
499 _Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
500 _Pragma("GCC diagnostic ignored \"-Wundef\"") \
501 _Pragma("GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \
502 _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \
503 _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
504 _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
505 _Pragma("GCC diagnostic ignored \"-Wunused-private-field\"") \
506 _Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \
507 _Pragma("GCC diagnostic ignored \"-Wuse-after-free\"") \
508 _Pragma("GCC diagnostic warning \"-Wpragmas\"")
509 
510 # define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS \
511 _Pragma("GCC diagnostic pop")
512 
513 #else
514 
515 # define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
516 # define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
517 
518 #endif
519 
520 /***********************************************************************
521  * Define macros for picking the correct C linkage name for a Fortran function.
522  * See cmake/configure/configure_fortran_mangling.cmake for more information.
523  */
524 
525 #define DEAL_II_FORTRAN_MANGLE(name, NAME) name ## _
526 
527 #define DEAL_II_FORTRAN_MANGLE_UNDERSCORE(name, NAME) name ## _
528 
529 /***********************************************************************
530  * Define a portable preprocessor macro that generates custom warnings
531  * reporting the line and the file where the warning appears. Taken from:
532  * http://goodliffe.blogspot.com/2009/07/c-how-to-say-warning-to-visual-studio-c.html
533  */
534 
535 #ifdef _MSC_VER
536  #define DEAL_II_STRINGIZE_HELPER(x) #x
537  #define DEAL_II_STRINGIZE(x) DEAL_II_STRINGIZE_HELPER(x)
538  #define DEAL_II_DO_PRAGMA(x) __pragma(x)
539  #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(__FILE__ "(" DEAL_II_STRINGIZE(__LINE__) ") : warning: " #desc))
540 #else
541  #define DEAL_II_DO_PRAGMA(x) _Pragma(#x)
542  #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(#desc))
543 #endif
544 
545 /***********************************************************************
546  * Final inclusions:
547  */
548 
549 /*
550  * Some systems require including mpi.h before stdio.h which happens in
551  * types.h
552  */
553 #if defined(DEAL_II_WITH_MPI) || defined(DEAL_II_WITH_PETSC)
555 # include <mpi.h>
557 #endif
558 
559 #include <deal.II/base/numbers.h>
560 #include <deal.II/base/types.h>
561 
562 /*
563  * Include the boost version header to do a quick version check in case, by
564  * accident, we have configured with one version of boost but are compiling
565  * either the library or an external application with a different version of
566  * boost.
567  */
568 #include <boost/version.hpp>
569 static_assert(
570  BOOST_VERSION == 100000 * DEAL_II_BOOST_VERSION_MAJOR +
573  "The version number of boost that you are compiling with does not match the "
574  "version number of boost found during deal.II's configuration step. This "
575  "leads to difficult to understand bugs and is not supported. Please check "
576  "that you have set up your application with the same version of boost as "
577  "deal.II.");
578 
579 #endif
#define DEAL_II_BOOST_VERSION_MINOR
Definition: config.h:285
#define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
Definition: config.h:471
#define DEAL_II_BOOST_VERSION_MAJOR
Definition: config.h:284
#define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
Definition: config.h:510
#define DEAL_II_BOOST_VERSION_SUBMINOR
Definition: config.h:286