Part II. Building Clutter

Clutter Dependencies

GLib

A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.

GObject

The GLib Object System provides the required implementations of a flexible, extensible and intentionally easy to map (into other languages) object-oriented framework for C.

Pango

Pango is a library for laying out and rendering text, with an emphasis on internationalization.

GDK-Pixbuf, Backend Windowing System Library, Graphics Rendering

GDK-Pixbuf is a library for loading and manipulating various image file formats.

GLX, EGL (1.1), SDL and Cocoa (OS X)

Open GL (1.2+) ir Open GL ES (1.1)

Platform-specific instructions

Linux

If you are using Debian or Ubuntu, you can install pre-compiled binary packages the normal Debian way following the instructions at http://debian.o-hand.com/.

To build Clutter clutter from sources, get the latest source archives from http://www.clutter-project.org/sources/. Once you have extracted the sources from the archive execute the following commands in the top-level directory:


    ./configure
    make
    make install
        

You can configure the build with number of additional arguments passed to the configure script, the full list of which can be obtained by running ./configure --help. The following arguments are specific to Clutter:

--enable-debug=[no/minimum/yes]

Turns on debugging. Possible values are: yes - all glib asserts, checks and runtime clutter verbose messages; minimum - just glib cast checks and runtime clutter verbose messagaes; no - no glib asserts or checks and no runtime clutter verbose messages; default=yes.

--enable-maintainer-flags=[no/yes]

Use strict compiler flags; default=no.

--enable-gtk-doc

Use gtk-doc to build documentation; default=no.

--enable-manual=[no/yes]

Build application developers manual; requires jw and xmlto binaries; default=no.

--with-flavour=[glx/eglx/eglnative/sdl]

Select the Clutter backend; default=glx.

Windows

The recommended way of building Clutter for Windows is using the mingw tool chain. One option is to cross-compile Clutter under Linux -- you can use the script found in the build/mingw/ directory to simplify the process (the script takes care of setting up the necessary dependencies).

If you wish to build Clutter using mingw direcly under Windows, you can do so the normal *nix way (described above) using the mingw POSIX shell. Should you prefer to use Microsoft Visual Studio, a project file for MSVC 2005 is located in the build/msvc_2k5/ directory. In either case, you will need to first install the required dependencies.

Clutter on Windows currently uses the SDL backend for windowing

OSX

The recommended way of building Clutter on OSX is to use Jhbuild, following the documentation for building the GTK+ stack as shown here.

Jhbuild depends on SVN, which can be installed on OSX by using the MacPorts project.

XCode should also be installed, either from the OSX installation disk or downloading it from the Apple website.

Due to Clutter's dependency on GDK-Pixbuf, GTK+ for OSX must also be built. After building GTK+, extract the files from Clutter's release tar archive or check out the project from SVN. Clutter OSX backend is built by passing the --with-flavour=osx command line argument to the configure script.

GTK-Doc is not working on OSX, so API reference generation should also be disabled when building Clutter, by using the --disable-docs and --disable-gtk-doc command line argument to the configure script.