Skip to content
Snippets Groups Projects
Forked from Core Modules / dune-common
4855 commits behind the upstream repository.
user avatar
Oliver Sander authored
This patch adds the new command "vcsetup" to dunecontrol. This command
is intended to perform various setup actions on a module that has been
checked out from a version control system.

For now, the command

- installs the whitespace hook bin/git-whitespace-hook as a Git pre-commit hook
  if all of the following conditions are met:
  - the current module is a Git repository
  - the dune.module file contains the line "Whitespace-Hook: Yes"
  - there is no existing pre-commit hook that would be overwritten
  The script detects older versions of the whitespace hook and updates them
  if necessary.

- applies Git configuration settings from the file .vcsetup/config.
  The contents of the file is simply fed to "git config" line by line. That
  way, Git configuration keys can be set by simply adding a line of the form
  "key value". Lines starting with "#" are filtered out and can thus be used
  for comments.

- runs all executable files in the directory .vcsetup/run.d
  This can be used for more elaborate setups. Note that these scripts are run
  if any of the following files/directories are found: .git .svn CVS stamp-vc

[[Imported from SVN: r7467]]
7d9b3547
History
DUNE-library
============

DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
for solving partial differential equations with grid-based methods.

The main intention is to create slim interfaces allowing an efficient use of
legacy and/or new libraries. Using C++ techniques DUNE allows to use very
different implementation of the same concept (i.e. grid, solver, ...) under
a common interface with a very low overhead.

DUNE was designed with flexibility in mind. It supports easy discretization
using methods, like Finite Elements, Finite Volume and also Finite
Differences. Through separation of data structures DUNE allows fast Linear
Algebra like provided in the ISTL module, or usage of external libraries
like blas.

This package contains the basic DUNE common classes.

Dependencies
------------

dune-common depends on the following software packages

- pkg-config
- icc (C/C++) >= 7.0 or GNU C, C++ >=3.4

The following software is recommend but optional:

- MPI (either OpenMPI, lam, or mpich suffice)

For a full explanation of the DUNE installation process please read
the installation notes [0]. The following introduction is meant for
the impatient.

License
-------

The DUNE-library and headers are licensed under version 2 of the GNU
General Public License, with the so-called "runtime exception", as
follows:

   As a special exception, you may use the DUNE source files as part
   of a software library or application without restriction.
   Specifically, if other files instantiate templates or use macros or
   inline functions from one or more of the DUNE source files, or you
   compile one or more of the DUNE source files and link them with
   other files to produce an executable, this does not by itself cause
   the resulting executable to be covered by the GNU General Public
   License.  This exception does not however invalidate any other
   reasons why the executable file might be covered by the GNU General
   Public License.

This licence clones the one of the libstc++ library. For further
implications of this library please see their licence page [3]

See the file COPYING for full copying permissions.

Installation
------------

Short installation instructions can be found in file INSTALL. For the
full instructions please see [0].

Links
-----

0. http://www.dune-project.org/doc/installation-notes.html
1. http://www.dune-project.org/download.html
2. http://dune-project.org/doc/buildsystem/buildsystem.pdf
3. http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license