+ This page describes how to write packaging scripts
+ for deal.II. deal.II is written in
+ C++11 and is known to work with fairly recent GCC, Clang, and Intel
+ compilers. It is licensed under the LGPL v2.1. We recommend reading
+ the porting document first for
+ a description of the requirements of the build
+ system. deal.II does not support any type of plug-in
+ architecture for dependencies: all dependencies must be provided at
+ compile-time.
+
+ The only required dependency of deal.II is boost.
+
+
+
+
Examples
+ deal.II is already available in many Linux distributions:
+ for example packaging scripts see, e.g.,
+
+ deal.II defaults to installing several
+ configuration files
+ (LICENSE.md, README.md, detailed.log,
+ and summary.log) in the installation prefix. We recommend
+ deleting these files. LICENSE.md should be installed in the
+ correct directory for software licenses.
+
+
+ By default, all examples are compiled in both debug and release mode and
+ installed in the bin subdirectory of the installation
+ prefix. We recommend disabling the examples by configuring with
+ the -DDEAL_II_COMPILE_EXAMPLES=OFF option.
+
+
+ The CMake configuration of deal.II will determine
+ what compiler is being used and pick reasonable optimization and
+ debugging flags automatically. Further flags for debug and release mode
+ may be supplied by DEAL_II_CXX_FLAGS_DEBUG
+ and DEAL_II_CXX_FLAGS_RELEASE variables passed to CMake,
+ respectively.
+
+
+ The flag DEAL_II_ALLOW_PLATFORM_INTROSPECTION (disabled by
+ default) enables (as the name implies) CPU-specific issues (usually for
+ vectorization).
+
+
+ The flag DEAL_II_WITH_64BIT_INDICES changes an integral type
+ used for indices in the library. This value should be made consistent
+ with the way PETSc is configured.
+
+
+ deal.II includes copies of boost, muParser, TBB, and
+ UMFPACK. These bundled packages should be disabled
+ via -DDEAL_II_ALLOW_BUNDLED=OFF.
+
+
+ Underlinkage with GSL may cause problems, depending on how GSL is set up.
+