source: general/prog/doxygen.xml@ b4ea593

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules 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 b4ea593 was b4ea593, checked in by Pierre Labastie <pieere@…>, 8 years ago

Patch doxygen for building with flex-2.6.0

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

  • 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 "http://ftp.stack.nl/pub/doxygen/doxygen-&doxygen-version;.src.tar.gz">
8 <!ENTITY doxygen-download-ftp "ftp://ftp.stack.nl/pub/doxygen/doxygen-&doxygen-version;.src.tar.gz">
9 <!ENTITY doxygen-md5sum "79767ccd986f12a0f949015efb5f058f">
10 <!ENTITY doxygen-size "4.6 MB">
11 <!ENTITY doxygen-buildsize "174 MB (with all programs, docs and tests)">
12 <!ENTITY doxygen-time "2.4 SBU (with all programs, docs and 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 &lfs78_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>Required patch: <ulink
93 url="&patch-root;/doxygen-&doxygen-version;-flex_2_6_0_fix-1.patch"/></para>
94 </listitem>
95 </itemizedlist>
96 <bridgehead renderas="sect3">Doxygen Dependencies</bridgehead>
97
98 <bridgehead renderas="sect4">Required</bridgehead>
99 <para role="required">
100 <xref linkend="cmake"/>
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"/>,
108 <xref linkend="llvm"/> (with clang),
109 <xref linkend="python2"/> or <xref linkend="python3"/>,
110 <xref linkend="qt4"/> (for doxywizard),
111 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>) and
112 <xref linkend="xapian"/> (for doxyindexer)
113 </para>
114
115 <para condition="html" role="usernotes">User Notes:
116 <ulink url="&blfs-wiki;/doxygen"/>
117 </para>
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of Doxygen</title>
122
123 <para>
124 First, fix building <application>Doxygen</application> with a newer
125 version of <application>Flex</application>.
126 </para>
127
128<screen><userinput>patch -p1 -i ../doxygen-&doxygen-version;-flex_2_6_0_fix-1.patch</userinput></screen>
129
130 <para>
131 Install <application>Doxygen</application> by running the following
132 commands:
133 </para>
134
135<screen><userinput>mkdir -v build &amp;&amp;
136cd build &amp;&amp;
137
138cmake -G "Unix Makefiles" \
139 -DCMAKE_BUILD_TYPE=Release \
140 -DCMAKE_INSTALL_PREFIX=/usr \
141 .. &amp;&amp;
142
143make</userinput></screen>
144
145 <para>
146 To test the results, issue: <command>make tests</command>.
147 </para>
148
149 <para>
150 If you wish to generate the package documentation, you must have
151 <application>Python</application>, <application>TeX Live</application>
152 (for HTML docs) and <application>Ghostscript</application> (for PDF docs)
153 installed, then issue the following command:
154 </para>
155
156<screen><userinput>sed -i 's:man/man1:share/&amp;:' ../doc/CMakeLists.txt &amp;&amp;
157
158cmake -DDOC_INSTALL_DIR=share/doc/doxygen-&doxygen-version; -Dbuild_doc=ON .. &amp;&amp;
159
160make docs</userinput></screen>
161
162 <para>
163 Now, as the <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"><userinput>make install &amp;&amp;
167install -vm644 ../doc/*.1 /usr/share/man/man1</userinput></screen>
168
169 </sect2>
170
171 <sect2 role="commands">
172 <title>Command Explanations</title>
173
174 <para>
175 <command>sed -i ... CMakeLists.txt</command>: Fixes the directory where
176 the man pages are installed.
177 </para>
178
179 <para>
180 <option>-Dbuild_wizard=ON</option>: Use this switch if
181 <application>Qt4</application> is installed and you wish to build the GUI
182 front-end.
183 </para>
184
185 <para>
186 <option>-Dbuild_search=ON</option>: Use this switch if
187 <application>xapian</application> is installed and you wish to build
188 external search tools (<command>doxysearch.cgi</command> and
189 <command>doxyindexer)</command>.
190 </para>
191
192 <para>
193 <option>-Duse_libclang=ON</option>: Use this switch if
194 <application>llvm</application> with <application>clang</application> are
195 installed, to add support for libclang parsing.
196 </para>
197
198 </sect2>
199
200 <sect2 role="configuration">
201 <title>Configuring Doxygen</title>
202
203 <para>
204 There is no real configuration necessary for the
205 <application>Doxygen</application> package although three additional
206 packages are required if you wish to use extended capabilities. If you
207 need to use the language translation features, you must have <xref
208 linkend="python2"/> installed. If you require formulas to create PDF
209 documentation, then you must have <xref linkend="texlive"/> installed.
210 If you require formulas to convert PostScript files to bitmaps, then
211 you must have <xref linkend="gs"/> installed.
212 </para>
213
214 </sect2>
215
216 <sect2 role="content">
217 <title>Contents</title>
218
219 <segmentedlist>
220 <segtitle>Installed Programs</segtitle>
221 <segtitle>Installed Libraries</segtitle>
222 <segtitle>Installed Directory</segtitle>
223
224 <seglistitem>
225 <seg>
226 doxygen and optionally,
227 doxywizard, doxyindexer and doxysearch.cgi
228 </seg>
229 <seg>
230 None
231 </seg>
232 <seg>
233 /usr/share/doc/doxygen-&doxygen-version;
234 </seg>
235 </seglistitem>
236 </segmentedlist>
237
238 <variablelist>
239 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
240 <?dbfo list-presentation="list"?>
241 <?dbhtml list-presentation="table"?>
242
243 <varlistentry id="doxygen-prog">
244 <term><command>doxygen</command></term>
245 <listitem>
246 <para>
247 is a command-line based utility used to generate template
248 configuration files and then generate documentation from these
249 templates. Use <command>doxygen --help</command> for an
250 explanation of the command-line parameters.
251 </para>
252 <indexterm zone="doxygen doxygen-prog">
253 <primary sortas="b-doxygen">doxygen</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="doxywizard">
259 <term><command>doxywizard</command></term>
260 <listitem>
261 <para>
262 is a GUI front-end for configuring and
263 running <command>doxygen</command>.
264 </para>
265 <indexterm zone="doxygen doxywizard">
266 <primary sortas="b-doxywizard">doxywizard</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="doxyindexer">
272 <term><command>doxyindexer</command></term>
273 <listitem>
274 <para>
275 generates a search index called <filename>doxysearch.db</filename>
276 from one or more search data files produced by
277 <command>doxygen</command>. See, e.g. <ulink
278 url="http://www.stack.nl/~dimitri/doxygen/manual/extsearch.html"/>.
279 </para>
280 <indexterm zone="doxygen doxyindexer">
281 <primary sortas="b-doxyindexer">doxyindexer</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="doxysearch.cgi">
287 <term><command>doxysearch.cgi</command></term>
288 <listitem>
289 <para>
290 is a CGI program to search the data indexed by
291 <command>doxyindexer</command>.
292 </para>
293 <indexterm zone="doxygen doxysearch.cgi">
294 <primary sortas="b-doxysearch.cgi">doxysearch.cgi</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 </variablelist>
300
301 </sect2>
302
303</sect1>
Note: See TracBrowser for help on using the repository browser.