source: general/prog/doxygen.xml@ 4f2fd7ac

trunk
Last change on this file since 4f2fd7ac was 0e16b36, checked in by Bruce Dubbs <bdubbs@…>, 3 weeks ago

Archive qt5.

There are a large number of packages that needed to be changed to
remove qt5, but most are harmless. One package that is affected
is vlc where the gui interface is no longer available. Videos
can still be played from the command line and the kf6 dependency
on vlc is still satisfied.

If necessary qt5 can be restored for vlc.

Also three other files are archived that are no longer needed.

  • 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 "3ab97fd76c6fe090946c836c5051182b">
10 <!ENTITY doxygen-size "8.1 MB">
11 <!ENTITY doxygen-buildsize "248 MB (with tests)">
12 <!ENTITY doxygen-time "1.9 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 &lfs122_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 <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 </sect2>
121
122 <sect2 role="installation">
123 <title>Installation of Doxygen</title>
124<!-- At version 1.11.0, I don't see this. -bdubbs
125 <note>
126 <para>
127 When untarring this package, you may see messages such as
128 <quote>Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.TextEncoding'</quote>.
129 These messages are harmless, and can be safely ignored.
130 </para>
131 </note>
132-->
133 <para>
134 First, fix up some python scripts:
135 </para>
136
137<screen><userinput>grep -rl '^#!.*python$' | xargs sed -i '1s/python/&amp;3/'</userinput></screen>
138
139 <para>
140 Install <application>Doxygen</application> by running the following
141 commands:
142 </para>
143
144<screen><userinput>mkdir -v build &amp;&amp;
145cd build &amp;&amp;
146
147cmake -G "Unix Makefiles" \
148 -D CMAKE_BUILD_TYPE=Release \
149 -D CMAKE_INSTALL_PREFIX=/usr \
150 -D build_wizard=ON \
151 -D force_qt=Qt6 \
152 -W no-dev .. &amp;&amp;
153make</userinput></screen>
154
155 <para>
156 To test the results, issue: <command>make tests</command>.
157 One test, 012_cite.dox, is known to fail if <xref linkend="texlive"/>
158 or <xref linkend="tl-installer"/> is not installed.
159 </para>
160
161 <para>
162 If you wish to generate the package documentation, you must have
163 <application>Python</application>, <application>TeX Live</application>
164 (for HTML docs) and <application>Ghostscript</application> (for PDF docs)
165 installed, then issue the following command:
166 </para>
167
168<screen remap="doc"><userinput>cmake -D build_doc=ON \
169 -D DOC_INSTALL_DIR=share/doc/doxygen-&doxygen-version; \
170 .. &amp;&amp;
171make docs</userinput></screen>
172
173 <para>
174 Now, as the <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>make install &amp;&amp;
178install -vm644 ../doc/*.1 /usr/share/man/man1</userinput></screen>
179
180 <para>
181 If you have generated the package documentation, then the man pages are
182 automatically installed, and you do not need to run the last
183 <command>install ...</command> command.
184 </para>
185
186 </sect2>
187
188 <sect2 role="commands">
189 <title>Command Explanations</title>
190
191 <para>
192 <option>-D build_wizard=OFF</option>: Use this switch if
193 <application>Qt6</application> is not installed.
194 </para>
195
196 <para>
197 <option>-D build_search=ON</option>: Use this switch if
198 <application>xapian</application> is installed and you wish to build
199 external search tools (<command>doxysearch.cgi</command> and
200 <command>doxyindexer)</command>.
201 </para>
202
203 <para>
204 <option>-D force_qt6=ON</option>: Use this switch to build
205 <command>doxywizard</command> with Qt6 even if Qt5 is installed.
206 </para>
207
208 <para>
209 <option>-D use_libclang=ON</option>: Use this switch if
210 <application>llvm</application> with <application>clang</application> are
211 installed, to add support for libclang parsing.
212 </para>
213
214 </sect2>
215
216 <sect2 role="configuration">
217 <title>Configuring Doxygen</title>
218
219 <para>
220 There is no real configuration necessary for the
221 <application>Doxygen</application> package although three additional
222 packages are required if you wish to use extended capabilities.
223 If you require formulas to create PDF
224 documentation, then you must have <xref linkend="texlive"/> installed.
225 If you require formulas to convert PostScript files to bitmaps, then
226 you must have <xref linkend="gs"/> installed.
227 </para>
228
229 </sect2>
230
231 <sect2 role="content">
232 <title>Contents</title>
233
234 <segmentedlist>
235 <segtitle>Installed Programs</segtitle>
236 <segtitle>Installed Libraries</segtitle>
237 <segtitle>Installed Directory</segtitle>
238
239 <seglistitem>
240 <seg>
241 doxygen and optionally,
242 doxywizard, doxyindexer and doxysearch.cgi
243 </seg>
244 <seg>
245 None
246 </seg>
247 <seg>
248 /usr/share/doc/doxygen-&doxygen-version;
249 </seg>
250 </seglistitem>
251 </segmentedlist>
252
253 <variablelist>
254 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
255 <?dbfo list-presentation="list"?>
256 <?dbhtml list-presentation="table"?>
257
258 <varlistentry id="doxygen-prog">
259 <term><command>doxygen</command></term>
260 <listitem>
261 <para>
262 is a command-line based utility used to generate template
263 configuration files and then generate documentation from these
264 templates. Use <command>doxygen --help</command> for an
265 explanation of the command-line parameters
266 </para>
267 <indexterm zone="doxygen doxygen-prog">
268 <primary sortas="b-doxygen">doxygen</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="doxywizard">
274 <term><command>doxywizard</command></term>
275 <listitem>
276 <para>
277 is a GUI front-end for configuring and
278 running <command>doxygen</command>
279 </para>
280 <indexterm zone="doxygen doxywizard">
281 <primary sortas="b-doxywizard">doxywizard</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="doxyindexer">
287 <term><command>doxyindexer</command></term>
288 <listitem>
289 <para>
290 generates a search index called <filename>doxysearch.db</filename>
291 from one or more search data files produced by
292 <command>doxygen</command>. See, e.g.
293 <ulink url="https://javacc.github.io/javacc/"/>
294 </para>
295 <indexterm zone="doxygen doxyindexer">
296 <primary sortas="b-doxyindexer">doxyindexer</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="doxysearch.cgi">
302 <term><command>doxysearch.cgi</command></term>
303 <listitem>
304 <para>
305 is a CGI program to search the data indexed by
306 <command>doxyindexer</command>
307 </para>
308 <indexterm zone="doxygen doxysearch.cgi">
309 <primary sortas="b-doxysearch.cgi">doxysearch.cgi</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 </variablelist>
315
316 </sect2>
317
318</sect1>
Note: See TracBrowser for help on using the repository browser.