]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Configure most of the library through a config.h file, instead via the command line...
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 29 Oct 2001 08:47:02 +0000 (08:47 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 29 Oct 2001 08:47:02 +0000 (08:47 +0000)
git-svn-id: https://svn.dealii.org/trunk@5167 0785d39b-7218-0410-832d-ea1e28bc413d

133 files changed:
deal.II/acconfig.h [new file with mode: 0644]
deal.II/aclocal.m4
deal.II/base/include/base/.cvsignore
deal.II/base/include/base/config.h.in [new file with mode: 0644]
deal.II/base/include/base/convergence_table.h
deal.II/base/include/base/data_out_base.h
deal.II/base/include/base/exceptions.h
deal.II/base/include/base/function.h
deal.II/base/include/base/function_derivative.h
deal.II/base/include/base/function_lib.h
deal.II/base/include/base/function_time.h
deal.II/base/include/base/job_identifier.h
deal.II/base/include/base/logstream.h
deal.II/base/include/base/memory_consumption.h
deal.II/base/include/base/multithread_info.h
deal.II/base/include/base/parameter_handler.h
deal.II/base/include/base/point.h
deal.II/base/include/base/polynomial.h
deal.II/base/include/base/quadrature.h
deal.II/base/include/base/quadrature_lib.h
deal.II/base/include/base/smartpointer.h
deal.II/base/include/base/subscriptor.h
deal.II/base/include/base/table_handler.h
deal.II/base/include/base/tensor.h
deal.II/base/include/base/tensor_base.h
deal.II/base/include/base/tensor_function.h
deal.II/base/include/base/tensor_product_polynomials.h
deal.II/base/include/base/thread_management.h
deal.II/base/include/base/timer.h
deal.II/base/include/base/vector2d.h
deal.II/configure
deal.II/deal.II/include/dofs/dof_accessor.h
deal.II/deal.II/include/dofs/dof_accessor.templates.h
deal.II/deal.II/include/dofs/dof_constraints.h
deal.II/deal.II/include/dofs/dof_constraints.templates.h
deal.II/deal.II/include/dofs/dof_handler.h
deal.II/deal.II/include/dofs/dof_levels.h
deal.II/deal.II/include/dofs/dof_tools.h
deal.II/deal.II/include/dofs/function_map.h
deal.II/deal.II/include/fe/fe.h
deal.II/deal.II/include/fe/fe_base.h
deal.II/deal.II/include/fe/fe_dgq.h
deal.II/deal.II/include/fe/fe_lib.dg.h
deal.II/deal.II/include/fe/fe_lib.lagrange.h
deal.II/deal.II/include/fe/fe_q.h
deal.II/deal.II/include/fe/fe_system.h
deal.II/deal.II/include/fe/fe_tools.h
deal.II/deal.II/include/fe/fe_update_flags.h
deal.II/deal.II/include/fe/fe_values.h
deal.II/deal.II/include/fe/mapping.h
deal.II/deal.II/include/fe/mapping_c1.h
deal.II/deal.II/include/fe/mapping_cartesian.h
deal.II/deal.II/include/fe/mapping_q.h
deal.II/deal.II/include/fe/mapping_q1.h
deal.II/deal.II/include/fe/mapping_q1_eulerian.h
deal.II/deal.II/include/grid/geometry_info.h
deal.II/deal.II/include/grid/grid_generator.h
deal.II/deal.II/include/grid/grid_in.h
deal.II/deal.II/include/grid/grid_out.h
deal.II/deal.II/include/grid/grid_refinement.h
deal.II/deal.II/include/grid/grid_reordering.h
deal.II/deal.II/include/grid/grid_tools.h
deal.II/deal.II/include/grid/intergrid_map.h
deal.II/deal.II/include/grid/magic_numbers.h
deal.II/deal.II/include/grid/persistent_tria.h
deal.II/deal.II/include/grid/tria.h
deal.II/deal.II/include/grid/tria_boundary.h
deal.II/deal.II/include/grid/tria_boundary_lib.h
deal.II/deal.II/include/grid/tria_hex.h
deal.II/deal.II/include/grid/tria_iterator.h
deal.II/deal.II/include/grid/tria_iterator.templates.h
deal.II/deal.II/include/grid/tria_iterator_base.h
deal.II/deal.II/include/grid/tria_line.h
deal.II/deal.II/include/grid/tria_quad.h
deal.II/deal.II/include/multigrid/mg_base.h
deal.II/deal.II/include/multigrid/mg_dof_accessor.h
deal.II/deal.II/include/multigrid/mg_dof_handler.h
deal.II/deal.II/include/multigrid/mg_dof_tools.h
deal.II/deal.II/include/multigrid/mg_smoother.h
deal.II/deal.II/include/multigrid/multigrid.h
deal.II/deal.II/include/numerics/data_out.h
deal.II/deal.II/include/numerics/data_out_faces.h
deal.II/deal.II/include/numerics/data_out_rotation.h
deal.II/deal.II/include/numerics/data_out_stack.h
deal.II/deal.II/include/numerics/derivative_approximation.h
deal.II/deal.II/include/numerics/dof_print_solver_step.h
deal.II/deal.II/include/numerics/dof_renumbering.h
deal.II/deal.II/include/numerics/error_estimator.h
deal.II/deal.II/include/numerics/histogram.h
deal.II/deal.II/include/numerics/matrices.h
deal.II/deal.II/include/numerics/solution_transfer.h
deal.II/deal.II/include/numerics/time_dependent.h
deal.II/deal.II/include/numerics/vectors.h
deal.II/doc/news/2001/c-3-2.html
deal.II/lac/include/lac/block_indices.h
deal.II/lac/include/lac/block_matrix.h
deal.II/lac/include/lac/block_matrix_array.h
deal.II/lac/include/lac/block_sparse_matrix.h
deal.II/lac/include/lac/block_sparse_matrix.templates.h
deal.II/lac/include/lac/block_sparsity_pattern.h
deal.II/lac/include/lac/block_vector.h
deal.II/lac/include/lac/block_vector.templates.h
deal.II/lac/include/lac/compressed_sparsity_pattern.h
deal.II/lac/include/lac/eigen.h
deal.II/lac/include/lac/filtered_matrix.h
deal.II/lac/include/lac/filtered_matrix.templates.h
deal.II/lac/include/lac/full_matrix.h
deal.II/lac/include/lac/full_matrix.templates.h
deal.II/lac/include/lac/matrix_out.h
deal.II/lac/include/lac/precondition.h
deal.II/lac/include/lac/precondition_block.h
deal.II/lac/include/lac/precondition_block.templates.h
deal.II/lac/include/lac/precondition_selector.h
deal.II/lac/include/lac/schur_matrix.h
deal.II/lac/include/lac/shifted_matrix.h
deal.II/lac/include/lac/solver.h
deal.II/lac/include/lac/solver_bicgstab.h
deal.II/lac/include/lac/solver_cg.h
deal.II/lac/include/lac/solver_control.h
deal.II/lac/include/lac/solver_gmres.h
deal.II/lac/include/lac/solver_minres.h
deal.II/lac/include/lac/solver_qmrs.h
deal.II/lac/include/lac/solver_richardson.h
deal.II/lac/include/lac/solver_selector.h
deal.II/lac/include/lac/sparse_direct.h
deal.II/lac/include/lac/sparse_ilu.h
deal.II/lac/include/lac/sparse_ilu.templates.h
deal.II/lac/include/lac/sparse_matrix.h
deal.II/lac/include/lac/sparse_vanka.h
deal.II/lac/include/lac/sparsity_pattern.h
deal.II/lac/include/lac/swappable_vector.h
deal.II/lac/include/lac/vector.h
deal.II/lac/include/lac/vector_memory.h

diff --git a/deal.II/acconfig.h b/deal.II/acconfig.h
new file mode 100644 (file)
index 0000000..040ea97
--- /dev/null
@@ -0,0 +1,32 @@
+//----------------------------  config.h  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2001 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  config.h  ---------------------------
+#ifndef __deal2__config_h
+#define __deal2__config_h
+
+// Note: you should not usually have to change this file, as it is
+// automatically generated from the ./configure file in the top level
+// directory. If there are problems with the contents of this file,
+// rather than changing it, try to modify the mechanisms in
+// configure.in that generated this output. The reason is that you
+// would have to make these changes each time you compile a new
+// version of the library, or on a different computer. Furthermore, it
+// is important not to build different parts of the library with
+// different versions of this file.
+//
+// In case of problems in autodetection of features of your build
+// environment, contact the authors of the library.
+
+@TOP@
+@BOTTOM@
+
+#endif
index d900c0def73bd76f083e3271db226fc90335c182..abe95b2544f95984b6256c6e27a51ce1d61a78ad 100644 (file)
@@ -288,7 +288,8 @@ int i=rand_r(&i);
        ],
        [
          AC_MSG_RESULT(found)
-         AC_DEFINE(HAVE_RAND_R)
+         AC_DEFINE(HAVE_RAND_R, 1, 
+                    [Define if you have the rand_r function])
        ],
        [
          AC_MSG_RESULT(no)
@@ -361,7 +362,8 @@ AC_DEFUN(DEAL_II_CHECK_IBM_XLC_ERROR, dnl
     ],
     [
       AC_MSG_RESULT(yes. trying to work around)
-      AC_DEFINE(XLC_WORK_AROUND_STD_BUG)
+      AC_DEFINE(XLC_WORK_AROUND_STD_BUG, 1, 
+                [Define if we have to work around a bug in IBM's xlC compiler])
     ])
 )
 
@@ -384,7 +386,9 @@ AC_DEFUN(DEAL_II_HAVE_STD_ITERATOR, dnl
     [],
     [
       AC_MSG_RESULT(yes)
-      AC_DEFINE(HAVE_STD_ITERATOR_CLASS)
+      AC_DEFINE(HAVE_STD_ITERATOR_CLASS, 1,
+               [Define if the compiler's library in use provides a
+                 std::iterator class (early gcc versions did not)])
     ],
     [
       AC_MSG_RESULT(no)
@@ -413,7 +417,9 @@ AC_DEFUN(DEAL_II_HAVE_STD_STRINGSTREAM, dnl
     ],
     [
       AC_MSG_RESULT(yes)
-      AC_DEFINE(HAVE_STD_STRINGSTREAM)
+      AC_DEFINE(HAVE_STD_STRINGSTREAM, 1, 
+                [Define if the compiler's library in use provides
+                 std::i/ostringstream classes (early gcc versions did not)])
     ],
     [
       AC_MSG_RESULT(no)
@@ -448,7 +454,8 @@ void f()
     ],
     [
       AC_MSG_RESULT(yes)
-      AC_DEFINE(DEAL_II_DECLARE_LRAND48)
+      AC_DEFINE(DEAL_II_DECLARE_LRAND48, 1, 
+                [Define if you have the rand_r function])
     ])
 )
 
index fa946188cbccaa474a22b381b439d86ebcadfc10..a8116c50ddc7533c5dbac1b78c4d662c6fc8d76a 100644 (file)
@@ -1 +1,2 @@
 forward_declarations.h
+config.h
diff --git a/deal.II/base/include/base/config.h.in b/deal.II/base/include/base/config.h.in
new file mode 100644 (file)
index 0000000..3444172
--- /dev/null
@@ -0,0 +1,76 @@
+/* base/include/base/config.h.in.  Generated automatically from configure.in by autoheader.  */
+//----------------------------  config.h  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2001 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  config.h  ---------------------------
+#ifndef __deal2__config_h
+#define __deal2__config_h
+
+// Note: you should not usually have to change this file, as it is
+// automatically generated from the ./configure file in the top level
+// directory. If there are problems with the contents of this file,
+// rather than changing it, try to modify the mechanisms in
+// configure.in that generated this output. The reason is that you
+// would have to make these changes each time you compile a new
+// version of the library, or on a different computer. Furthermore, it
+// is important not to build different parts of the library with
+// different versions of this file.
+//
+// In case of problems in autodetection of features of your build
+// environment, contact the authors of the library.
+
+
+/* Define if you have the gethostname function.  */
+#undef HAVE_GETHOSTNAME
+
+/* Major version number of deal.II */
+#undef DEAL_II_MAJOR
+
+/* Minor version number of deal.II */
+#undef DEAL_II_MINOR
+
+/* Flag indicating whether the library shall be compiler for
+             multithreaded applications */
+#undef DEAL_II_USE_MT
+
+/* Backward compatibility support for functions
+                            and classes that do not take an explicit mapping
+                            variable, but rather use a default Q1 mapping instead */
+#undef DEAL_II_COMPAT_MAPPING
+
+/* Define if we have to work around a bug in IBM's xlC compiler */
+#undef XLC_WORK_AROUND_STD_BUG
+
+/* Define if the compiler's library in use provides a
+                 std::iterator class (early gcc versions did not) */
+#undef HAVE_STD_ITERATOR_CLASS
+
+/* Define if the compiler's library in use provides
+                 std::i/ostringstream classese (early gcc versions did not) */
+#undef HAVE_STD_STRINGSTREAM
+
+/* Define if you have the rand_r function */
+#undef DEAL_II_DECLARE_LRAND48
+
+/* Define if you have the rand_r function */
+#undef HAVE_RAND_R
+
+/* Availability of the MA27 algorithm from HSL */
+#undef HAVE_HSL_MA27
+
+/* Availability of the MA47 algorithm from HSL */
+#undef HAVE_HSL_MA47
+
+/* Enable the multigrid components of the library */
+#undef ENABLE_MULTIGRID
+
+
+#endif
index 7c10868d1e3b1008c2671c92efa5f4028744d0ec..ee933d77fc5adfbb1000ae8987c2091dacb991ba 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__convergence_table_h
 
 
+#include <base/config.h>
 #include <base/table_handler.h>
 
 
index 32840acbdcfa50a4b0abb60efc972462addf9683..73ebdabd3bd8480a74324115afd639519caebec8 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__data_out_base_h
 
 
+#include <base/config.h>
 #include <base/point.h>
 #include <base/vector2d.h>
 #include <grid/geometry_info.h>
index 32d48f5279de59bf271e7c61e6a0117c7bd01b56..57dddd2d5479d6c1d68a3c2e95cbb09bdeed9261 100644 (file)
@@ -14,6 +14,8 @@
 #define __deal2__exceptions_h
 
 
+#include <base/config.h>
+
 #include <exception>
 #include <iostream>
 #include <cstdlib>
index d7b40112268b459ac2fafa5a2a4bebda1013f9bf..4b8afeb991d5905b9f32ff3165591589caac6bda 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__function_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/function_time.h>
 #include <base/subscriptor.h>
index c2c1788e739105c89e563d46c42e0044a67d6505..46667e22089b0d9bf663a614cd05338e12f6e160 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__function_derivative_h
 #define __deal2__function_derivative_h
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/function.h>
 
index 0cd930c318fdb5a60c5524515564a29ebf2a8bd6..d19642ef1ceeeaa915dad7c66347c612243bb14b 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__function_lib_h
 
 
+#include <base/config.h>
 #include <base/function.h>
 
 
index fa0136cc44b53726f45007ae13a27cfce6366961..9570534235f73438c03abeab6e8426703ab6d94c 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__function_time_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 /**
index 563121d935193e3537f6d6f88ceb794ee9a71936..7594d5cfddb1054f9569f8da53e8e8f3181aef46 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__job_identifier_h
 
 
+#include <base/config.h>
 #include <string>
 
 /**
index f20f6990826837d5db11578593d7e6126846e581..4cdda299677f2917da42845f8e2e4a9ac7540c28 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__logstream_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 #include <string>
index bf3df8b9133ae5a26f39f1f521314ef9609439d5..9de1e82a1714e49958e6af4c704c8a0cb30ec89c 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__memory_consumption_h
 
 
+#include <base/config.h>
 #include <string>
 #include <vector>
 #include <utility>
index fdc42b74c8b290fc4397314971604eab50d2bf8b..4729510f1aa672c28e2454ab2661aa5408a18656 100644 (file)
@@ -15,6 +15,7 @@
 //----------------------------   multithread_info.h     ---------------------------
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 
index de981b196a15b8b607ac7e575fb22c271eddfb1a..233a3efc5292f9eb573f1a6836314008f3694358 100644 (file)
 
 
 
-// public classes; to be declared below
-class ParameterHandler;
-class MultipleParameterLoop;
-
-
+#include <base/config.h>
 #include <map>
 #include <vector>
 #include <string>
 #include <base/exceptions.h>
 
 
+// public classes; to be declared below
+class ParameterHandler;
+class MultipleParameterLoop;
+
+
+
 // forward declaration
 class LogStream;
 
index 225378395ebafb9f94fdcef214d7375aa98b9b01..8755aa1fa04ebd17610ad36ebada9dff42279faf 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__point_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/tensor_base.h>
 
index 94ea8aa0bbcdf9d09e4ab12dc3b05274d1ccdf0d..24f98b95669a3d16882da015fdc387e4103b2e2c 100644 (file)
@@ -15,6 +15,7 @@
 
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 
index 5a9d61f3f5f8241eb4b069882f6c7749daba7eb3..8a17b621d8c6aa2a654689411029f8d9554a123f 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__quadrature_h
 
 
+#include <base/config.h>
 #include <base/point.h>
 #include <base/subscriptor.h>
 #include <vector>
index caed94a754890555033875dc088d90f40f8928c4..7b15f177a0b7d00dc6e054a4d28e1d84600513eb 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__quadrature_lib_h
 
 
+#include <base/config.h>
 #include <base/quadrature.h>
 
 
index 1b22c215e5bc0bd6edcc38fb1acbe550a222aa61..a795f1b7be5268048bbf4dd9c45aff3b0702849c 100644 (file)
@@ -14,9 +14,9 @@
 #define __deal2__smartpointer_h
 
 
-#ifndef __subscriptor_H
+#include <base/config.h>
 #include <base/subscriptor.h>
-#endif
+
 
 /**
  * Smart pointers avoid destruction of an object in use. They can be used just
index 8c2c56b31460824e825a782755cb0dee25fa7892..f5decdd5786456aa590419b00337249a46a357d2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__subscriptor_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <typeinfo>
 
index aa8de5db8e59fcbe5c5ea358a4f7bf4630d256e7..9091cdb601113ff534d818e9d84eccee89749577 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__table_handler_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 #include <map>
index e4ee3b97d4b021308825e8280a7b937b42128ff4..b1048c93a18304b344232bf2cf3988212d3e034f 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tensor_h
 
 
+#include <base/config.h>
 #include <base/tensor_base.h>
 
 template <int rank_, int dim> class Tensor;
index 31d4d4e99018de48f9fa60fdb8bac0cfcf6e5b5f..647f69fd9ec866b07425cd154214f550e14dfd3d 100644 (file)
@@ -22,6 +22,7 @@
 
 //TODO:[WB] (compiler) Change <iostream> to <ostream> when that becomes available
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <iostream>
 #include <vector>
index 04325c89b7a4b677202ce7dde9703a07cf4b2639..289954a629c20947ce680b284325b98314b9808d 100644 (file)
 #define __deal2__tensor_function_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
-#include <vector>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
 #include <base/function.h>
 #include <base/point.h>
 #include <base/function_time.h>
 
+#include <vector>
+
 
 /**
  *  This class is a model for a tensor valued function. The interface
index d6f4a29acd88cd0bb1fe0bb6143f63ec1e29b7f6..882f4a712c6a411df48f82c06a23f30322a56d7a 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tensor_product_polynomials_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/tensor.h>
 #include <base/point.h>
index a3ccbd5d1c434dc67a9f93a0f72e07df701a2a6d..c0dfe7b4248cc4f5c3660c7642283900e26a3bb7 100644 (file)
@@ -19,6 +19,7 @@
 #  include <ace/Synch.h>
 #endif
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 #include <utility>
index 43e2a6a5141f29cc22710ba8bf3d6e90eda57a49..eda3621e1368680564789f3384edf93eb47c2174 100644 (file)
@@ -13,6 +13,8 @@
 #ifndef __deal2__timer_h
 #define __deal2__timer_h
 
+#include <base/config.h>
+
 
 /**
  * This is a very simple class which provides information about the time
index ab088432a3bb3bceabb7137771d0df0042beadab..2cf594c7a92bcec3c7372d6755331a12d372a6f8 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__vector2d_h
 #define __deal2__vector2d_h
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 
 
index f3b2cb4a77e9fb73b5374b1c522c5aab65a13a08..155e59f585f33f57b4e0ec559d6463950c618a0e 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# From configure.in Revision: 1.87 
+# From configure.in Revision: 1.88 
 
 
 
@@ -584,6 +584,7 @@ fi
 
 
 
+
 DEAL2_DIR=`pwd`
 
 
@@ -649,7 +650,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:653: checking host system type" >&5
+echo "configure:654: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -670,7 +671,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:674: checking target system type" >&5
+echo "configure:675: checking target system type" >&5
 
 target_alias=$target
 case "$target_alias" in
@@ -688,7 +689,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$target" 1>&6
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:692: checking build system type" >&5
+echo "configure:693: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -726,7 +727,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:730: checking for $ac_word" >&5
+echo "configure:731: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -756,7 +757,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:760: checking for $ac_word" >&5
+echo "configure:761: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -807,7 +808,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:811: checking for $ac_word" >&5
+echo "configure:812: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -839,7 +840,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:843: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:844: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -850,12 +851,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 854 "configure"
+#line 855 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -881,12 +882,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:885: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:886: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:890: checking whether we are using GNU C" >&5
+echo "configure:891: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -895,7 +896,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:899: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -914,7 +915,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:918: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:919: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -948,7 +949,7 @@ fi
 # Extract the first word of "$CC", so it can be a program name with args.
 set dummy $CC; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:952: checking for $ac_word" >&5
+echo "configure:953: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -989,7 +990,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:993: checking for $ac_word" >&5
+echo "configure:994: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1021,7 +1022,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1025: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1026: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1032,12 +1033,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1036 "configure"
+#line 1037 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:1041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1063,12 +1064,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1067: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1068: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1072: checking whether we are using GNU C++" >&5
+echo "configure:1073: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1077,7 +1078,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1082: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1096,7 +1097,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1100: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1101: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1131,7 +1132,7 @@ CXXFLAGS="$OLDCXXFLAGS"
 # Extract the first word of "$CXX", so it can be a program name with args.
 set dummy $CXX; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1135: checking for $ac_word" >&5
+echo "configure:1136: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1308,7 +1309,7 @@ if test "$GXX" = yes ; then
       
   case "$GXX_VERSION" in
     egcs1.1 | gcc2.95)
-       CXXFLAGSG="$CXXFLAGSG -DDEBUG -Wmissing-declarations -Wbad-function-cast -Wtraditional -Wnested-externs"
+       CXXFLAGSG="$CXXFLAGSG -Wmissing-declarations -Wbad-function-cast -Wtraditional -Wnested-externs"
        CXXFLAGSO="$CXXFLAGSO -fnonnull-objects"
        ;;
 
@@ -1325,9 +1326,9 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
   CXXFLAGS="$CXXFLAGSG -Werror"
   echo $ac_n "checking for std::advance warning""... $ac_c" 1>&6
-echo "configure:1329: checking for std::advance warning" >&5
+echo "configure:1330: checking for std::advance warning" >&5
   cat > conftest.$ac_ext <<EOF
-#line 1331 "configure"
+#line 1332 "configure"
 #include "confdefs.h"
 
 #include <map>
@@ -1341,7 +1342,7 @@ int main() {
        
 ; return 0; }
 EOF
-if { (eval echo configure:1345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
                  echo "$ac_t""no" 1>&6
@@ -1424,12 +1425,12 @@ fi
 
 if test "$GXX" = yes ; then
   echo $ac_n "checking whether -ggdb works for long symbols""... $ac_c" 1>&6
-echo "configure:1428: checking whether -ggdb works for long symbols" >&5
+echo "configure:1429: checking whether -ggdb works for long symbols" >&5
   case "$target" in
           alpha*-osf*)
          CXXFLAGS="-ggdb $CXXFLAGSG"
          cat > conftest.$ac_ext <<EOF
-#line 1433 "configure"
+#line 1434 "configure"
 #include "confdefs.h"
 
 #include <string>
@@ -1450,7 +1451,7 @@ int main() {
            
 ; return 0; }
 EOF
-if { (eval echo configure:1454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
               CXXFLAGSG="-ggdb $CXXFLAGSG"
@@ -1541,7 +1542,7 @@ if test "$enablemultithreading" = yes ; then
   if test "$GXX" = yes ; then
     
   echo $ac_n "checking for platform specific thread flags""... $ac_c" 1>&6
-echo "configure:1545: checking for platform specific thread flags" >&5
+echo "configure:1546: checking for platform specific thread flags" >&5
   
   for i in threads mt pthread pthreads mthreads Kthread kthread invalid_last_entry; do
     CXXFLAGS="$CXXFLAGSG -$i"
@@ -1577,7 +1578,7 @@ echo "configure:1545: checking for platform specific thread flags" >&5
 
     
   echo $ac_n "checking for platform specific multi-threading defines""... $ac_c" 1>&6
-echo "configure:1581: checking for platform specific multi-threading defines" >&5
+echo "configure:1582: checking for platform specific multi-threading defines" >&5
   ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1586,7 +1587,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
   cat > conftest.$ac_ext <<EOF
-#line 1590 "configure"
+#line 1591 "configure"
 #include "confdefs.h"
 
 #if !defined (_REENTRANT) && !defined (_THREAD_SAFE)
@@ -1600,7 +1601,7 @@ int main() {
    
 ; return 0; }
 EOF
-if { (eval echo configure:1604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
        echo "$ac_t"""not necessary"" 1>&6
@@ -1618,14 +1619,8 @@ fi
 rm -f conftest*
 
 
-    cat >> confdefs.h <<\EOF
-#define __USE_MALLOC 1
-EOF
-
-    cat >> confdefs.h <<\EOF
-#define _REENTRANT 1
-EOF
-
+    CXXFLAGSG="$CXXFLAGSG -D__USE_MALLOC -D_REENTRANT"
+    CXXFLAGSO="$CXXFLAGSO -D__USE_MALLOC -D_REENTRANT"
   else
     if test "x$GXX_VERSION" = "xibm_xlc" ; then
       CXXFLAGSG = "$CXXFLAGSG -threaded"  
@@ -1651,7 +1646,7 @@ fi
 
 if test "$withmultithreading" != no ; then
   echo $ac_n "checking for ACE""... $ac_c" 1>&6
-echo "configure:1655: checking for ACE" >&5
+echo "configure:1650: checking for ACE" >&5
   if test -d "$withmultithreading" ; then
     echo "$ac_t""found" 1>&6
   else
@@ -1672,7 +1667,7 @@ fi
 if test "$enablemultithreading" = yes ; then
   if test "$GXX" = yes ; then
       echo $ac_n "checking whether compilation with ACE disallows flags""... $ac_c" 1>&6
-echo "configure:1676: checking whether compilation with ACE disallows flags" >&5
+echo "configure:1671: checking whether compilation with ACE disallows flags" >&5
   ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1682,7 +1677,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
   CXXFLAGS="-ansi -I$withmultithreading"
   cat > conftest.$ac_ext <<EOF
-#line 1686 "configure"
+#line 1681 "configure"
 #include "confdefs.h"
 
 #  include <ace/Thread_Manager.h>
@@ -1692,7 +1687,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
       deal_II_ace_remove_ansi="no"
@@ -1708,7 +1703,7 @@ fi
 rm -f conftest*
   CXXFLAGS="-pedantic -Werror -I$withmultithreading"
   cat > conftest.$ac_ext <<EOF
-#line 1712 "configure"
+#line 1707 "configure"
 #include "confdefs.h"
 
 #  include <ace/Thread_Manager.h>
@@ -1718,7 +1713,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
       deal_II_ace_remove_pedantic="no"
@@ -1781,18 +1776,23 @@ for i in $disable_compat ; do
 done
 for i in mapping ; do
   uppercase=`echo $i | perl -pi -e 'tr/a-z/A-Z/;'`
-  flag=DEAL_II_COMPAT_$uppercase
   if test -n "`echo $disable_compat | grep $i`"  ; then
-    cat >> confdefs.h <<EOF
-#define $flag false
-EOF
-
+    compat_value=false
   else
-    cat >> confdefs.h <<EOF
-#define $flag true
+    compat_value=true
+  fi
+
+  case $i in
+    mapping)
+       cat >> confdefs.h <<EOF
+#define DEAL_II_COMPAT_MAPPING $compat_value
 EOF
 
-  fi
+       ;;
+    *)
+       { echo "configure: error: Backward compatibility feature "$i" unknown" 1>&2; exit 1; }
+       ;;
+  esac
 done
 
 
@@ -2932,19 +2932,7 @@ fi
 
 trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
 
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
+DEFS=-DHAVE_CONFIG_H
 
 # Without the "./", some shells look in PATH for config.status.
 : ${CONFIG_STATUS=./config.status}
@@ -2981,7 +2969,7 @@ done
 
 ac_given_srcdir=$srcdir
 
-trap 'rm -fr `echo "common/Make.global_options common/Makefile.template doc/Makefile doc/auto/Makefile doc/auto/kdoc/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "common/Make.global_options common/Makefile.template doc/Makefile doc/auto/Makefile doc/auto/kdoc/Makefile base/include/base/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -3147,6 +3135,113 @@ s%@top_srcdir@%$top_srcdir%g
 fi; done
 rm -f conftest.s*
 
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
+ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_uB='\([     ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+  CONFIG_HEADERS="base/include/base/config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    # Remove last slash and all that follows it.  Not all systems have dirname.
+      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+      # The file is in a subdirectory.
+      test ! -d "$ac_dir" && mkdir "$ac_dir"
+    fi
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
index 3adf013f7a04cb71a262a3dcb9714ea333bfea1b..1cc68f7a7726f18144c5db9bcf8843978571c44f 100644 (file)
@@ -14,6 +14,7 @@
 /*-------------------------   dof_iterator.h     ------------------------*/
 
 
+#include <base/config.h>
 #include <grid/tria_accessor.h>
 #include <vector>
 
index eb578248096d4ca8b0e6f2377ffea0307ae11d6d..3de2e632a738a1ec31b75fb5356afb16fe20c2cc 100644 (file)
@@ -11,6 +11,7 @@
 #define __deal2__dof_accessor_templates_h
 
 
+#include <base/config.h>
 #include <dofs/dof_accessor.h>
 #include <dofs/dof_handler.h>
 #include <dofs/dof_levels.h>
index 39bf590468884ab73418bc4e9a5167f5a8ce655e..239af86bf9ded7bd6300838dfcae536cb3bef234 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__dof_constraints_h
 
 
+#include <base/config.h>
 #include <vector>
 #include <utility>
 #include <base/exceptions.h>
index 1c04921780f343db38df172729afd9cefdc1b357..05f2e623a427ec7c20879b9a7c11af9820664529 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__dof_constraints_templates_h
 
 
+#include <base/config.h>
 #include <dofs/dof_constraints.h>
 
 
index 27023c4646583df02b0f28566cf1a91321dec831..23c249009c9a2c36afae2f2d6dc1bafa69a17014 100644 (file)
@@ -11,6 +11,7 @@
 
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/smartpointer.h>
 #include <dofs/function_map.h>
index ce0fd43a79abb78495aeafb564a8f23209fb2c36..3a1b6ed62d7ed68a553ae64143ffa9afe73a79c2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__dof_levels_h
 
 
+#include <base/config.h>
 #include <vector>
 
 
index 16139048771b067254e5f285923214deb6330093..749a1d3b7674b812953b03212181737eed175837 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__dof_tools_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <dofs/function_map.h>
 
@@ -683,6 +684,24 @@ class DoFTools
     extract_hanging_node_dofs (const DoFHandler<3> &dof_handler,
                               std::vector<bool>   &selected_dofs);
 
+                                    /**
+                                     * Flag all those degrees of
+                                     * freedom which are on cells
+                                     * with the given subdomain
+                                     * id. Note that DoFs on faces
+                                     * can belong to cells with
+                                     * differing subdomain ids, so
+                                     * the sets of flagged degrees of
+                                     * freedom are not mutually
+                                     * exclusive for different
+                                     * subdomain ids.
+                                     */
+    template <int dim>
+    static void
+    extract_subdomain_dofs (const DoFHandler<dim> &dof_handler,
+                           const unsigned int     subdomain_id,
+                           std::vector<bool>     &selected_dofs);
+    
                                     /**
                                      * Count how many degrees of
                                      * freedom out of the total
index ca6322cc1e2609922ed20b1f6f91d0a9ed7d1ee2..6958fa6156925f8bb0dfadcf0cf1190ba5f463fa 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__function_map_h
 #define __deal2__function_map_h
 
+#include <base/config.h>
 #include <map>
 
 template <int dim> class Function;
index ecfbc594dbcfe287cbb894e1c8f835e12ff14952..224ad33bc1eb4f1bd052d9e5cfccab20f3833aad 100644 (file)
@@ -14,6 +14,7 @@
 #ifndef __deal2__fe_h
 #define __deal2__fe_h
 
+#include <base/config.h>
 #include <fe/fe_base.h>
 #include <dofs/dof_handler.h>
 
index 7ab8e034d1241ed08c9cb8e2ef8a48a58525989e..af9b276b9b026488e7f624d4820ecb5693c9f5b3 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__fe_base_h
 #define __deal2__fe_base_h
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/point.h>
index 6d27189e99367cfb42e51b0d79887bc80a438c33..a1643fca7c56953e05093a5d9813e5230c315a86 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__fe_dgq_h
 #define __deal2__fe_dgq_h
 
+#include <base/config.h>
 #include <base/polynomial.h>
 #include <fe/fe.h>
 
index e5c219518c498347204a3fdfdceeeee11df64ffa..fad7734695152e0b1875b2037f485621a172196e 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__fe_lib_dg_h
 
 
+#include <base/config.h>
 #include<fe/fe_dgq.h>
 
 
index 2c33acc3abc7e2bf419f025fcc218c11dd75fa7a..3fd6b1173671381286465e6c19f2a2dd40ad7dd1 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__fe_lib_lagrange_h
 
 
+#include <base/config.h>
 #include<fe/fe_q.h>
 
 
index 107d2462206f071215868698d5e55e05f89117c7..4fddd9ca733921afad84c6d04d49c2aec0347ff4 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__fe_q_h
 #define __deal2__fe_q_h
 
+#include <base/config.h>
 #include <base/polynomial.h>
 #include <fe/fe.h>
 
index b92787b70970310026d44f961266700bdd5edc4f..36cd73799a068db8dc864ec131db6acb567ca7e7 100644 (file)
@@ -17,6 +17,7 @@
 /*----------------------------   fe_system.h     ---------------------------*/
 
 
+#include <base/config.h>
 #include <fe/fe.h>
 #include <vector>
 #include <utility>
index b063585bf9c0c630459518db9464a3aff5874367..af77986a9ef5629ebf25db7c79848f3aef7e128f 100644 (file)
@@ -21,6 +21,7 @@ template <int dim> class DoFHandler;
 template <typename number> class Vector;
 template <int dim> class FE_Q;
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 /**
index 3d2adcb31f8de09ed4b515423d6a914a20f0b8f4..51e4ffca098e19344f3d48351a136f901c93134e 100644 (file)
@@ -14,6 +14,8 @@
 #define __deal2__fe_update_flags_h
 
 
+#include <base/config.h>
+
 
 /**
  * Provide a set of flags which tells the @p{FEValues<>::reinit}
index b86f235415abee20b96ae87ef3999a3e49153844..22f4e4a13db8456e70a5fe16925a7cf0c79bec79 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__fe_values_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/point.h>
index b79cc74587b2229be06f5b56206f0aac5349554a..8b2f644df32011ed50e77f08aa9014918b9417e8 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mapping_h
 
 
+#include <base/config.h>
 #include <cmath>
 #include <base/point.h>
 #include <base/subscriptor.h>
index a22950217cdbd98497196fd44a0481e251825ab9..4c6e7c1f1dd3ad40441576b4c52f06f07a3ab047 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mapping_c1_h
 
 
+#include <base/config.h>
 #include <fe/mapping_q.h>
 
 
index 1f56596e4e1a5a9791118dcc53fc18f04cc299b1..0b8e59702b8494fca212f72e57499379bdbcadd2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mapping_cartesian_h
 
 
+#include <base/config.h>
 #include <cmath>
 #include <fe/mapping.h>
 
index 0a8d3c7786022c8d3601e48f5b301535a7486d28..26228ed5674d14545028609905714e37eb1538f2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mapping_q_h
 
 
+#include <base/config.h>
 #include <fe/mapping_q1.h>
 
 
index d33b4b24d32eaee4bde95e9d70363d29c1017152..6768062328c61d4219b819806910b7590bbcfb1b 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mapping_q1_h
 
 
+#include <base/config.h>
 #include <cmath>
 #include <fe/mapping.h>
 
index d57a5cb52c2fd295216d6885ef9599376968ec15..bd9f51c31e8b6df09792858575ae5233d69fa2ea 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__mapping_q1_eulerian_h
 #define __deal2__mapping_q1_eulerian_h
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <fe/mapping_q1.h> 
 
index 6873b9241a216fb36f96adb57fa7f985eef24f0a..5b39a8f4d2662039881cc17148b987f636c07d90 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__geometry_info_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 
index ed134402b1e4e899a30de5c6cf8d923879a08115..1b010905c5a6379ef2df3bdb22aad06c7525168f 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__grid_generator_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <map>
 
index fa1d7a26d533b3b8b2e8d0cea7fd36c78901b2e1..60310a11908eac4831ee0243d8f2752dba07423d 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__grid_in_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/smartpointer.h>
 #include <iostream>
index 0bf691fd16a44acd20c612ac79bc6104f3637594..e98fab327e25d319d627d859df345ab73273490c 100644 (file)
@@ -15,6 +15,7 @@
 
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <string>
 
index e4c455ecf93a4a0a19cab62642db791d319c68a7..3c5a458f50d6c05247f415dbb655689b893c0955 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__grid_refinement_h
 
 
+#include <base/config.h>
 #include <lac/vector.h>
 #include <vector>
 
index 4dcfc1d7863236de13ab4c6941d81bfeb7370658..83bd9b1abb31f3766ac3bbf91055b0006304d9a5 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__grid_reordering_h
 
 
+#include <base/config.h>
 #include <map>
 #include <vector>
 #include <grid/tria.h>
index 9d5912d9e3f06ca1ba5331d328d68dd9ee7cbe36..68b358c932d296c8404ec1fc164f2068a5985307 100644 (file)
@@ -14,6 +14,8 @@
 #define __deal2__grid_tools_H
 
 
+#include <base/config.h>
+
 template <int dim> class Triangulation;
 
 
index 940b56ba4bc49440e018e8691dab7de8c85997b4..7e09bdfc4585ef1fa8a086c6359f015616528b5a 100644 (file)
@@ -9,6 +9,7 @@
 #ifndef __deal2__intergrid_map_h
 #define __deal2__intergrid_map_h
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <dofs/dof_accessor.h>
 #include <grid/tria_accessor.h>
index 4072f4ec15fd9f51bd21a56bd5f89fe6bfc53aee..c6fbbd1c5b39369380dbc11208cfc474ae997e12 100644 (file)
@@ -13,6 +13,8 @@
 #ifndef __deal2__magic_numbers_h
 #define __deal2__magic_numbers_h
 
+#include <base/config.h>
+
 
 // This is a list of magic numbers used throughout the library.
 // They are collected in one file to avoid double usage.
index 5163af9aaf2616f7426b7b20b0a7851f22bba0f8..857a0abc6829b017c598e5f22a2a7a6cd6af34bf 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__persistent_tria_h
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <grid/tria.h>
 #include <vector>
index db7c0edaad30725518ee2521cbddd12f8e4ba337..7529346163e016a62f16b6e9e3c3e96ab8f47e76 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__tria_h
 
 
+#include <base/config.h>
 #include <vector>
 #include <base/point.h>
 #include <grid/geometry_info.h>
index 94ee043e2661c81d9e527b62ed56e0b660dbcad3..c606e7394e68acb1144b28f2b48200e23b6d8e8b 100644 (file)
@@ -16,6 +16,7 @@
 
 /*----------------------------   boundary-function.h     ---------------------------*/
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/point.h>
 #include <grid/tria.h>
index 8e6528ee22a1990bfa75d6a3e888e3be606f1d98..68ea8c8100ea261d9482fab5999b2ec23444a0f7 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tria_boundary_lib_h
 
 
+#include <base/config.h>
 #include <grid/tria_boundary.h>
 
 
index df8e4fbe25afedc55247188929e427338af72081..655b81a3c9ea796ee1eec4d664ce9f4f84c05009 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tria_hex_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 /**
index 7bbef5711998ef7bca7b6ad41e18f33f96f4cb72..3927c7c87d533a9cf95a0a626c30b6e7207fe49d 100644 (file)
@@ -14,6 +14,7 @@
 
 
 //TODO:[WB] (compiler) Change <iostream> to <ostream> when that becomes available
+#include <base/config.h>
 #include <iterator>
 #include <iostream>
 #include <base/exceptions.h>
index cd752a52eb8cb1ce66986163ecd38c0d018bbec4..8cc96dc57505b665333d88d57c1e00478d093257 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tria_iterator_templates_h
 
 
+#include <base/config.h>
 #include <grid/tria.h>
 #include <grid/tria_iterator.h>
 
index 57fb4556d66f6c6a526642c14a18df98ad426619..89af62eea3d6ef0886271d690790d2937a787d1e 100644 (file)
 #define __deal2__tria_iterator_base_h
 
 
+#include <base/config.h>
+
 /**
  *   The three states an iterator can be in: valid, past-the-end and
  *   invalid.
  */
-enum IteratorState {
+enum IteratorState
+{
       valid,
       past_the_end,
       invalid
index b83c1c2e3449b21d740b483574a74c4457bdc41b..f1d8d791aa57f250b8017be0a177df43a8ef44ff 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tria_line_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 
index 50760367af7c69b923a760eac8a4406e05810bfc..5c3e210eb1327495e6868d51a9455a0a7a3ed4a2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__tria_quad_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 
index 8aac2947c5e075ea7c67a9cd214cdb0a1c05372a..3c99b73188e49a9bc9e24326f7f2a2f89c980695 100644 (file)
@@ -13,6 +13,7 @@
 /*----------------------------   mgbase.h     ---------------------------*/
 
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
 #include <lac/vector.h>
index 3889b16f3a9e09ea1c2d5cbde7bb84693badc1a7..606986a5714ae636cb3ce6c9eab9c55bd1796553 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mg_dof_accessor_h
 
 
+#include <base/config.h>
 #include <dofs/dof_accessor.h>
 
 template <int dim> class MGDoFHandler;
index 4b58383f4721d23ec265591ad93ba30dfc0a711e..56442cfb6571910aa53a4d7e691a7c649af27fc1 100644 (file)
@@ -13,6 +13,7 @@
 /*----------------------------   mg_dof.h     ---------------------------*/
 
 
+#include <base/config.h>
 #include <dofs/dof_handler.h>
 
 template <int dim> class MGDoFCellAccessor;
index 6ee49819d3cf5f3fc4a51f436f4be1815260ec35..561874100b80fb2571e813fdb746120cd7e06160 100644 (file)
@@ -14,6 +14,8 @@
 #define __deal2__mg_dof_tools_h
 
 
+#include <base/config.h>
+
 
 /**
  * This is a collection of functions operating on, and manipulating
index 318c0ee89b3b48866847da09e8520036475b60f1..715e0e35f139d78cf447d6969c9727420e7b672f 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__mg_smoother_h
 
 
+#include <base/config.h>
 #include <lac/forward_declarations.h>
 #include <multigrid/mg_base.h>
 #include <base/smartpointer.h>
index e5dc0ff3b9597e91a130c8a145264375e1eb7e66..02acbd1cf254edfe62579055e61dbfb08bd42c7e 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__multigrid_h
 
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
 #include <lac/sparse_matrix.h>
index 47a8b04f46c4f3ca9d87b6c655e5ce05d1186a9c..d74caa2e80f25932feb49710c0cbc474a64d1614 100644 (file)
@@ -11,6 +11,7 @@
 
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <base/multithread_info.h>
 #include <base/data_out_base.h>
index 88975cf5cd252d4ec662eefdf632c150edd60625..d55e671ad02cc1dd18e17bc7411b71a587cfd3ce 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__data_out_faces_h
 
 
+#include <base/config.h>
 #include <numerics/data_out.h>
 
 #include <string>
index a81605f1cdb0e420c3591153c80b1000aa4455cc..c7607be2f0dcce16aa1d99a5e6ec448762c40b22 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__data_out_rotation_h
 
 
+#include <base/config.h>
 #include <numerics/data_out.h>
 
 #include <string>
index 9c05647d6a3cddb4101613f1adcb868e459d7ff1..a49ba483c2e43cf8c743d3caafa2bcb6b0ed4379 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__data_out_stack_h
 
 
+#include <base/config.h>
 #include <base/data_out_base.h>
 #include <base/smartpointer.h>
 #include <lac/vector.h>
index d1ab426f8159c8a6022e2cbd90281d8ffb304d6c..b221ded57b7aa56c0eac5017fc4aa07ada052134 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__gradient_estimator_h
 
 //TODO: Remove dependency on forward-declarations
+#include <base/config.h>
 #include <lac/forward_declarations.h>
 #include <grid/forward_declarations.h>
 #include <base/exceptions.h>
index 8d8dfa986d270f9c4027674585cc5a31f0f79548..516ad90db737de3ba9add9aa6206474f7f0c277d 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__dof_print_solver_step_h
 #define __deal2__dof_print_solver_step_h
 
+#include <base/config.h>
 #include <base/logstream.h>
 #include <numerics/data_out.h>
 
index b29d2466f0d660d0bb39fb97071562a5afe73041..f47e9751780f6013e3f1aacd9d268b97d8ca6468 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__dof_renumbering_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 
 
index 90e5fd6994957b3ee83c4377066eea2bc6a6a653..ac02bbfef69216063bd991f963cdbddb87122d7e 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__error_estimator_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/function.h>
 #include <base/multithread_info.h>
index a1fd3d999dcdc0c6df3717307dcef62fd7c3fe74..a187cf827ad69a6d0db4d9466a4ac1fd33b7c53b 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__histogram_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <lac/forward_declarations.h>
 #include <vector>
index a1c942b18adf5e6eff3c84d13188a2b92b339637..1b8fb351a1ca187336dbf195141671163aeca663 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__matrices_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/thread_management.h>
 #include <dofs/function_map.h>
index 661a37eaca60361ad474e6caf69b1af50a1ecc75..7b73322bd808b5dad70fb97ed98ddfb8b73ec4c9 100644 (file)
@@ -13,6 +13,7 @@
 /*----------------------------   solutiontransfer.h     ----------------------*/
 
 
+#include <base/config.h>
 #include <lac/forward_declarations.h>
 #include <grid/forward_declarations.h>
 
index 95ebbaceb258c5af834da5664ad4ce71290de38f..806e82ccba1c1e444557a13eb188fd657048f824 100644 (file)
@@ -17,6 +17,7 @@
 /*----------------------------   time-dependent.h     ---------------------------*/
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
index 64401c6164ff8358cbaf4d9eee4497a2d0a32e9b..ad684a8d3e0f7d70d80d7f62fcf693e8de313037 100644 (file)
@@ -10,6 +10,7 @@
 #define __deal2__vectors_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <dofs/function_map.h>
 #include <map>
index 0c14ebcb77cfea4c18b896a35ff5658db123cbb7..6876c3da255d273a95ccea17589d4e0c0aa15895 100644 (file)
@@ -26,6 +26,15 @@ documentation, etc</a>.
 <h3>General</h3>
 
 <ol>
+  <li> <p>
+       New: <acronym>deal.II</acronym> now uses a file
+       <code>config.h</code> for most global preprocessor defines,
+       instead of an overly long list of compiler flags given on the
+       command line.
+       <br>
+       (WB 2001/10/27)
+       </p>
+
   <li> <p>
        Changed: If available, the library now uses the C++ standard
        classes <code class="class">istringstream</code> and <code
@@ -111,6 +120,27 @@ documentation, etc</a>.
 <h3>deal.II</h3>
 
 <ol>
+  <li> <p>
+       New: <code>DoFTools::extract_subdomain_dofs</code> selects
+       those degrees of freedom which are located on cells with a
+       specified subdomain id.
+       <br>
+       (WB 2001/10/27)
+       </p>
+
+  <li> <p>
+       New: Cells now have an additional property
+       <em>subdomain_id</em> which can be used in parallel
+       computations to identify which cells are handled on which
+       processor. These flags are read and set using the functions
+       <code>cell->subdomain_id()</code> and
+       <code>cell->set_subdomain_id(new_id)</code>. The subdomain ids
+       are unsigned integers, so should be sufficiently large also for
+       larger numbers of subdomains.
+       <br>
+       (WB 2001/10/27)
+       </p>
+
   <li> <p>
        Fixed: the <code
        class="member">GridGenerator::hyper_rectangle</code> function
index ffda2c5b57cf1ce8dc668d1108bc6f3dd322e080..238c483c228f8bef1dcb0c7ae453e880e24be3eb 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_indices_h
 
 
+#include <base/config.h>
 #include <vector>
 
 
index 651a813fb667dbf93ac57dcd7b48fdffe06f1b76..03532b89f6353cf0a5e7197c825581a1b23c9edf 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_matrix_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/smartpointer.h>
 #include <lac/block_vector.h>
index cc695a6defee367e63981f0ae105f9db5e99f5a6..8ad7c822c12c218eb22eea9557daedd0c3f63fa0 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__block_matrix_array_h
 #define __deal2__block_matrix_array_h
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
 #include <vector>
index 98cc8987aadb862038eb063226389739d0cd6b75..444d1977bc5e8ad84daf036dda5303b5ee034892 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_sparse_matrix_h
 
 
+#include <base/config.h>
 #include <lac/sparse_matrix.h>
 #include <lac/block_sparsity_pattern.h>
 #include <cmath>
index 2c0daefb76afdc8f10645785a1579eb678178b53..fae630777d4e998e3ba3ecc7059bc45b5e40349a 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_sparse_matrix_templates_h
 
 
+#include <base/config.h>
 #include <base/memory_consumption.h>
 #include <lac/block_sparse_matrix.h>
 
index a7715bb98718df09df9ca8d62370eb95a9b8f5b9..cf565df834e8c0df20a8afd9ba211bf02905d602 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_sparsity_pattern_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
index 8097e63c2c2274b2cb58b16b0f6cc1ba76615e03..5aeff86099ed43042900d54218645add6c73db3d 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_vector_h
 
 
+#include <base/config.h>
 #include <lac/vector.h>
 #include <lac/block_indices.h>
 #include <base/exceptions.h>
index 897daf363d9e387d1f0d0de6e5bba91a1eafb127..59d31a3a93e8565b2b31a621f8e17bd547e9bbac 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__block_vector_templates_h
 
 
+#include <base/config.h>
 #include <base/memory_consumption.h>
 #include <lac/block_vector.h>
 #include <cmath>
index c5212885e5ac5a916380f7eabc3c44dfc6e24c79..38d3ea84bd56eac9326ecd0036beae75a9b98506 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__compressed_sparsity_pattern_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 
index 70226f8aee528f4fe607feac7730054f09dab146..a25b08a7e6e1dad53897a1a8b74c2065fbeeba8f 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__eigen_h
 
 
+#include <base/config.h>
 #include <lac/shifted_matrix.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
index 03f4287ff7252ae3983d4341018d81e28731fc2c..82a77c9843709d4e9f7249f3c895942caf6dd23a 100644 (file)
@@ -15,6 +15,7 @@
 
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <base/thread_management.h>
 #include <vector>
index f24a79bda17e6353ec88860d6cd234a3e374236c..d26f3b59f3fe6cc8caffbd26e497c65102ce31a2 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__filtered_matrix_templates_h
 
 
+#include <base/config.h>
 #include <base/memory_consumption.h>
 #include <lac/filtered_matrix.h>
 #include <lac/sparse_matrix.h>
index f1b0b0627b7a475cf31b0cc5c0123d58f6eba617..0dc593093b3f90b46596f970d666f2dc2f7de5a3 100644 (file)
@@ -16,6 +16,7 @@
 
 /*----------------------------   fullmatrix.h     ---------------------------*/
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/vector2d.h>
 
index 0fd628dad934ad07572b6189110610c401d6f3fe..9d858a27278240e5d042e637cc7a280ac9809975 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__full_matrix_templates_h
 
 
+#include <base/config.h>
 #include <lac/vector.h>
 #include <lac/full_matrix.h>
 
index 910e12289d4685abb3375027c29fd688947fdb27..add8926ba4090f901da5d4086477977c008a85a2 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__matrix_out_h
 #define __deal2__matrix_out_h
 
+#include <base/config.h>
 #include <base/data_out_base.h>
 #include <lac/sparse_matrix.h>
 #include <lac/block_sparse_matrix.h>
index 966cd0b9720e7cb7fb479eb7aa97383cd32c78cf..437cc94781c514a20afdf416420d68252da5c192 100644 (file)
@@ -15,6 +15,7 @@
 
 // This file contains simple preconditioners.
 
+#include <base/config.h>
 #include <lac/vector_memory.h>
 #include <base/smartpointer.h>
 
index f2ce8a7b659ffb4637c7d23d81220aa865a32747..9eb3903c0ac01814c555c17ab64f3cadcf6aa6bd 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__precondition_block_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
index b7d9b53a74273ae3c76665e94dae1c587a321bce..4e0259a719d464e603c7364a7fd9801a61f9afe0 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__precondition_block_templates_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/logstream.h>
 #include <base/memory_consumption.h>
index 8eb93c492e55b8cf82f5d61f98148458d0d40a13..e0d10875dab18256d8abd60083ec3b611a80e3c9 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__precondition_selector_h
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <string>
 
index 3a7255e9161903424096cd5b8e51cd8da74641d9..f9dd12e710c6b35affcdda42182e975a404c8252 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__schur_matrix_h
 #define __deal2__schur_matrix_h
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
 #include <base/logstream.h>
index 72a9c78d7a0725175253374ec2204c10fccd79fd..d9705a623c1ca8d06acfef4b3bc3e64dbc9b14e1 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__shifted_matrix_h
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 
 /**
index 0caecaf5a03daa95511eabd334f37c5f5b11ff71..63325a57e0e7f09196e8f1a67c02656661da933f 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__solver_h
 #define __deal2__solver_h
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 
 template <typename number> class Vector;
index 4bb43692790f1198ff8eccde817575b93eb73272..fbe4991e17c59ec3f528342c4727f38e54cbc893 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__solver_bicgstab_h
 
 
+#include <base/config.h>
 #include <base/logstream.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
index dec580ab28b848bc1e73e09a110067ea885b04f5..48d5e08f254cc7063f77d2f3e13c39773eeb73a9 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__solver_cg_h
 
 
+#include <base/config.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
 #include <base/exceptions.h>
index d2704dcf443d87fa6fe65603a96ae82e6fd98673..2af9110d1b3f51db5065c49150caf37d25cbefc1 100644 (file)
@@ -14,7 +14,9 @@
 #define __deal2__solver_control_h
 
 
+#include <base/config.h>
 #include <base/subscriptor.h>
+
 class ParameterHandler;
 
 
index 48035f78b3a4a30cb1952c9f7aa2d320eabda409..8c78df9250e30b5293c375497a1e3c886d757790 100644 (file)
@@ -16,6 +16,7 @@
 
 /*----------------------------   solver_pgmres.h     ---------------------------*/
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/logstream.h>
 #include <lac/solver.h>
index 0f3438863dd26f0b44afc152e4196040794a200f..290ba763ac6e14b03fe010880021409c4fbb5e83 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__solver_minres_h
 
 
+#include <base/config.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
 #include <base/logstream.h>
index 3addda0019c84954825372942ce731f8db92cdc9..efb8174223104970ef9d48da4708045c976993ba 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef __deal2__solver_qmrs_h
 #define __deal2__solver_qmrs_h
 
+#include <base/config.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
 #include <base/logstream.h>
index e892d72175aac37ea45ca47e9e6887b0c86cafcd..7a825b8078ce9f340f6238b5e0e08824b0122642 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__solver_richardson_h
 
 
+#include <base/config.h>
 #include <lac/solver.h>
 #include <lac/solver_control.h>
 #include <base/subscriptor.h>
index 268c441e942dccf758e83b02f4e2a328e970719c..b32cd1ff1a749c0ce38f8f0d6c1a5a091174eb66 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__solver_selector_h
 
 
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <lac/solver.h>
 #include <lac/vector.h>
index b62a2a20ae5f2aeb02552dcf16045e236eac156c..1d459d9934ba24e09a4d4bd36155187a1532e1d8 100644 (file)
@@ -15,6 +15,7 @@
 
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <lac/vector.h>
index b568c769da0a8ef5acff3dca1256d25282f1766d..d21549135b0be4023b4a4517460c549e68d91498 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__sparse_ilu_h
 
 
+#include <base/config.h>
 #include <lac/sparse_matrix.h>
 
 
index e356222bf5a557c5c1efcc1ca521f49010ba9995..2b500ff082b62b5c052629ba13367de10b38c1f8 100644 (file)
@@ -15,6 +15,7 @@
 
 
 
+#include <base/config.h>
 #include <lac/vector.h>
 #include <lac/sparse_ilu.h>
 
index 09d903db841b6e2d95c109e4ee07d7b7041f892c..c732d85e0075e2f213fc01095a1a676c47ae89f8 100644 (file)
@@ -14,9 +14,7 @@
 #define __deal2__sparse_matrix_h
 
 
-/*----------------------------   sparse_matrix.h     ---------------------------*/
-
-
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 #include <base/smartpointer.h>
index 57a9e517a4a08f04cf2bf976686ce818ec7375d4..dcd3f926ed99ef095451402012410e67015e251e 100644 (file)
@@ -15,7 +15,7 @@
 
 
 
-
+#include <base/config.h>
 #include <base/smartpointer.h>
 #include <base/multithread_info.h>
 
index 7643878babe769f32f6ff5dbb57bf2b188253b6e..ad920f66b9ed7e010dd442e4038ef7e37c624368 100644 (file)
 #define __deal2__sparsity_pattern_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
 #include <base/subscriptor.h>
 
+#include <vector>
+
+
 template <typename number> class SparseMatrix;
 class CompressedSparsityPattern;
 
-#include <vector>
-#include <iterator>
 
 
 /**
index 540a2f408cc280610118062e9df27fdd2d08947a..82c3e0fdab28b1c23ce79bcc4636b062a3c8f361 100644 (file)
@@ -14,8 +14,9 @@
 #define __deal2__swappable_vector_h
 
 
-#include <lac/vector.h>
+#include <base/config.h>
 #include <base/thread_management.h>
+#include <lac/vector.h>
 #include <string>
 
 
index bc5305d9b027a156376727cb58a7c6398e61b582..e4513eb27ed8166c4c3040f8bd6773189809c583 100644 (file)
@@ -14,7 +14,9 @@
 #define __deal2__vector_h
 
 
+#include <base/config.h>
 #include <base/exceptions.h>
+
 #include <cstdio>
 
 
index f86834987897d562f79c7b97dd5e67ec61b9c3f5..4ad9abee6de2ef107060690fe5cbf7c65967b600 100644 (file)
@@ -14,6 +14,7 @@
 #define __deal2__vector_memory_h
 
 
+#include <base/config.h>
 #include <base/subscriptor.h>
 #include <base/logstream.h>
 #include <base/thread_management.h>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.