diff --git a/doc/contrib-software.wml b/doc/contrib-software.wml new file mode 100644 index 0000000000000000000000000000000000000000..db6fcd4ec6a24195a94b7edabfc03ac4051212b9 --- /dev/null +++ b/doc/contrib-software.wml @@ -0,0 +1,297 @@ +# -*- html -*- +# $Id$ + +#use wml::layout::default title="DUNE - Installation Notes" + +<h1>Installation Notes</h1> + +<h2>Grids with Dune support</h2> +<p> +The following external grids support the DUNE Grid interface: +<p> +<table> +<tbody> +<tr><td>ALBERTA</td><td>1.2</td><td><a href="http://www.alberta-fem.de/">http://www.alberta-fem.de/</a></td></tr> +<tr><td>ALUGrid</td><td>0.4</td><td><a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/</a></td></tr> +<tr><td>UG (non-free licence)</td><td></td><td><a href="http://sit.iwr.uni-heidelberg.de/~ug/">http://sit.iwr.uni-heidelberg.de/~ug/</a></td></tr> +</tbody> +</table> +<p> +Within the DUNE source tree OneDGrid, SGrid and YaspGrid are +available. +</p> + +<h2>External Packages needed by the Grids</h2> + +<h3>ALBERTA Grid</h3> +<p> +The following packages are mandatory to compile ALBERTA: +</p> +<dl> +<dt>Fortran 77</dt><dd>compiler, e. g. g77</dd> +<dt>OpenGL</dt><dd> A free implementation is available from + <a href="http://www.mesa3d.org/">http://www.mesa3d.org/</a></dd> +<dt>BLAS</dt><dd><p>"Basic Linear Algebra Subprograms"</p> +<p> + This often comes as a package with Linux (for Debian sarge it + is called atlas3 and has to be installed together with the + header package atlas3-headers). +</p><p> + If it does not come with your distribution you can get it from + http://math-atlas.sourceforge.net +</p></dd> +</dl> +<p> +For optional packages see the README file of ALBERTA +</p> + +<h3>ALUGrid</h3> +<p> +There are no mandatory packages for ALUGrid. +</p><p> +For optional packages see the README file of ALUGRID. +</p> +<h3>UGGrid</h3> +<p> +There are no mandatory packages for UGGrid. +</p> +<p> +You can (but you don't have to) create UGGrid objects from AmiraMesh files. +For this you'll need the <a href="http://www.amiravis.com/resources/Ext411-01-libamiramesh/index.html">AmiraMesh</a> library. +</p> + +<h2>Compilation and Installation of the External Grids</h2> + +<h3>ALBERTA</h3> +<ol> +<li>Download at least version 1.2 of ALBERTA from the ALBERTA homepage + <a href="http://www.alberta-fem.de">http://www.alberta-fem.de</a> </li> + +<li><p>Unpack it in a directory</p> + <kbd>tar xzf alberta-1.2.tar.gz</kbd> + <p>and move to that directory</p> + <kbd>cd alberta-1.2</kbd> +</li> +<li><p>Configure ALBERTA, e. g.</p> + <kbd> ./configure --prefix=/directory/to/install/alberta/to \\ + --with-blas-name=blas-3 --disable-shared \\ + CXX=g++-3.4 CC=gcc-3.4 +</kbd> +<p> + With --prefix the absolute path of the directory we install to has + to given, --with-blas-name we tell configure the name of our BLAS + library. +</p><p> + IMPORTANT!! Always use the --disable-shared option as shared + linking is broken in version 1.2!! +</p><p> + With the variable CC and CXX we tell configure the C and C++ + compiler and linker to use. These have to be the same compilers + and linkers you will use to compile DUNE!! +</p> + <p> For more information and additional options see</p> + <kbd>./configure --help</kbd> +</li> + +<li><p>Compile ALBERTA with</p> <kbd>make</kbd></li> + +<li> <p>Install ALBERTA with</p> <kbd>make install</kbd></li> +</ol> + +<h3>ALUGrid</h3> +<ol> +<li>Download the latest version of ALUGrid from the <a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">ALUGrid homepage</a>.</li> +<li><p>Unpack it in a directory</p> + <kbd>tar xzf ALUGrid-0.x.tar.gz</kbd> + <p>and move to that directory</p> +<kbd> + cd ALUGrid-0.x +</kbd> + <p>and read the README file first.</p> + </li> + +<li><p>Configure ALUGrid, e. g.</p> +<kbd> + ./configure --prefix=/directory/to/install/ALUGrid/to \\ + CXX=g++-3.4 CC=gcc-3.4 +</kbd> +<p>for the sequential use of ALUGrid.</p> +<p> + With --prefix the absolute path of the directory we install to has + to be given. If no --prefix given, ALUGrid is installed into the + directory where it was unpacked. +</p> +<p> + With the variable CC and CXX we tell configure the C and C++ + compiler and linker to use. These have to be the same compilers + and linkers you will use to compile DUNE!! +</p> +<p> + If you want to use the parallel version of ALUGrid one has to + proceed as follows. To compile the library you need a valid MPI version + installed. The easiest way to compile the parallel version is to use + the MPI compiler script (i.e. mpiCC or mpicxx) by calling configure with CXX="mpicxx" for + example. Optionally you can use the DUNE mpi-config tool. + As the compiler used to compile your mpi version might differ from + the version needed for DUNE instead of + specify mpi as the compiler we provide the include path and linker + path of MPI. +</p> +<p> + In order to retrieve the CPPFLAGS and LDFLAGS necessary for MPI, + dune-common offers a script <i>dune-common/bin/mpi-config</i>: +</p> +<kbd> + Usage: mpi-config [OPTIONS] [LIBRARIES] + Options: + [--mpicc[=COMPILER]] + [--disable-cxx] + [--verbose] + [--version] + [--mpiversion] + [--libs] + [--cflags] +</kbd> +<p> + mpi-config calls the MPI compiler and tries to extract the + parameters. One can specify which MPI compiler to use, by setting + the $MPICC environment variable or by supplying the + --mpicc=<i>MPICOMPILER</i> option. +</p> +<p> + Using mpi-config one can pass the approriate CPPFLAGS and LDFLAGS + to configure. We suppose that dune-common/bin is in your path + (for bash you can do this with: export PATH=$PATH:/path/to/dune/modules/dune-common/bin. +</p> +<p> + E. g. for the MPI compiler <i>/opt/foo-mpi/bin/mpicc</i> (for the + default MPI compiler just skip the --mpicc=/opt/foo-mpi/bin/mpicc + options): +</p> +<kbd> + ./configure --prefix=/directory/to/install/ALUGrid/to \\ + CXX=g++-3.4 CC=gcc-3.4 \\ + CPPFLAGS="`mpi-config --cflags --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`" \\ + LDFLAGS="`mpi-config --libs --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`" +</kbd> +<p> + For further information and additional options see + </p><kbd>./configure --help</kbd> +</li> +<li><p>Compile ALUGrid with</p> <kbd>make</kbd></li> +<li><p>Install ALUGrid with</p> <kbd>make install</kbd></li> +</ol> +<h3>UGGrid</h3> + +<ol> +<li> +<p> +Get the UG library. If you intend to use the release 1.0 of DUNE you can +download to appropriate UG library at +<a href="http://sit.iwr.uni-heidelberg.de/~ug">http://sit.iwr.uni-heidelberg.de/~ug</a>. +For more recent versions of DUNE you will need a newer UG. +Please ask on the mailing list for details. +</p> +<li>Unpack the tarball and move into the UG source tree. + <pre> +tar zxvf UG-3.9.1.tar.gz +cd UG-3.9.1 + </pre> +</li> +<li><p>Build the UG make system</p> +<kbd> + ./configure --prefix=my_favourite_ug_installation_path --enable-dune CC=g++ +</kbd> + <ul> + <li> + <tt>--prefix</tt> determines the absolute path of the directory we install to. + </li> + <li> + <tt>--enable-dune</tt> enables special features needed by Dune. + </li> + <li> + CC=g++ tells the build system to compile everything as C++, + even though it is technically C. This is necessary when + using UG through the DUNE interface. Don't forget that the + compiler has to be binary-compatible with the one you're using for Dune. +</li> +</ul> +</li> +<li> + <p>Compile UG with</p> + <kbd> make</kbd> +</li> +<li><p>Install UG with</p> <kbd>make install</kbd></li> +</ol> + +<h2>Installation of DUNE modules</h2> +<ol> +<li><p>Download DUNE modules</p> +<p> + See <a + href="http://dune-project.org/download.html">Download + Section</a> + section for more details. +</p> +<p> +When using the unstable version via svn, you might be interested in +the <a href="http://dune-project.org/svn.html">DUNE SVN Developer +Info</a> section. +</p> +<p> +When using the svn version, you will have to have further packages +installled, but there are no tests for these, because they are needed +during the first build stage, by autogen.sh. +</p> +<ul> + <li>automake in version ≥ 1.5</li> + <li>autoconf in version ≥ 2.50</li> + <li>libtool</li> + <li>pkg-config</li> +</ul> +</li> +<li> <p>Building all DUNE modules</p> +<p> + Check out all dune modules into same directory (say dune-home) +</p> +<p> + Run dunecontrol script available in the base module dune-common/bin. This will run autogen.sh, configure and make for each module. +</p> +<kbd>./dune-common/bin/dunecontrol all</kbd> +<p> + Read the <a + href="http://dune-project.org/doc/buildsystem/buildsystem.pdf">DUNE + Build System Howto</a> section for more details. +</p> +</li> +<li> <p>Building a specific DUNE module (and its dependent modules)</p> +<p> Run dunecontrol script +<kbd>./dune-common/bin/dunecontrol --module=module_name all</kbd> +where module_name is the name of that particular module given in the dune.module file +</p> +<p> Read <a href="http://dune-project.org/dunemodule.html">Maintaining new Dune modules and applications</a> section for more details. +</p> +</li> +<li> <p>Building using certain configure options</p> +<p> Run dunecontrol script +<kbd>./dune-common/bin/dunecontrol --opts=/path_to/file.opts --module=module_name all</kbd> +where file.opts is the name of the file with configure options +specified (you can find an <a href="example.opts">example.opts</a> +file in the dune-common/doc directory) +</p> + +<p>Read <a href="http://dune-project.org/dunemodule.html">Maintaining new Dune modules and applications</a> section for more details. +</p> +<p> <a +href="http://dune-project.org/doc/buildsystem/buildsystem.pdf">DUNE +Build System Howto</a> will also give you an excellent introduction to +the build system and how to create new modules/projects your own. +</p> +</li> +</ol> +<h2>Creating your own DUNE project module</h2> +<p> +You can create your own dune project module by using the duneproject script available in dune-common/bin directory. +Running the script will create a directory with supporting files (configure.ac ,Makefile.am etc.) and a sample .cc file. +After creating the module you can build this as explained above under "Building a specific DUNE module". +</p> diff --git a/doc/installation-notes.wml b/doc/installation-notes.wml index db6fcd4ec6a24195a94b7edabfc03ac4051212b9..b18587d954da43c95e34a4430e72189679399be1 100644 --- a/doc/installation-notes.wml +++ b/doc/installation-notes.wml @@ -5,293 +5,159 @@ <h1>Installation Notes</h1> -<h2>Grids with Dune support</h2> -<p> -The following external grids support the DUNE Grid interface: -<p> -<table> -<tbody> -<tr><td>ALBERTA</td><td>1.2</td><td><a href="http://www.alberta-fem.de/">http://www.alberta-fem.de/</a></td></tr> -<tr><td>ALUGrid</td><td>0.4</td><td><a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/</a></td></tr> -<tr><td>UG (non-free licence)</td><td></td><td><a href="http://sit.iwr.uni-heidelberg.de/~ug/">http://sit.iwr.uni-heidelberg.de/~ug/</a></td></tr> -</tbody> -</table> -<p> -Within the DUNE source tree OneDGrid, SGrid and YaspGrid are -available. -</p> - -<h2>External Packages needed by the Grids</h2> +<h2>Dependencies</h2> -<h3>ALBERTA Grid</h3> <p> -The following packages are mandatory to compile ALBERTA: +In order to build DUNE you need at least the following software: </p> -<dl> -<dt>Fortran 77</dt><dd>compiler, e. g. g77</dd> -<dt>OpenGL</dt><dd> A free implementation is available from - <a href="http://www.mesa3d.org/">http://www.mesa3d.org/</a></dd> -<dt>BLAS</dt><dd><p>"Basic Linear Algebra Subprograms"</p> -<p> - This often comes as a package with Linux (for Debian sarge it - is called atlas3 and has to be installed together with the - header package atlas3-headers). -</p><p> - If it does not come with your distribution you can get it from - http://math-atlas.sourceforge.net -</p></dd> -</dl> +<ul> +<li>a standard compliant C++ compiler +[tested are g++ (>= 3.4.1) and icc (7.0, 8.0 and 9.0)]</li> +<li>pkg-config</li> +</ul> <p> -For optional packages see the README file of ALBERTA +The following software is recommend but optional: </p> - -<h3>ALUGrid</h3> +<ul> +<li>MPI (either OpenMPI, lam, or mpich suffice)</li> +</ul> <p> -There are no mandatory packages for ALUGrid. -</p><p> -For optional packages see the README file of ALUGRID. +When building the development version of DUNE you will also need </p> -<h3>UGGrid</h3> +<ul> +<li>automake (>= 1.5)</li> +<li>autoconf (>= 2.50)</li> +<li>libtool</li> +</ul> <p> -There are no mandatory packages for UGGrid. -</p> +This will provide you with the core DUNE features.</p> <p> -You can (but you don't have to) create UGGrid objects from AmiraMesh files. -For this you'll need the <a href="http://www.amiravis.com/resources/Ext411-01-libamiramesh/index.html">AmiraMesh</a> library. +Some DUNE modules might support further software. Using this software +is optional. The dune-grid module for example support different +external grid managers like Albert or UG; these have to be downloaded +separately. For a list of supported contrib software packages and +their installation see the +<a href="contrib-software.html">Contrib Software Installation Notes</a>. </p> -<h2>Compilation and Installation of the External Grids</h2> - -<h3>ALBERTA</h3> -<ol> -<li>Download at least version 1.2 of ALBERTA from the ALBERTA homepage - <a href="http://www.alberta-fem.de">http://www.alberta-fem.de</a> </li> +<h2>Installing the core DUNE modules</h2> -<li><p>Unpack it in a directory</p> - <kbd>tar xzf alberta-1.2.tar.gz</kbd> - <p>and move to that directory</p> - <kbd>cd alberta-1.2</kbd> -</li> -<li><p>Configure ALBERTA, e. g.</p> - <kbd> ./configure --prefix=/directory/to/install/alberta/to \\ - --with-blas-name=blas-3 --disable-shared \\ - CXX=g++-3.4 CC=gcc-3.4 -</kbd> <p> - With --prefix the absolute path of the directory we install to has - to given, --with-blas-name we tell configure the name of our BLAS - library. -</p><p> - IMPORTANT!! Always use the --disable-shared option as shared - linking is broken in version 1.2!! -</p><p> - With the variable CC and CXX we tell configure the C and C++ - compiler and linker to use. These have to be the same compilers - and linkers you will use to compile DUNE!! +Suppose you have downloaded all DUNE modules of interest to your +computer and extracted then in one common directory. See the <a +href="$(ROOT)/download.html">download</a> section +for a list of available modules. </p> - <p> For more information and additional options see</p> - <kbd>./configure --help</kbd> -</li> - -<li><p>Compile ALBERTA with</p> <kbd>make</kbd></li> - -<li> <p>Install ALBERTA with</p> <kbd>make install</kbd></li> -</ol> - -<h3>ALUGrid</h3> -<ol> -<li>Download the latest version of ALUGrid from the <a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">ALUGrid homepage</a>.</li> -<li><p>Unpack it in a directory</p> - <kbd>tar xzf ALUGrid-0.x.tar.gz</kbd> - <p>and move to that directory</p> -<kbd> - cd ALUGrid-0.x -</kbd> - <p>and read the README file first.</p> - </li> - -<li><p>Configure ALUGrid, e. g.</p> -<kbd> - ./configure --prefix=/directory/to/install/ALUGrid/to \\ - CXX=g++-3.4 CC=gcc-3.4 -</kbd> -<p>for the sequential use of ALUGrid.</p> <p> - With --prefix the absolute path of the directory we install to has - to be given. If no --prefix given, ALUGrid is installed into the - directory where it was unpacked. +To compile the modules DUNE has to check several components of +your system and whether prerequisites within the modules are met. For +the ease of users we have designed a custom build system on top of the +automake tools. Run </p> +<kbd> + ./dune-common/bin/dunecontrol all +</kbd> <p> - With the variable CC and CXX we tell configure the C and C++ - compiler and linker to use. These have to be the same compilers - and linkers you will use to compile DUNE!! +to commence those tests and build all modules you have +downloaded. Don't worry about messages telling you that libraries are +missing: they are only needed for grid-self-checks we need for +developing. </p> <p> - If you want to use the parallel version of ALUGrid one has to - proceed as follows. To compile the library you need a valid MPI version - installed. The easiest way to compile the parallel version is to use - the MPI compiler script (i.e. mpiCC or mpicxx) by calling configure with CXX="mpicxx" for - example. Optionally you can use the DUNE mpi-config tool. - As the compiler used to compile your mpi version might differ from - the version needed for DUNE instead of - specify mpi as the compiler we provide the include path and linker - path of MPI. +You can customize the build to your specific needs by using an options file +(see below) </p> +<kbd> + ./dune-common/bin/dunecontrol --opts=/path_to/file.opts +</kbd> <p> - In order to retrieve the CPPFLAGS and LDFLAGS necessary for MPI, - dune-common offers a script <i>dune-common/bin/mpi-config</i>: +If you did not tell dunecontrol to install with an options file you +need to run </p> <kbd> - Usage: mpi-config [OPTIONS] [LIBRARIES] - Options: - [--mpicc[=COMPILER]] - [--disable-cxx] - [--verbose] - [--version] - [--mpiversion] - [--libs] - [--cflags] + ./dune-common/bin/dunecontrol make install </kbd> <p> - mpi-config calls the MPI compiler and tries to extract the - parameters. One can specify which MPI compiler to use, by setting - the $MPICC environment variable or by supplying the - --mpicc=<i>MPICOMPILER</i> option. +to install DUNE (you may need root-permissions for the install +part depending on the prefix set) </p> <p> - Using mpi-config one can pass the approriate CPPFLAGS and LDFLAGS - to configure. We suppose that dune-common/bin is in your path - (for bash you can do this with: export PATH=$PATH:/path/to/dune/modules/dune-common/bin. +A more comprehensive introduction to the build system can be found in +the <a href="buildsystem/buildsystem.pdf">Dune Build System Howto</a>. </p> + +<h2>Passing options to the build process</h2> + <p> - E. g. for the MPI compiler <i>/opt/foo-mpi/bin/mpicc</i> (for the - default MPI compiler just skip the --mpicc=/opt/foo-mpi/bin/mpicc - options): +Using the dunecontrol script the following atomic commands can be +executed: </p> -<kbd> - ./configure --prefix=/directory/to/install/ALUGrid/to \\ - CXX=g++-3.4 CC=gcc-3.4 \\ - CPPFLAGS="`mpi-config --cflags --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`" \\ - LDFLAGS="`mpi-config --libs --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`" -</kbd> -<p> - For further information and additional options see - </p><kbd>./configure --help</kbd> +<ul> +<li> +autogen (runs autogen in each module, only needed when downloaded +via svn) </li> -<li><p>Compile ALUGrid with</p> <kbd>make</kbd></li> -<li><p>Install ALUGrid with</p> <kbd>make install</kbd></li> -</ol> -<h3>UGGrid</h3> - -<ol> <li> -<p> -Get the UG library. If you intend to use the release 1.0 of DUNE you can -download to appropriate UG library at -<a href="http://sit.iwr.uni-heidelberg.de/~ug">http://sit.iwr.uni-heidelberg.de/~ug</a>. -For more recent versions of DUNE you will need a newer UG. -Please ask on the mailing list for details. -</p> -<li>Unpack the tarball and move into the UG source tree. - <pre> -tar zxvf UG-3.9.1.tar.gz -cd UG-3.9.1 - </pre> +configure (runs the configure tests for each module </li> -<li><p>Build the UG make system</p> -<kbd> - ./configure --prefix=my_favourite_ug_installation_path --enable-dune CC=g++ -</kbd> - <ul> - <li> - <tt>--prefix</tt> determines the absolute path of the directory we install to. - </li> - <li> - <tt>--enable-dune</tt> enables special features needed by Dune. - </li> - <li> - CC=g++ tells the build system to compile everything as C++, - even though it is technically C. This is necessary when - using UG through the DUNE interface. Don't forget that the - compiler has to be binary-compatible with the one you're using for Dune. +<li> +exec (executes a command in each module directory) </li> -</ul> +<li> +make (runs make for each module) </li> <li> - <p>Compile UG with</p> - <kbd> make</kbd> +update (updates the svn version) </li> -<li><p>Install UG with</p> <kbd>make install</kbd></li> -</ol> - -<h2>Installation of DUNE modules</h2> -<ol> -<li><p>Download DUNE modules</p> +</ul> <p> - See <a - href="http://dune-project.org/download.html">Download - Section</a> - section for more details. +The composite command all simply runs autogen, configure and make for +each module. </p> <p> -When using the unstable version via svn, you might be interested in -the <a href="http://dune-project.org/svn.html">DUNE SVN Developer -Info</a> section. +As it is often not convenient (and for the target all impossible) to +specify the options for each command as parameters after the call, one +can pass the options via file specified by the <tt>--opts=<file></tt> +option. For each atomic command one specify the options via a ine </p> +<kbd> +<COMMANY_UPPERCASE>_FLAGS=<flags> # e.g.: MAKE_FLAGS=install +</kbd> <p> -When using the svn version, you will have to have further packages -installled, but there are no tests for these, because they are needed -during the first build stage, by autogen.sh. +The available options for make and svn are the natural ones. The +configure commands available can be found by issuing </p> -<ul> - <li>automake in version ≥ 1.5</li> - <li>autoconf in version ≥ 2.50</li> - <li>libtool</li> - <li>pkg-config</li> -</ul> -</li> -<li> <p>Building all DUNE modules</p> +<kbd> +dunecontrol --only=dune-common configure --help +</kbd> <p> - Check out all dune modules into same directory (say dune-home) +and for autogen by </p> +<kbd> +dunecontrol --only=dune-common autogen --help +</kbd> <p> - Run dunecontrol script available in the base module dune-common/bin. This will run autogen.sh, configure and make for each module. +(In the svn version this has to be calles after running autogen.) </p> -<kbd>./dune-common/bin/dunecontrol all</kbd> <p> - Read the <a - href="http://dune-project.org/doc/buildsystem/buildsystem.pdf">DUNE - Build System Howto</a> section for more details. -</p> -</li> -<li> <p>Building a specific DUNE module (and its dependent modules)</p> -<p> Run dunecontrol script -<kbd>./dune-common/bin/dunecontrol --module=module_name all</kbd> -where module_name is the name of that particular module given in the dune.module file -</p> -<p> Read <a href="http://dune-project.org/dunemodule.html">Maintaining new Dune modules and applications</a> section for more details. -</p> -</li> -<li> <p>Building using certain configure options</p> -<p> Run dunecontrol script -<kbd>./dune-common/bin/dunecontrol --opts=/path_to/file.opts --module=module_name all</kbd> -where file.opts is the name of the file with configure options -specified (you can find an <a href="example.opts">example.opts</a> -file in the dune-common/doc directory) +An example of an options file is </p> +<kbd> + # use a special compiler (g++ version 3.4) and install to a custom + # directory, default is /usr/local/bin + CONFIGURE_FLAGS="CXX=g++-3.4 --prefix='/tmp/Hu Hu'" + # Set the default target of make to install. Now the call above will + # not just build the DUNE modules but also install it + MAKE_FLAGS=install + # The default versions of automake and autogen are not sufficient + # therefore we need to specify what versions to use + AUTOGEN_FLAGS="--ac=2.59 --am=1.9" +</kbd> -<p>Read <a href="http://dune-project.org/dunemodule.html">Maintaining new Dune modules and applications</a> section for more details. -</p> -<p> <a -href="http://dune-project.org/doc/buildsystem/buildsystem.pdf">DUNE -Build System Howto</a> will also give you an excellent introduction to -the build system and how to create new modules/projects your own. -</p> -</li> -</ol> <h2>Creating your own DUNE project module</h2> <p> You can create your own dune project module by using the duneproject script available in dune-common/bin directory. -Running the script will create a directory with supporting files (configure.ac ,Makefile.am etc.) and a sample .cc file. +Running the script will create a directory with supporting files +(configure.ac, Makefile.am etc.) and a sample .cc file. After creating the module you can build this as explained above under "Building a specific DUNE module". </p>