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-11.1
platform.
Package Information
Cairo Dependencies
Required
libpng-1.6.37 and Pixman-0.40.0
Recommended
Fontconfig-2.13.1, GLib-2.70.4
(required for most GUIs), and Xorg Libraries
Optional
Cogl-1.22.8, ghostscript-9.55.0,
GTK+-3.24.31 and GTK+-2.24.33, GTK-Doc-1.33.2, libdrm-2.4.110, librsvg-2.52.6, libxml2-2.9.13, LZO-2.10, Mesa-21.3.6,
Poppler-22.02.0, Qt-5.15.2, Valgrind-3.18.1, DirectFB,
jbig2dec, libspectre,
Skia, and Qt4.
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: https://wiki.linuxfromscratch.org/blfs/wiki/cairo
Installation of Cairo
Install Cairo by running the
following commands:
./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
--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.
--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 create and install the
documentation.