source: general/prog/doxygen.xml@ 14891a90

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 14891a90 was 14891a90, checked in by Xi Ruoyao <xry111@…>, 12 months ago

treewide: More "User Notes" clean up

Remove links to pages w/o real contents.

  • Property mode set to 100644
File size: 9.8 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 "95008edf2d84aeefb7c65a6a4857dc2c">
10 <!ENTITY doxygen-size "5.5 MB">
11 <!ENTITY doxygen-buildsize "240 MB (with tests)">
12 <!ENTITY doxygen-time "1.6 SBU (using parallelism=4; with tests)">
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 &lfs113_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">Optional</bridgehead>
104 <para role="optional">
105 <xref linkend="graphviz"/>,
106 <xref linkend="gs"/>,
107 <xref linkend="libxml2"/> (required for the tests),
108 <xref linkend="llvm"/> (with clang),
109 <!-- Can someone check this? With LLVM7, it fails to build. -->
110 <xref linkend="qt5"/> (for doxywizard),
111 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
112 <xref linkend="xapian"/> (for doxyindexer), and
113 <ulink url="https://javacc.github.io/javacc/">javacc</ulink>
114 </para>
115
116 </sect2>
117
118 <sect2 role="installation">
119 <title>Installation of Doxygen</title>
120
121 <para>
122 First, fix up some python scripts:
123 </para>
124
125<screen><userinput>grep -rl '^#!.*python$' | xargs sed -i '1s/python/&amp;3/'</userinput></screen>
126
127 <para>
128 Install <application>Doxygen</application> by running the following
129 commands:
130 </para>
131
132<screen><userinput>mkdir -v build &amp;&amp;
133cd build &amp;&amp;
134
135cmake -G "Unix Makefiles" \
136 -DCMAKE_BUILD_TYPE=Release \
137 -DCMAKE_INSTALL_PREFIX=/usr \
138 -Wno-dev .. &amp;&amp;
139
140make</userinput></screen>
141
142 <para>
143 To test the results, issue: <command>make tests</command>.
144 One test, 061_Únicod€_file, is known to fail.
145 </para>
146
147 <para>
148 If you wish to generate the package documentation, you must have
149 <application>Python</application>, <application>TeX Live</application>
150 (for HTML docs) and <application>Ghostscript</application> (for PDF docs)
151 installed, then issue the following command:
152 </para>
153
154<screen remap="doc"><userinput>cmake -DDOC_INSTALL_DIR=share/doc/doxygen-&doxygen-version; -Dbuild_doc=ON .. &amp;&amp;
155
156make docs</userinput></screen>
157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem> user:
160 </para>
161
162<screen role="root"><userinput>make install &amp;&amp;
163install -vm644 ../doc/*.1 /usr/share/man/man1</userinput></screen>
164
165 <para>
166 If you have generated the package documentation, then the man pages are
167 automatically installed, and you do not need to run the last
168 <command>install ...</command> command.
169 </para>
170
171 </sect2>
172
173 <sect2 role="commands">
174 <title>Command Explanations</title>
175
176 <para>
177 <option>-Dbuild_wizard=ON</option>: Use this switch if
178 <application>Qt5</application> is installed and you wish to build the GUI
179 front-end.
180 </para>
181
182 <para>
183 <option>-Dbuild_search=ON</option>: Use this switch if
184 <application>xapian</application> is installed and you wish to build
185 external search tools (<command>doxysearch.cgi</command> and
186 <command>doxyindexer)</command>.
187 </para>
188<!--
189 <para>
190 <option>-Dforce_qt4=ON</option>: Use this switch to build
191 <command>doxywizard</command> with Qt4 even if Qt5 is installed.
192 </para>-->
193
194 <para>
195 <option>-Duse_libclang=ON</option>: Use this switch if
196 <application>llvm</application> with <application>clang</application> are
197 installed, to add support for libclang parsing.
198 </para>
199
200 </sect2>
201
202 <sect2 role="configuration">
203 <title>Configuring Doxygen</title>
204
205 <para>
206 There is no real configuration necessary for the
207 <application>Doxygen</application> package although three additional
208 packages are required if you wish to use extended capabilities. If you
209 need to use the language translation features, you must have <xref
210 linkend="python2"/> installed. If you require formulas to create PDF
211 documentation, then you must have <xref linkend="texlive"/> installed.
212 If you require formulas to convert PostScript files to bitmaps, then
213 you must have <xref linkend="gs"/> installed.
214 </para>
215
216 </sect2>
217
218 <sect2 role="content">
219 <title>Contents</title>
220
221 <segmentedlist>
222 <segtitle>Installed Programs</segtitle>
223 <segtitle>Installed Libraries</segtitle>
224 <segtitle>Installed Directory</segtitle>
225
226 <seglistitem>
227 <seg>
228 doxygen and optionally,
229 doxywizard, doxyindexer and doxysearch.cgi
230 </seg>
231 <seg>
232 None
233 </seg>
234 <seg>
235 /usr/share/doc/doxygen-&doxygen-version;
236 </seg>
237 </seglistitem>
238 </segmentedlist>
239
240 <variablelist>
241 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
242 <?dbfo list-presentation="list"?>
243 <?dbhtml list-presentation="table"?>
244
245 <varlistentry id="doxygen-prog">
246 <term><command>doxygen</command></term>
247 <listitem>
248 <para>
249 is a command-line based utility used to generate template
250 configuration files and then generate documentation from these
251 templates. Use <command>doxygen --help</command> for an
252 explanation of the command-line parameters
253 </para>
254 <indexterm zone="doxygen doxygen-prog">
255 <primary sortas="b-doxygen">doxygen</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="doxywizard">
261 <term><command>doxywizard</command></term>
262 <listitem>
263 <para>
264 is a GUI front-end for configuring and
265 running <command>doxygen</command>
266 </para>
267 <indexterm zone="doxygen doxywizard">
268 <primary sortas="b-doxywizard">doxywizard</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="doxyindexer">
274 <term><command>doxyindexer</command></term>
275 <listitem>
276 <para>
277 generates a search index called <filename>doxysearch.db</filename>
278 from one or more search data files produced by
279 <command>doxygen</command>. See, e.g.
280 <ulink url="https://javacc.github.io/javacc/"/>
281 </para>
282 <indexterm zone="doxygen doxyindexer">
283 <primary sortas="b-doxyindexer">doxyindexer</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="doxysearch.cgi">
289 <term><command>doxysearch.cgi</command></term>
290 <listitem>
291 <para>
292 is a CGI program to search the data indexed by
293 <command>doxyindexer</command>
294 </para>
295 <indexterm zone="doxygen doxysearch.cgi">
296 <primary sortas="b-doxysearch.cgi">doxysearch.cgi</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 </variablelist>
302
303 </sect2>
304
305</sect1>
Note: See TracBrowser for help on using the repository browser.