cairo-1.12.2
Introduction to Cairo
Cairo is a 2D graphics library
with support for multiple output devices. Currently supported
output targets include the X
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 Cairo API
provides operations similar to the drawing operators of PostScript
and PDF. Operations in Cairo
include stroking and filling cubic Bézier splines, transforming and
compositing translucent images, and antialiased text rendering. All
drawing operations can be transformed by any affine
transformation (scale, rotation, shear, etc.).
This package is known to build and work properly using an LFS-7.1
platform.
Package Information
Additional Downloads
Cairo Dependencies
Required
pixman-0.24.4 and pkg-config-0.26.
Recommended (Required if building GTK+)
Fontconfig-2.9.0, libpng-1.5.9 (if
you want to build Cairo without
Libpng you will need to add
--disable-png --disable-svg to the configure options and remove
--enable-tee) and Xorg Libraries.
Optional
Cogl-1.10.2, DirectFB, ghostscript-9.05 (for
testing the postscript backend), gtk+-2.24.10 (for testing the PDF
backend), GTK-Doc-1.18, libdrm-2.4.33,
librsvg-2.36.1 (for testing the SVG backend),
libspectre (for testing the
PDF backend), MesaLib-8.0.2, Poppler-0.18.4
(for testing the PDF backend), Qt-4.8.1, Skia and Valgrind.
Note
There is a reciprocal dependency with the Gtk 2, Librsvg and Poppler packages. As the test suite is
currently unreliable, it is best to simply skip it at this time.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cairo
Installation of Cairo
Install Cairo by running the
following commands:
sed -i 's#check-plt.sh ##' src/Makefile.in &&
patch -p1 < ../cairo-1.12.2-expose-snapshot-1.patch &&
./configure --prefix=/usr --disable-static --enable-tee --enable-xcb &&
make
Note that the tests take a long time to run, many of them fail for
unknown reasons and it has been known to cause a kernel panic. If
you want to run the tests issue: make
-k check.
Now, as the root user:
make install
Command Explanations
sed -i 's#check-plt.sh ##'
src/Makefile.in: This sed disables running a test
which is known to fail with the expose-snapshot patch.
patch -p1 <
../cairo-1.12.2-expose-snapshot-1.patch: This patch
exposes some private functions that Firefox relies on. Applying this patch allows
Firefox to use the system
installed Cairo.
--enable-tee: This is used by
Firefox. If you don't enable the
Cairo's tee surface backend you won't be able to build Firefox with --enable-system-cairo.
--enable-gl: Enable Cairo's OpenGL backend.
--enable-xcb: Enable Cairo's libxcb backend.
--enable-vg: Enable the Cairo OpenVG backend (requires
MesaLib-8.0.2 installed, configured with
--enable-gallium-egl and --enable-openvg).
--disable-static: This switch prevents
installation of static versions of the libraries.
--enable-gtk-doc: Use this parameter if
GTK-Doc is installed and you wish
to rebuild and install the API documentation.
Contents
Installed Programs:
cairo-sphinx and cairo-trace
Installed Libraries:
libcairo.so, libcairo-gobject.so and
libcairo-script-interpreter.so
Installed Directories:
/usr/include/cairo, /usr/lib/cairo and
/usr/share/gtk-doc/html/cairo
Short Descriptions
|
cairo-trace
|
generates a log of all calls made by an application to
Cairo.
|
|
libcairo.so
|
contains the 2D graphics functions required for rendering
to the various output targets.
|
|
libcairo-gobject.so
|
contains functions that integrate Cairo with GLib-2.32.3's GObject type system.
|
|
libcairo-script-interpreter.so
|
contains the script interpreter functions for executing
and manipulating Cairo
execution traces.
|
Last updated on 2012-05-08 12:56:40 +0000