Clutter Wiki

Views
From ClutterProject
Jump to: navigation, search

Contents

Building Clutter

Dependencies

Common 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.
Cairo
Cairo is a library for 2D vector drawing. It is used by Pango to draw glyphs.
ATK
The accessibility toolkit.
JSON-GLib
A library for parsing and generating JSON data. It is used to parse ClutterScript definitions.

Backend Windowing System Library

  • GLX, EGL (1.1), Cocoa (OS X) and WGL (Windows)

Graphics Rendering

  • Open GL (1.3+ or 1.2 with multitexturing support) or Open GL ES (1.1 or 2.0)

Platform-specific instructions

Linux

Building from archive

To build Clutter from sources, get the latest source archives from http://source.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

Note: the list of arguments and their usage is documented in the README file that comes with Clutter.

Building from Git

If you are tracking Clutter's development then the recommended way of building Clutter is to use JHBuild. JHBuild allows setting up a build and development environment separated from the rest of your system, and avoid compromising your installed copies of Clutter and its dependencies.

Note: even if your distribution provides a package for JHBuild you should definitely use the most recent copy available from gnome.org's Git repository.

To build Clutter and its dependencies using JHBuild you should download and execute the clutter-build-setup.sh file from gnome.org using:

curl -O http://git.gnome.org/browse/clutter/plain/build/clutter-build-setup.sh
/bin/bash ./clutter-build-setup.sh

Note for JHBuild users: the script will copy the current $HOME/.jhbuildrc file in $HOME/.jhbuildrc-bak, and create a $HOME/.jhbuildrc-custom which can then be edited.

After executing the clutter-build-setup.sh script, you can build Clutter and all its dependencies using:

jhbuild build

This command should work reliably; if you have built Clutter in the past and the build suddenly fails, you should try using:

jhbuild build -f -a -c

If this also fails, you can safely remove the $HOME/clutter directory and restart from scratch.

Failures to build Clutter should be reported on the clutter-devel-list@clutter-project.org mailing list.

Windows

Clutter supports building for Windows natively with the MinGW compiler. For more information see BuildingClutterOnWindows.

Mac OSX

Clutter supports building for Mac OSX natively. For more information see BuildingClutterOnOSX.

Personal tools