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}\\
...
@@ -84,7 +84,7 @@ Im Neuenheimer Feld 368, D-69120 Heidelberg, Germany}\\
\section
{
Creating a new
\dune
project
}
\label
{
section::creating
_
new
_
dune
_
project
}
\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
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
\dune
modules are packages that offer a certain functionality that can
be used by
\dune
applications. Therefore
\dune
modules offer libraries
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:
...
@@ -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
This section tells you how to begin working with
\dune
without explaining any
further details. For a closer look on
\duneproject
, see section
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
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.
wonder ``How do I start working with
\dune
?'' It is quite easy.
...
@@ -146,7 +146,7 @@ modules). It can be done by calling
...
@@ -146,7 +146,7 @@ modules). It can be done by calling
\emph
{
Note:
}
In case you are using the unstable version
\emph
{
Note:
}
In case you are using the unstable version
\dune
you should be aware that the build system may change,
\dune
you should be aware that the build system may change,
just like the source code. Therefore it might be that
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
After calling
\duneproject
, you have to provide a name for your project
(without whitespace), e.g.,
\texttt
{
dune-foo
}
.
(without whitespace), e.g.,
\texttt
{
dune-foo
}
.
...
@@ -242,8 +242,8 @@ After running
...
@@ -242,8 +242,8 @@ After running
make doc
make doc
\end{lstlisting}
\end{lstlisting}
in
\texttt
{
dune-foo
}
you should now find a
in
\texttt
{
dune-foo
}
you should now find a
\texttt
{
html
}
\texttt
{
doxygen
}
documentation in
\texttt
{
html
}
\texttt
{
doxygen
}
documentation
which can be read by open
in
g
\texttt
{
dune-foo/doc/doxygen/html/index.html
}
.
\\
\texttt
{
dune-foo/doc/doxygen/html/index.html
}
.
\section
{
Dune module guidelines
}
\label
{
section::dune
_
module
_
guidelines
}
\section
{
Dune module guidelines
}
\label
{
section::dune
_
module
_
guidelines
}
\label
{
guidelines
}
\label
{
guidelines
}
...
@@ -261,8 +261,8 @@ A \dune module should comply with the following rules:
...
@@ -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
}
directory. You should at least provide the macros
\texttt
{
\emph
{
MODULE
}
\_
CHECKS
}
and
\texttt
{
\emph
{
MODULE
}
\_
CHECK
\_
MODULE
}
, in order to setup and
and
\texttt
{
\emph
{
MODULE
}
\_
CHECK
\_
MODULE
}
, in order to setup and
find your module (see~
\ref
{
m4files
}
).
find your module (see~
\ref
{
m4files
}
).
\item
Header files
that can be used by other
\dune
modules should be
\item
Header files
should be accessible via
\verb
!
#include <dune/foo/bar.hh>
!
,
accessible via
\verb
!
#include <dune/foo/bar.hh>
!
. In order to work
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
with a freshly checkout version of your module you will usually need
to create a local symbolic link
\texttt
{
dune ->
to create a local symbolic link
\texttt
{
dune ->
\textit
{
module-directory/
}}
. This link gets created by the
\textit
{
module-directory/
}}
. This link gets created by the
...
@@ -514,7 +514,7 @@ bye_CPPFLAGS = -DBYE
...
@@ -514,7 +514,7 @@ bye_CPPFLAGS = -DBYE
\end
{
lstlisting
}
\end
{
lstlisting
}
Perhaps you're wondering why the above examples used
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
}
,
reason for this is that the variables
\texttt
{
CFLAGS
}
,
\texttt
{
CPPFLAGS
}
,
\texttt
{
CXXFLAGS
}
etc. are considered
{
\em
user
\texttt
{
CPPFLAGS
}
,
\texttt
{
CXXFLAGS
}
etc. are considered
{
\em
user
variables
}
which may be set on the command line:
variables
}
which may be set on the command line:
...
@@ -835,7 +835,7 @@ target_LIBADD =
...
@@ -835,7 +835,7 @@ target_LIBADD =
\begin{description}
\begin{description}
\item
[MPI]
The
\texttt
{
DUNE
\_
MPI
}
macro sets the following variables with the
\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
}
.
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
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
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:
...
@@ -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
{
dunecontrol m
4
create
}
and write a file
\texttt
{
dependencies.m
4
}
.
\texttt
{
dependencies.m
4
}
.
\item
\texttt
{
DUNE
\_
SYMLINK
}
\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
}
)
\texttt
{
\$
(
top
\_
srcdir
)
}
. The programming guidelines
(
\ref
{
guidelines
}
)
require that the include statements be like
\texttt
{
\#
include
require that the include statements be like
\texttt
{
\#
include
<dune
/
...>
}
. If your module has a directory structure
<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:
...
@@ -1078,7 +1078,7 @@ We offer a set of macros that can be used in your \configureac:
\texttt
{
DUNE
\_
CHECK
\_
ALL
}
.
\texttt
{
DUNE
\_
CHECK
\_
ALL
}
.
\end
{
itemize
}
\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
variables that can be used in the
\configure
script or in the
\makefileam
:
\makefileam
:
...
@@ -1172,9 +1172,9 @@ and \texttt{\emph{MODULE}\_CHECK\_MODULE} is called. Last
...
@@ -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
\texttt
{
\emph
{
MODULE
}
\_
CHECKS
}
is called for your module, in order to
check all prerequisites for your module.
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
}
\_
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.
written to a
\texttt
{
m
4
/*
.m
4
}
file.
Here follows an example for the module
\texttt
{
dune
-
foo
}
:
Here follows an example for the module
\texttt
{
dune
-
foo
}
:
...
@@ -1425,8 +1425,8 @@ AC_CONFIG_FILES([Makefile
...
@@ -1425,8 +1425,8 @@ AC_CONFIG_FILES([Makefile
AC
_
OUTPUT
AC
_
OUTPUT
\end{lstlisting}
\end{lstlisting}
Now, your project is prepared to build the subdirectory
Now, your project is prepared to build the subdirectory
\texttt
{
my
\_
pdelab
\_
application
}
if and only if
\texttt
{
dune-pdelab
}
is
successfully
\texttt
{
my
\_
pdelab
\_
application
}
if and only if
your machine has a
successfully
installed
on your machine
.
installed
\texttt
{
dune-pdelab
}
.
\section
{
Further documentation
}
\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