Cairo-1.17.2+f93fc72c03e

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-10.0 platform.

Package Information

Cairo Dependencies

Required

libpng-1.6.37 and Pixman-0.40.0

Recommended

Optional

Cogl-1.22.8, ghostscript-9.52, GTK+-3.24.22 and GTK+-2.24.32, GTK-Doc-1.32, libdrm-2.4.102, librsvg-2.48.8, libxml2-2.9.10, LZO-2.10, Mesa-20.1.5, Poppler-20.08.0, Qt-5.15.0, Valgrind-3.16.1, DirectFB, jbig2dec, libspectre, Skia, and Qt4.

[Note]

Note

There is a circular dependency between cairo and harfbuzz. If cairo is built before harfbuzz, it is necessary to rebuild cairo after harfbuzz in order to build pango.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cairo

Installation of Cairo

Install Cairo by running the following commands:

autoreconf -fiv             &&
./configure --prefix=/usr    \
            --disable-static \
            --enable-tee &&
make

This package does not have a working testsuite.

Now, as the root user:

make install

Command Explanations

autoreconf -fiv: This prevents configure ending in error with the current version of automake because the AM_INIT_AUTOMAKE definitions came from a previous version.

--enable-tee: This switch enables the experimental tee surface backend which is required if using system-installed Cairo with Mozilla applications.

--disable-static: This switch prevents installation of static versions of the libraries.

--enable-xlib-xcb: This switch enables several experimental Xlib/XCB functions used by some window managers. Note that using this option will break some applications such as Epiphany-3.36.4.

--enable-gl: This switch enables Cairo's experimental OpenGL surface which is required for Wayland compositor and some other packages that are not part of BLFS.

--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,lib,share/gtk-doc/html}/cairo

Short Descriptions

cairo-sphinx

is an internal utility for regression analysis.

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's GObject type system.

libcairo-script-interpreter.so

contains the script interpreter functions for executing and manipulating Cairo execution traces.

Last updated on 2020-08-17 19:58:45 -0700