source: x/lib/cairo.xml@ 7e3d293

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 7e3d293 was 7e3d293, checked in by DJ Lucas <dj@…>, 12 years ago

Further clarify Cairo reciprocal dependencies and install libxcb backend by default.

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

  • Property mode set to 100644
File size: 9.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 cairo-download-http "http://cairographics.org/releases/cairo-&cairo-version;.tar.gz">
8 <!ENTITY cairo-download-ftp "&gentoo-ftp-repo;/cairo-&cairo-version;.tar.gz">
9 <!ENTITY cairo-md5sum "f101a9e88b783337b20b2e26dfd26d5f">
10 <!ENTITY cairo-size "22.5 MB">
11 <!ENTITY cairo-buildsize "145 MB (up to an additional 454 MB to run the test suite)">
12 <!ENTITY cairo-time "0.7 SBU (up to an additional 2 SBU to run the test suite)">
13]>
14
15<sect1 id="cairo" xreflabel="cairo-&cairo-version;">
16 <?dbhtml filename="cairo.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>cairo-&cairo-version;</title>
24
25 <indexterm zone="cairo">
26 <primary sortas="a-cairo">cairo</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to cairo</title>
31
32 <para><application>Cairo</application> is a 2D graphics library with
33 support for multiple output devices. Currently supported output targets
34 include the <application>X</application> Window System, win32, image
35 buffers, PostScript, PDF and SVG. Experimental backends include OpenGL
36 Quartz and XCB file output. cairo is designed to produce consistent output
37 on all output media while taking advantage of display hardware acceleration
38 when available (e.g., through the X Render Extension). The
39 <application>Cairo</application> API provides operations similar to the
40 drawing operators of PostScript and PDF. Operations in
41 <application>Cairo</application> include stroking and filling cubic
42 B&eacute;zier splines, transforming and compositing translucent images, and
43 antialiased text rendering. All drawing operations can be transformed by
44 any <ulink url="http://en.wikipedia.org/wiki/Affine_transformation">affine
45 transformation</ulink> (scale, rotation, shear, etc.).</para>
46
47 &lfs71_checked;
48
49 <bridgehead renderas="sect3">Package Information</bridgehead>
50 <itemizedlist spacing="compact">
51 <listitem>
52 <para>Download (HTTP): <ulink url="&cairo-download-http;"/></para>
53 </listitem>
54 <listitem>
55 <para>Download (FTP): <ulink url="&cairo-download-ftp;"/></para>
56 </listitem>
57 <listitem>
58 <para>Download MD5 sum: &cairo-md5sum;</para>
59 </listitem>
60 <listitem>
61 <para>Download size: &cairo-size;</para>
62 </listitem>
63 <listitem>
64 <para>Estimated disk space required: &cairo-buildsize;</para>
65 </listitem>
66 <listitem>
67 <para>Estimated build time: &cairo-time;</para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">cairo Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required"><xref linkend="pkgconfig"/>, <xref linkend="libpng"/>,
75 <xref linkend="pixman"/>, and <xref linkend="fontconfig"/></para>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended"><xref linkend="xorg7-lib"/> (gtk requires
79 cairo to be built with the libX11 backend) and <xref linkend="mesalib"/>
80 (required for the gl backend)</para>
81
82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional"><xref linkend="gtk-doc"/>,
84 <ulink url="http://www.directfb.org/">DirectFB</ulink>,
85 <ulink url="http://code.google.com/p/skia/">Skia</ulink> and
86 <ulink url="http://www.valgrind.org">Valgrind</ulink></para>
87
88 <bridgehead renderas="sect4">Optional (to provide extended test suite
89 coverage)</bridgehead>
90 <para role="optional"><xref linkend="gs"/> (to test the postscript
91 backend), <xref linkend="gtk2"/> (for testing the PDF backend),
92 <xref linkend="poppler"/> (for testing the PDF backend),
93 <ulink url="http://libspectre.freedesktop.org">libspectre</ulink> (to test
94 the PDF backend) and <xref linkend="librsvg"/> (for testing the SVG
95 backend)</para>
96
97 <note><para>There is a reciprocal dependency with cairo and libdrm. Best
98 practice is to install cairo without the OpenGL backend, and return to
99 re-install cairo after the full Xorg installation has been completed. Also
100 note that the GTK, Poppler and librsvg packages are also reciprocal. As the
101 test suite is currently unreliable, it is best to simply skip it at this
102 time.</para></note>
103
104 <para condition="html" role="usernotes">User Notes:
105 <ulink url="&blfs-wiki;/cairo"/></para>
106
107 </sect2>
108
109 <sect2 role="installation">
110 <title>Installation of cairo</title>
111
112 <para>Install <application>Cairo</application> by running the following
113 commands:</para>
114
115<screen><userinput>./configure --prefix=/usr \
116 --enable-tee \
117 --enable-gl \
118 --enable-xcb &amp;&amp;
119make</userinput></screen>
120
121 <para>To test the results, issue: <command>make -k check</command>.</para>
122
123 <para>Note that the tests take a long time to run and many of them fail for
124 unknown reasons.</para>
125
126 <para>Now, as the <systemitem class="username">root</systemitem>
127 user:</para>
128
129<screen role="root"><userinput>make install</userinput></screen>
130
131 </sect2>
132
133 <sect2 role="commands">
134 <title>Command Explanations</title>
135
136 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
137 href="../../xincludes/gtk-doc-rebuild.xml"/>
138
139 <para><option>--enable-tee</option>: This is used by
140 <application>Firefox</application>. If you don't enable the Cairo's tee
141 surface back end you won't be able to build
142 <application>Firefox</application> with
143 <option>--enable-system-cairo</option>.</para>
144
145 <para><option>--enable-gl</option>: Enable the
146 <application>Cairo</application> OpenGL back end. Remove this option if
147 you've not installed <xref linkend="mesalib"/>.</para>
148
149 <para><option>--enable-xcb</option>: Enable
150 <application>Cairo</application>'s <xref linkend="libxcb"/> back end.
151 Remove this option if you have not yet installed libxcb.</para>
152
153 <para><option>--disable-static</option>: Prevent static libraries being
154 built and installed.</para>
155
156 <para><option>--enable-vg</option>: Enable the
157 <application>Cairo</application>
158 <ulink url="http://en.wikipedia.org/wiki/OpenVG">OpenVG</ulink> back
159 end (requires <xref linkend="mesalib"/> installed, configured with
160 --enable-gallium-egl and --enable-openvg).</para>
161
162 </sect2>
163
164 <sect2 role="content">
165 <title>Contents</title>
166
167 <segmentedlist>
168 <segtitle>Installed Programs</segtitle>
169 <segtitle>Installed Library</segtitle>
170 <segtitle>Installed Directories</segtitle>
171
172 <seglistitem>
173 <seg>cairo-trace</seg>
174 <seg>libcairo.{so,a}, libcairo-gobject.{so,a} and
175 libcairo-script-interpreter.{so,a}</seg>
176 <seg>/usr/include/cairo, usr/lib/cairo and
177 /usr/share/gtk-doc/html/cairo</seg>
178 </seglistitem>
179 </segmentedlist>
180
181 <variablelist>
182 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
183 <?dbfo list-presentation="list"?>
184 <?dbhtml list-presentation="table"?>
185
186 <varlistentry id="cairo-trace">
187 <term><command>cairo-trace</command></term>
188 <listitem>
189 <para>generates a log of all calls made by an application to
190 <application>Cairo</application>.</para>
191 <indexterm zone="cairo cairo-trace">
192 <primary sortas="b-cairo-trace">cairo-trace</primary>
193 </indexterm>
194 </listitem>
195 </varlistentry>
196
197 <varlistentry id="libcairo">
198 <term><filename class='libraryfile'>libcairo.{so,a}</filename></term>
199 <listitem>
200 <para>contains the 2D graphics functions required for rendering to
201 the various output targets.</para>
202 <indexterm zone="cairo libcairo">
203 <primary sortas="c-libcairo">libcairo.{so,a}</primary>
204 </indexterm>
205 </listitem>
206 </varlistentry>
207
208 <varlistentry id="libcairo-gobject">
209 <term><filename class='libraryfile'>libcairo-gobject.{so,a}</filename></term>
210 <listitem>
211 <para>contains functions that integrate
212 <application>Cairo</application> with <xref linkend="glib2"/>'s
213 GObject type system.</para>
214 <indexterm zone="cairo libcairo-gobject">
215 <primary sortas="c-libcairo-gobject">libcairo-gobject.{so,a}</primary>
216 </indexterm>
217 </listitem>
218 </varlistentry>
219
220 <varlistentry id="libcairo-script-interpreter">
221 <term><filename class='libraryfile'>libcairo-script-interpreter.{so,a}</filename></term>
222 <listitem>
223 <para>contains the script interpreter functions for executing and
224 manipulating <application>Cairo</application> execution traces.</para>
225 <indexterm zone="cairo libcairo-script-interpreter">
226 <primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.{so,a}</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 </variablelist>
232
233 </sect2>
234
235</sect1>
Note: See TracBrowser for help on using the repository browser.