glfs/x/lib/cairo.xml
Bruce Dubbs e08a501d7a Updated to rep-gtk-0.90.2.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9100 af4574ff-66df-0310-9fd7-8a98e5e911e0
2011-12-12 05:30:20 +00:00

229 lines
8.8 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY cairo-download-http "http://cairographics.org/releases/cairo-&cairo-version;.tar.gz">
<!ENTITY cairo-download-ftp "&gentoo-ftp-repo;/cairo-&cairo-version;.tar.gz">
<!ENTITY cairo-md5sum "f101a9e88b783337b20b2e26dfd26d5f">
<!ENTITY cairo-size "22.5 MB">
<!ENTITY cairo-buildsize "145 MB (up to an additional 454 MB to run the test suite)">
<!ENTITY cairo-time "0.7 SBU (up to an additional 2 SBU to run the test suite)">
]>
<sect1 id="cairo" xreflabel="cairo-&cairo-version;">
<?dbhtml filename="cairo.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>cairo-&cairo-version;</title>
<indexterm zone="cairo">
<primary sortas="a-cairo">cairo</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to cairo</title>
<para><application>Cairo</application> is a 2D graphics library with
support for multiple output devices. Currently supported output targets
include the <application>X</application> Window System, win32, image
buffers, PostScript, PDF and SVG. Experimental backends include OpenGL
Quartz and XCB file output. cairo is designed to produce consistent output
on all output media while taking advantage of display hardware acceleration
when available (e.g., through the X Render Extension). The
<application>Cairo</application> API provides operations similar to the
drawing operators of PostScript and PDF. Operations in
<application>Cairo</application> include stroking and filling cubic
B&eacute;zier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by
any <ulink url="http://en.wikipedia.org/wiki/Affine_transformation">affine
transformation</ulink> (scale, rotation, shear, etc.).</para>
&lfs70_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&cairo-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&cairo-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &cairo-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &cairo-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &cairo-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &cairo-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">cairo Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="pkgconfig"/>, <xref linkend="libpng"/>,
<xref linkend="pixman"/>, and <xref linkend="fontconfig"/></para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"><xref linkend="x-window-system"/> (gtk requires
cairo to be built after libX11 is installed)</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="gtk-doc"/>,
<ulink url="http://www.directfb.org/">DirectFB</ulink>,
<ulink url="http://code.google.com/p/skia/">Skia</ulink> and
<ulink url="http://www.valgrind.org">Valgrind</ulink></para>
<bridgehead renderas="sect4">Optional (to provide extended test suite
coverage)</bridgehead>
<para role="optional"><xref linkend="gs"/> (to test the postscript
backend), <xref linkend="gtk2"/> (for testing the PDF backend),
<xref linkend="poppler"/> (for testing the PDF backend),
<ulink url="http://libspectre.freedesktop.org">libspectre</ulink> (to test
the PDF backend) and <xref linkend="librsvg"/> (for testing the SVG
backend)</para>
<para>Note that the GTK, Poppler and librsvg packages are circular in that
using them for test suite coverage requires installing cairo first, then
installing the desired package(s), then installing cairo again. As the test
suite seems to be somewhat broken it doesn't seem worth the effort.</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/cairo"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of cairo</title>
<para>Install <application>Cairo</application> by running the following
commands:</para>
<screen><userinput>./configure --prefix=/usr --enable-tee --enable-gl &amp;&amp;
make</userinput></screen>
<para>To test the results, issue: <command>make -k check</command>.</para>
<para>Note that the tests take a long time to run and many of them fail for
unknown reasons.</para>
<para>Now, as the <systemitem class="username">root</systemitem>
user:</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gtk-doc-rebuild.xml"/>
<para><option>--enable-tee</option>: This is used by
<application>Firefox</application>. If you don't enable the Cairo's tee
surface back end you won't be able to build
<application>Firefox</application> with
<option>--enable-system-cairo</option>.</para>
<para><option>--enable-gl</option>: Enable the
<application>Cairo</application> OpenGL back end. Remove this option if
you've not installed <xref linkend="mesalib"/>.</para>
<para><option>--enable-xcb</option>: Enable
<application>Cairo</application>'s <xref linkend="libxcb"/> back end.</para>
<para><option>--disable-static</option>: Prevent static libraries being
built and installed.</para>
<para><option>--enable-vg</option>: Enable the
<application>Cairo</application>
<ulink url="http://en.wikipedia.org/wiki/OpenVG">OpenVG</ulink> back
end (requires <xref linkend="mesalib"/> installed, configured with
--enable-gallium-egl and --enable-openvg).</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>cairo-trace</seg>
<seg>libcairo.{so,a}, libcairo-gobject.{so,a} and
libcairo-script-interpreter.{so,a}</seg>
<seg>/usr/include/cairo, usr/lib/cairo and
/usr/share/gtk-doc/html/cairo</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="cairo-trace">
<term><command>cairo-trace</command></term>
<listitem>
<para>generates a log of all calls made by an application to
<application>Cairo</application>.</para>
<indexterm zone="cairo cairo-trace">
<primary sortas="b-cairo-trace">cairo-trace</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcairo">
<term><filename class='libraryfile'>libcairo.{so,a}</filename></term>
<listitem>
<para>contains the 2D graphics functions required for rendering to
the various output targets.</para>
<indexterm zone="cairo libcairo">
<primary sortas="c-libcairo">libcairo.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcairo-gobject">
<term><filename class='libraryfile'>libcairo-gobject.{so,a}</filename></term>
<listitem>
<para>contains functions that integrate
<application>Cairo</application> with <xref linkend="glib2"/>'s
GObject type system.</para>
<indexterm zone="cairo libcairo-gobject">
<primary sortas="c-libcairo-gobject">libcairo-gobject.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcairo-script-interpreter">
<term><filename class='libraryfile'>libcairo-script-interpreter.{so,a}</filename></term>
<listitem>
<para>contains the script interpreter functions for executing and
manipulating <application>Cairo</application> execution traces.</para>
<indexterm zone="cairo libcairo-script-interpreter">
<primary sortas="c-libcairo-script-interpreter">libcairo-script-interpreter.{so,a}</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>