include $D/common/Make.global_options
+ifeq ($kdocversion,1)
KDOCFLAGS=-I$(kdocdir) $(kdocdir)/kdoc -a -p -L $D/doc/auto/kdoc
+else
+KDOCFLAGS=-I$(kdocdir) $(kdocdir)/kdoc -a -p -L $D/doc/auto/kdoc
+endif
kdoc.base = $(shell echo $D/base/include/base/*.h)
kdoc.lac = $(shell echo $D/lac/include/lac/*.h)
kdoc: $(kdoc.library-files)
base.kdoc: $(kdoc.base)
- @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
$^
lac.kdoc: $(kdoc.lac)
- @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
-l base $^
grid.kdoc: $(kdoc.grid)
- @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
-l base $^
dof.kdoc: $(kdoc.dof)
- $(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ $(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
-l base -llac -lgrid $^
numerics.kdoc: $(kdoc.numerics)
- @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
-l base -llac -lgrid -ldof $^
multigrid.kdoc: $(kdoc.multigrid)
- @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) -L . \
+ @$(PERL) $(KDOCFLAGS) $(subst .kdoc,,$@) -d $(subst .kdoc,,$@) \
-l base -llac -lgrid -ldof -lnumerics $^
enable automatic documentation generation.
</p>
+ <li> <p><a href="http:../porting.html">Porting
+ <acronym>deal.II</acronym> to a new system</a>:
+ <acronym>deal.II</acronym> uses the mechanism provided by
+ GNU autoconf. Therefore, porting to a reasonably
+ standardized UNIX system should not be too difficult. Right
+ now, we have no experience with proprietory operating systems
+ like MSWindows or MacOS.
+ </p>
+
<li> <p><a href="recent-changes.html" target="body">Recent changes to
the library</a>: If you want to stay informed about what is
going on with the library itself, your may want to take a
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+ "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+ <head>
+ <link href="screen.css" rel="StyleSheet" title="deal.II Homepage" media="screen">
+ <link href="print.css" rel="StyleSheet" title="deal.II Homepage" media="print">
+ <title>Porting deal.II</title>
+ <meta name="author" content="Guido Kanschat">
+ <meta name="keywords" content="deal.II porting">
+ </head>
+
+ <body>
+<h1>Porting <acronym>deal.II</acronym> to new systems</h1>
+
+<p> Attention: before starting a port to a new system, check
+the <a href="http:readme.html">readme file</a> for your system.</p>
+
+<h2>Compiler flags</h2>
+
+A configuration by setting the <TT>CXXFLAGS</TT> variable will soon be
+supported.
+
+<h2>Configuration file</h2>
+
+<p>Configurations must be done in the file <TT>configure.in</TT> of
+the root directory of <acronym>deal.II</acronym>. At the end, look for
+a section of the structure
+<pre>
+case "$target" in
+ *-linux*) ...;;
+ *-aix*) ...;;
+esac
+
+case "$target" in
+ alpha*-linux*) ...;;
+esac
+</pre>
+The first case block allows you to adjust parameters for a certain
+operating system, the second for an operating system/machine
+configuration.</p>
+
+<h3>Enable/disable configured options</h3>
+
+<p>Some of the features of the library are turned on and of by
+<TT>--enable-xxx</TT> and <TT>--with-xxx=yyy</TT> options to
+configure. These user-supplied parameters can be changed by modifying
+related variables: for example, to turn of shared libraries on aix,
+enter the following in the operating system case-block
+<pre>
+ *-aix*) enableshared=no ;;
+</pre>
+
+
+<h3>Preprocessor variables</h3>
+
+<p>Some features of the library can be turned on or of by preprocessor
+symbols. The following commands can be used:
+<dl>
+
+<dt><TT>throw_opt=-DNO_THROW</TT></dt>
+<dd>Turn of throwing exceptions in optimized mode.</dd>
+
+<dt><TT>AC_DEFINE(QUIET_SUBSCRIPTOR)</dt>
+<dd>Turn of type information in <CODE class="class">Subscriptor</CODE>.
+Helps to save memory (not much though) and is necessary if your
+compiler does not implement RTTI.
+</dl>
+
+<hr>
+
+<address>
+<a href="mailto:deal@hermes.iwr.uni-heidelberg.de">The deal.II
+group</a> $Date$
+</address>
+
+</body>
+</html>
At present, <acronym>deal.II</acronym> has been
developed and tested on Unix systems only. It can be used positively on
<ul>
- <li>Linux ELF with egcs 1.1.x and gcc 2.95.x;
+ <li>Linux ELF with gcc 2.95.x;
<li>Sun Solaris 2.5, 2.6, and 7, with egcs 1.1.x and gcc 2.95.x;
<li>SGI IRIX64 with gcc 2.95.x;
<li>IBM AIX 4.2, with gcc 2.95.x (with some restrictions on
</ul>
<acronym>deal.II</acronym> uses only very few features of an
operating system. It should therefore be rather simple to port it
- to other systems, at least with the compilers stated above.
+ to other systems, at least with the compilers stated above. See <a
+ href="http:porting.html">here</a>, if your system is not on this
+ list.
</p>
<p>
<hr>
<address>
- <a href="mailto:deal@iwr.uni-heidelberg.de">The deal.II group</a></address>
+ <a href="mailto:deal@hermes.iwr.uni-heidelberg.de">The deal.II group</a>
+ $Date$
+ </address>
</body>
</html>
-
-