source: general/prog/doxygen.xml@ ef0722a

11.0 11.1 11.2 lazarus plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since ef0722a was ef0722a, checked in by Bruce Dubbs <bdubbs@…>, 16 months ago

Tags

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