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+)

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]

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