source: general/prog/doxygen.xml@ 3038a588

gimp3 trunk
Last change on this file since 3038a588 was b277093d, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Update to doxygen-1.11.0.

  • Property mode set to 100644
File size: 10.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY doxygen-download-http "https://doxygen.nl/files/doxygen-&doxygen-version;.src.tar.gz">
8 <!ENTITY doxygen-download-ftp " ">
9 <!ENTITY doxygen-md5sum "61a5288e415d7ae4d2cd82eb137d36f8">
10 <!ENTITY doxygen-size "8.1 MB">
11 <!ENTITY doxygen-buildsize "247 MB (with tests)">
12 <!ENTITY doxygen-time "1.2 SBU (with tests; both using parallelism=4)">
13]>
14
15<sect1 id="doxygen" xreflabel="Doxygen-&doxygen-version;">
16 <?dbhtml filename="doxygen.html"?>
17
18
19 <title>Doxygen-&doxygen-version;</title>
20
21 <indexterm zone="doxygen">
22 <primary sortas="a-Doxygen">Doxygen</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Doxygen</title>
27
28 <para>
29 The <application>Doxygen</application> package contains a documentation
30 system for C++, C, Java, Objective-C, Corba IDL and to some extent PHP,
31 C# and D. It is useful for generating HTML documentation and/or an
32 off-line reference manual from a set of documented source files. There
33 is also support for generating output in RTF, PostScript, hyperlinked
34 PDF, compressed HTML, and Unix man pages. The documentation is extracted
35 directly from the sources, which makes it much easier to keep the
36 documentation consistent with the source code.
37 </para>
38
39 <para>
40 You can also configure <application>Doxygen</application> to extract
41 the code structure from undocumented source files. This is very useful
42 to quickly find your way in large source distributions. Used along with
43 <application>Graphviz</application>, you can also visualize the relations
44 between the various elements by means of include dependency graphs,
45 inheritance diagrams, and collaboration diagrams, which are all generated
46 automatically.
47 </para>
48
49 &lfs121_checked;
50
51 <bridgehead renderas="sect3">Package Information</bridgehead>
52 <itemizedlist spacing="compact">
53 <listitem>
54 <para>
55 Download (HTTP): <ulink url="&doxygen-download-http;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download (FTP): <ulink url="&doxygen-download-ftp;"/>
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download MD5 sum: &doxygen-md5sum;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Download size: &doxygen-size;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated disk space required: &doxygen-buildsize;
76 </para>
77 </listitem>
78 <listitem>
79 <para>
80 Estimated build time: &doxygen-time;
81 </para>
82 </listitem>
83 </itemizedlist>
84<!--
85 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
86 <itemizedlist spacing='compact'>
87 <listitem>
88 <para>
89 Required patch: <ulink
90 url="&patch-root;/doxygen-&doxygen-version;-flex_2_6_0_fix-1.patch"/>
91 </para>
92 </listitem>
93 </itemizedlist>-->
94
95 <bridgehead renderas="sect3">Doxygen Dependencies</bridgehead>
96
97 <bridgehead renderas="sect4">Required</bridgehead>
98 <para role="required">
99 <xref linkend="cmake"/> and
100 <xref linkend="git"/>
101 </para>
102
103 <bridgehead renderas="sect4">Recommended</bridgehead>
104 <para role="recommended">
105 <xref linkend="qt6"/> (for doxywizard)
106 </para>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="graphviz"/>,
111 <xref linkend="gs"/>,
112 <xref linkend="libxml2"/> (required for the tests),
113 <xref linkend="llvm"/> (with clang),
114 <!-- Can someone check this? With LLVM7, it fails to build. -->
115 &qt5-deps; (deprecated),
116 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
117 <xref linkend="xapian"/> (for doxyindexer), and
118 <ulink url="https://javacc.github.io/javacc/">javacc</ulink>
119 </para>
120
121 </sect2>
122
123 <sect2 role="installation">
124 <title>Installation of Doxygen</title>
125<!-- At version 1.11.0, I don't see this. -bdubbs
126 <note>
127 <para>
128 When untarring this package, you may see messages such as
129 <quote>Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.TextEncoding'</quote>.
130 These messages are harmless, and can be safely ignored.
131 </para>
132 </note>
133-->
134 <para>
135 First, fix up some python scripts:
136 </para>
137
138<screen><userinput>grep -rl '^#!.*python$' | xargs sed -i '1s/python/&amp;3/'</userinput></screen>
139
140 <para>
141 Install <application>Doxygen</application> by running the following
142 commands:
143 </para>
144
145<screen><userinput>mkdir -v build &amp;&amp;
146cd build &amp;&amp;
147
148cmake -G "Unix Makefiles" \
149 -D CMAKE_BUILD_TYPE=Release \
150 -D CMAKE_INSTALL_PREFIX=/usr \
151 -D build_wizard=ON \
152 -D force_qt=Qt6 \
153 -W no-dev .. &amp;&amp;
154make</userinput></screen>
155
156 <para>
157 To test the results, issue: <command>make tests</command>.
158 One test, 012_cite.dox, is known to fail if <xref linkend="texlive"/>
159 or <xref linkend="tl-installer"/> is not installed.
160 </para>
161
162 <para>
163 If you wish to generate the package documentation, you must have
164 <application>Python</application>, <application>TeX Live</application>
165 (for HTML docs) and <application>Ghostscript</application> (for PDF docs)
166 installed, then issue the following command:
167 </para>
168
169<screen remap="doc"><userinput>cmake -D build_doc=ON \
170 -D DOC_INSTALL_DIR=share/doc/doxygen-&doxygen-version; \
171 .. &amp;&amp;
172make docs</userinput></screen>
173
174 <para>
175 Now, as the <systemitem class="username">root</systemitem> user:
176 </para>
177
178<screen role="root"><userinput>make install &amp;&amp;
179install -vm644 ../doc/*.1 /usr/share/man/man1</userinput></screen>
180
181 <para>
182 If you have generated the package documentation, then the man pages are
183 automatically installed, and you do not need to run the last
184 <command>install ...</command> command.
185 </para>
186
187 </sect2>
188
189 <sect2 role="commands">
190 <title>Command Explanations</title>
191
192 <para>
193 <option>-D build_wizard=OFF</option>: Use this switch if
194 <application>Qt6</application> is not installed.
195 </para>
196
197 <para>
198 <option>-D build_search=ON</option>: Use this switch if
199 <application>xapian</application> is installed and you wish to build
200 external search tools (<command>doxysearch.cgi</command> and
201 <command>doxyindexer)</command>.
202 </para>
203
204 <para>
205 <option>-D force_qt6=ON</option>: Use this switch to build
206 <command>doxywizard</command> with Qt6 even if Qt5 is installed.
207 </para>
208
209 <para>
210 <option>-D use_libclang=ON</option>: Use this switch if
211 <application>llvm</application> with <application>clang</application> are
212 installed, to add support for libclang parsing.
213 </para>
214
215 </sect2>
216
217 <sect2 role="configuration">
218 <title>Configuring Doxygen</title>
219
220 <para>
221 There is no real configuration necessary for the
222 <application>Doxygen</application> package although three additional
223 packages are required if you wish to use extended capabilities.
224 If you require formulas to create PDF
225 documentation, then you must have <xref linkend="texlive"/> installed.
226 If you require formulas to convert PostScript files to bitmaps, then
227 you must have <xref linkend="gs"/> installed.
228 </para>
229
230 </sect2>
231
232 <sect2 role="content">
233 <title>Contents</title>
234
235 <segmentedlist>
236 <segtitle>Installed Programs</segtitle>
237 <segtitle>Installed Libraries</segtitle>
238 <segtitle>Installed Directory</segtitle>
239
240 <seglistitem>
241 <seg>
242 doxygen and optionally,
243 doxywizard, doxyindexer and doxysearch.cgi
244 </seg>
245 <seg>
246 None
247 </seg>
248 <seg>
249 /usr/share/doc/doxygen-&doxygen-version;
250 </seg>
251 </seglistitem>
252 </segmentedlist>
253
254 <variablelist>
255 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
256 <?dbfo list-presentation="list"?>
257 <?dbhtml list-presentation="table"?>
258
259 <varlistentry id="doxygen-prog">
260 <term><command>doxygen</command></term>
261 <listitem>
262 <para>
263 is a command-line based utility used to generate template
264 configuration files and then generate documentation from these
265 templates. Use <command>doxygen --help</command> for an
266 explanation of the command-line parameters
267 </para>
268 <indexterm zone="doxygen doxygen-prog">
269 <primary sortas="b-doxygen">doxygen</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="doxywizard">
275 <term><command>doxywizard</command></term>
276 <listitem>
277 <para>
278 is a GUI front-end for configuring and
279 running <command>doxygen</command>
280 </para>
281 <indexterm zone="doxygen doxywizard">
282 <primary sortas="b-doxywizard">doxywizard</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="doxyindexer">
288 <term><command>doxyindexer</command></term>
289 <listitem>
290 <para>
291 generates a search index called <filename>doxysearch.db</filename>
292 from one or more search data files produced by
293 <command>doxygen</command>. See, e.g.
294 <ulink url="https://javacc.github.io/javacc/"/>
295 </para>
296 <indexterm zone="doxygen doxyindexer">
297 <primary sortas="b-doxyindexer">doxyindexer</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="doxysearch.cgi">
303 <term><command>doxysearch.cgi</command></term>
304 <listitem>
305 <para>
306 is a CGI program to search the data indexed by
307 <command>doxyindexer</command>
308 </para>
309 <indexterm zone="doxygen doxysearch.cgi">
310 <primary sortas="b-doxysearch.cgi">doxysearch.cgi</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 </variablelist>
316
317 </sect2>
318
319</sect1>
Note: See TracBrowser for help on using the repository browser.