Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-common
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Timo Koch
dune-common
Commits
914e55d9
Commit
914e55d9
authored
13 years ago
by
Christoph Grüninger
Browse files
Options
Downloads
Patches
Plain Diff
Reduces the number of bad boxes in buildsystem.tex.
[[Imported from SVN: r6582]]
parent
d6410ee5
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/buildsystem/buildsystem.tex
+15
-15
15 additions, 15 deletions
doc/buildsystem/buildsystem.tex
with
15 additions
and
15 deletions
doc/buildsystem/buildsystem.tex
+
15
−
15
View file @
914e55d9
...
...
@@ -84,7 +84,7 @@ Im Neuenheimer Feld 368, D-69120 Heidelberg, Germany}\\
\section
{
Creating a new
\dune
project
}
\label
{
section::creating
_
new
_
dune
_
project
}
From a build system point of view there is no difference between a
\dune
application and a
\dune
module.
\\
application and a
\dune
module.
\dune
modules are packages that offer a certain functionality that can
be used by
\dune
applications. Therefore
\dune
modules offer libraries
...
...
@@ -115,7 +115,7 @@ the bare minimum you have to provide in order to create a new project:
This section tells you how to begin working with
\dune
without explaining any
further details. For a closer look on
\duneproject
, see section
\ref
{
section::creating
_
new
_
dune
_
project
}
.
\\
\ref
{
section::creating
_
new
_
dune
_
project
}
.
Once you have downloaded all the
\dune
modules you are interested in, you probably
wonder ``How do I start working with
\dune
?'' It is quite easy.
...
...
@@ -146,7 +146,7 @@ modules). It can be done by calling
\emph
{
Note:
}
In case you are using the unstable version
\dune
you should be aware that the build system may change,
just like the source code. Therefore it might be that
\texttt
{
duneproject
}
is not up to date with the latest changes.
\\
\texttt
{
duneproject
}
is not up to date with the latest changes.
After calling
\duneproject
, you have to provide a name for your project
(without whitespace), e.g.,
\texttt
{
dune-foo
}
.
...
...
@@ -242,8 +242,8 @@ After running
make doc
\end{lstlisting}
in
\texttt
{
dune-foo
}
you should now find a
\texttt
{
html
}
\texttt
{
doxygen
}
documentation in
\texttt
{
dune-foo/doc/doxygen/html/index.html
}
.
\\
\texttt
{
html
}
\texttt
{
doxygen
}
documentation
which can be read by open
in
g
\texttt
{
dune-foo/doc/doxygen/html/index.html
}
.
\section
{
Dune module guidelines
}
\label
{
section::dune
_
module
_
guidelines
}
\label
{
guidelines
}
...
...
@@ -261,8 +261,8 @@ A \dune module should comply with the following rules:
directory. You should at least provide the macros
\texttt
{
\emph
{
MODULE
}
\_
CHECKS
}
and
\texttt
{
\emph
{
MODULE
}
\_
CHECK
\_
MODULE
}
, in order to setup and
find your module (see~
\ref
{
m4files
}
).
\item
Header files
that can be used by other
\dune
modules should be
accessible via
\verb
!
#include <dune/foo/bar.hh>
!
. In order to work
\item
Header files
should be accessible via
\verb
!
#include <dune/foo/bar.hh>
!
,
otherwise they cannot be used by other
\dune
modules
. In order to work
with a freshly checkout version of your module you will usually need
to create a local symbolic link
\texttt
{
dune ->
\textit
{
module-directory/
}}
. This link gets created by the
...
...
@@ -514,7 +514,7 @@ bye_CPPFLAGS = -DBYE
\end
{
lstlisting
}
Perhaps you're wondering why the above examples used
\texttt
{
AM
\_
CPPFLAGS
}
instead of
the
normal
\texttt
{
CPPFLAGS
}
? The
\texttt
{
AM
\_
CPPFLAGS
}
instead of normal
\texttt
{
CPPFLAGS
}
? The
reason for this is that the variables
\texttt
{
CFLAGS
}
,
\texttt
{
CPPFLAGS
}
,
\texttt
{
CXXFLAGS
}
etc. are considered
{
\em
user
variables
}
which may be set on the command line:
...
...
@@ -835,7 +835,7 @@ target_LIBADD =
\begin{description}
\item
[MPI]
The
\texttt
{
DUNE
\_
MPI
}
macro sets the following variables with the
help of the macros
\texttt
{
ACX
\_
MPI
}
and
\texttt
{
MPI
\_
CONFIG
}
: For
help of the macros
\texttt
{
MPI
\_
CONFIG
}
and
\texttt
{
ACX
\_
MPI
}
: For
compilation with the MPI compiler
\texttt
{
MPICC
}
and
\texttt
{
MPILIBS
}
.
These are not used in
\dune
except that
\texttt
{
MPICC
}
may be set on the
configure command line to select which MPI installation to use. For
...
...
@@ -1060,7 +1060,7 @@ We offer a set of macros that can be used in your \configureac:
\texttt
{
dunecontrol m
4
create
}
and write a file
\texttt
{
dependencies.m
4
}
.
\item
\texttt
{
DUNE
\_
SYMLINK
}
creates symlink
\texttt
{
\$
(
top
\_
srcdir
)/
dune
}
$
\rightarrow
$
creates symlink
\texttt
{
\$
(
top
\_
srcdir
)/
dune
}
$
\
!\
rightarrow
$
\texttt
{
\$
(
top
\_
srcdir
)
}
. The programming guidelines
(
\ref
{
guidelines
}
)
require that the include statements be like
\texttt
{
\#
include
<dune
/
...>
}
. If your module has a directory structure
...
...
@@ -1078,7 +1078,7 @@ We offer a set of macros that can be used in your \configureac:
\texttt
{
DUNE
\_
CHECK
\_
ALL
}
.
\end
{
itemize
}
\texttt
{
DUNE
\_
CHECK
\_
ALL
}
defines
certa
in
\texttt
{
DUNE
\_
CHECK
\_
ALL
}
defines
the follow
in
g
variables that can be used in the
\configure
script or in the
\makefileam
:
...
...
@@ -1172,9 +1172,9 @@ and \texttt{\emph{MODULE}\_CHECK\_MODULE} is called. Last
\texttt
{
\emph
{
MODULE
}
\_
CHECKS
}
is called for your module, in order to
check all prerequisites for your module.
Wh
at you just read implies that
you have to provide the two macros
Wh
en
you have to provide the two macros
\texttt
{
\emph
{
MODULE
}
\_
CHECKS
}
and
\texttt
{
\emph
{
MODULE
}
\_
CHECK
\_
MODULE
}
for your module
. T
hese should be
\texttt
{
\emph
{
MODULE
}
\_
CHECK
\_
MODULE
}
for your module
t
hese should be
written to a
\texttt
{
m
4
/*
.m
4
}
file.
Here follows an example for the module
\texttt
{
dune
-
foo
}
:
...
...
@@ -1425,8 +1425,8 @@ AC_CONFIG_FILES([Makefile
AC
_
OUTPUT
\end{lstlisting}
Now, your project is prepared to build the subdirectory
\texttt
{
my
\_
pdelab
\_
application
}
if and only if
\texttt
{
dune-pdelab
}
is
successfully
installed
on your machine
.
\texttt
{
my
\_
pdelab
\_
application
}
if and only if
your machine has a
successfully
installed
\texttt
{
dune-pdelab
}
.
\section
{
Further documentation
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment