source: general/prog/doxygen.xml@ 7b794c2

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 7b794c2 was 7b794c2, checked in by Pierre Labastie <pieere@…>, 3 years ago

Fix building doxygen doc

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24437 af4574ff-66df-0310-9fd7-8a98e5e911e0

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