xref: /minix3/external/bsd/bind/dist/doc/doxygen/mainpage (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek// -*- C++ -*-
2*00b67f09SDavid van Moolenbroek// Id: mainpage,v 1.2 2006/12/22 01:44:59 marka Exp
3*00b67f09SDavid van Moolenbroek//
4*00b67f09SDavid van Moolenbroek// Doxygen text.  Lines beginning with two slashes are comments; lines
5*00b67f09SDavid van Moolenbroek// beginning with three slashes are Doxygen input.
6*00b67f09SDavid van Moolenbroek
7*00b67f09SDavid van Moolenbroek/// \mainpage
8*00b67f09SDavid van Moolenbroek/// \section mainpage_overview Overview
9*00b67f09SDavid van Moolenbroek/// \par
10*00b67f09SDavid van Moolenbroek///
11*00b67f09SDavid van Moolenbroek/// This is the beginning of an internals manual for BIND9.  It's
12*00b67f09SDavid van Moolenbroek/// still very rough in many places.
13*00b67f09SDavid van Moolenbroek///
14*00b67f09SDavid van Moolenbroek/// \li See the files in doc/doxygen for the source to this page and
15*00b67f09SDavid van Moolenbroek///     the Doxygen configuration that generates the rest of the manual.
16*00b67f09SDavid van Moolenbroek///
17*00b67f09SDavid van Moolenbroek/// \li See the tabs at the top of the screen to navigate through the
18*00b67f09SDavid van Moolenbroek///     generated documentation.
19*00b67f09SDavid van Moolenbroek///
20*00b67f09SDavid van Moolenbroek/// \li See <a href="http://www.doxygen.org/">the Doxygen web site</a>
21*00b67f09SDavid van Moolenbroek///     for more information about Doxygen, including its manual.
22*00b67f09SDavid van Moolenbroek///
23*00b67f09SDavid van Moolenbroek/// \section mainpage_knownissues Known Issues
24*00b67f09SDavid van Moolenbroek/// \par
25*00b67f09SDavid van Moolenbroek///
26*00b67f09SDavid van Moolenbroek/// Known issues with our current use of Doxygen:
27*00b67f09SDavid van Moolenbroek///
28*00b67f09SDavid van Moolenbroek/// \li In a major departure from previous attempts to use Doxygen
29*00b67f09SDavid van Moolenbroek///     with BIND9, this manual attempts to take the simplest approach
30*00b67f09SDavid van Moolenbroek///     to every choice Doxygen gives us.  We don't generate fancy
31*00b67f09SDavid van Moolenbroek///     extra Doxygen tags files from the RFC database.  We don't
32*00b67f09SDavid van Moolenbroek///     attempt to use Doxygen as a wrapper framework for other
33*00b67f09SDavid van Moolenbroek///     documentation (eg, ISC Tech Notes, the ARM, ...).  We don't
34*00b67f09SDavid van Moolenbroek///     try to generate the list of files to document on the fly.
35*00b67f09SDavid van Moolenbroek///     Instead, we attempt to use Doxygen's native facilities
36*00b67f09SDavid van Moolenbroek///     wherever possible, on the assumption that we'll add new
37*00b67f09SDavid van Moolenbroek///     features later as we need them but should start as simply as
38*00b67f09SDavid van Moolenbroek///     we can.
39*00b67f09SDavid van Moolenbroek///
40*00b67f09SDavid van Moolenbroek/// \li Our use of \\file is wrong in many places.  We probably should
41*00b67f09SDavid van Moolenbroek///     be marking header files with the names by which we include
42*00b67f09SDavid van Moolenbroek///     them (eg, "dns/resolver.h").  Doxygen reports filename
43*00b67f09SDavid van Moolenbroek///     conflicts in a few cases where it can't work out which of
44*00b67f09SDavid van Moolenbroek///     several files to use.
45*00b67f09SDavid van Moolenbroek///
46*00b67f09SDavid van Moolenbroek/// \li At the moment we're instructing Doxygen to document all
47*00b67f09SDavid van Moolenbroek///     functions, whether they have proper comment markup or not.
48*00b67f09SDavid van Moolenbroek///     This is a good way to see what's been marked up, but might not
49*00b67f09SDavid van Moolenbroek///     be the right approach in the long run.
50*00b67f09SDavid van Moolenbroek///
51*00b67f09SDavid van Moolenbroek/// \li See doc/doxygen/doxygen-input-filter.in for local abbreviations.
52*00b67f09SDavid van Moolenbroek///
53*00b67f09SDavid van Moolenbroek/// \li We're probably over-using the \\brief markup tag.
54*00b67f09SDavid van Moolenbroek///
55*00b67f09SDavid van Moolenbroek/// \li We may in fact be confusing Doxygen to the point where it's
56*00b67f09SDavid van Moolenbroek///     not finding markup comments that it should.  Needs
57*00b67f09SDavid van Moolenbroek///     investigation.
58*00b67f09SDavid van Moolenbroek///
59*00b67f09SDavid van Moolenbroek/// \li At the moment I have all the cool "dot" stuff turned off,
60*00b67f09SDavid van Moolenbroek///     both because it's a distraction and because it slows down
61*00b67f09SDavid van Moolenbroek///     doxygen runs.  Maybe after I get a faster desk machine. :)
62*00b67f09SDavid van Moolenbroek///
63*00b67f09SDavid van Moolenbroek/// \li At the moment we're producing a single "BIND9 Internals"
64*00b67f09SDavid van Moolenbroek///     manual.   One of our previous complications was an attempt to
65*00b67f09SDavid van Moolenbroek///     produce separate manuals for each library, then cross-link
66*00b67f09SDavid van Moolenbroek///     them.  We might still need separate library manuals, but, if
67*00b67f09SDavid van Moolenbroek///     so, it might be easier to have the BIND9 Internals manual be a
68*00b67f09SDavid van Moolenbroek///     superset of the library manuals (ie, reuse the same source to
69*00b67f09SDavid van Moolenbroek///     produce differently scoped manuals).   Would certainly be
70*00b67f09SDavid van Moolenbroek///     simpler than the cross-linking mess, but partly it's a
71*00b67f09SDavid van Moolenbroek///     question of how we want to present the material.
72*00b67f09SDavid van Moolenbroek///
73*00b67f09SDavid van Moolenbroek/// \li Doxygen is slanted towards C++.  It can be tuned towards plain
74*00b67f09SDavid van Moolenbroek///     old C, but the C++ bias still shows up in places, eg, the lack
75*00b67f09SDavid van Moolenbroek///     of top-level menu support for functions (in C++, the basic
76*00b67f09SDavid van Moolenbroek///     unit of programming is the class, which Doxygen does support
77*00b67f09SDavid van Moolenbroek///     directly).   This is a bit annoying, but not all that
78*00b67f09SDavid van Moolenbroek///     critical.
79*00b67f09SDavid van Moolenbroek///
80*00b67f09SDavid van Moolenbroek/// \li If we ever get really ambitious, we might try processing
81*00b67f09SDavid van Moolenbroek///     Doxygen's XML output, which is basicly a dump of what Doxygen
82*00b67f09SDavid van Moolenbroek///     was able to scrape from the sources.   This would be a major
83*00b67f09SDavid van Moolenbroek///     project, just something to think about if there's something we
84*00b67f09SDavid van Moolenbroek///     really don't like about the output Doxygen generates.  Punt
85*00b67f09SDavid van Moolenbroek///     for now.
86