Commit Graph

270 Commits

Author SHA1 Message Date
Emmanuele Bassi
1d28ed035f Post-release bump to 1.1.11 2010-02-09 13:39:08 +00:00
Emmanuele Bassi
a24d4d21a0 Release 1.1.10
Brown paper bag release.
2010-02-09 13:24:13 +00:00
Emmanuele Bassi
a23ce86068 Post-release bump to 1.1.9 2010-02-08 18:09:14 +00:00
Emmanuele Bassi
a2889ed077 Release Clutter 1.1.8 2010-02-08 17:57:48 +00:00
Emmanuele Bassi
d8d728a8d7 Remove the SDL backend
The SDL API is far too limited for the windowing system needs of
Clutter; the status of the SDL backend was always experimental, and
since the Windows platform is supported by a native backend there is
no point in having the SDL backend around any more.
2010-02-03 16:34:27 +00:00
Emmanuele Bassi
46d6697b91 build: -Wformat is required for -Wformat-security
GCC will ignore -Wformat-security without -Wformat on the same compiler
flags.
2010-02-01 14:53:13 +00:00
Emmanuele Bassi
157a0cf936 build: Retrieve X11 cflags and libraries
When using pkg-config to check for the x11 package compiler flags and
libraries we actually need to retrieve those values from the pc file.

This should also fix the issue with non-canonical installations of the
X11 headers and shared objects.

http://bugzilla.openedhand.com/show_bug.cgi?id=1966
2010-02-01 14:48:50 +00:00
Emmanuele Bassi
763fcabd8b build: Warn with --disable-conformance and --enable-gcov
When building Clutter without conformance test suite we ought to warn
the user that the coverage report is not going to be accurate.
2010-02-01 10:40:34 +00:00
Emmanuele Bassi
21d21adbc4 Remove tabs from configure.ac 2010-02-01 10:40:34 +00:00
Emmanuele Bassi
5f5f6d825f build: Allow disabling the conformance test suite
When building Clutter for packaging on headless boxes it's pointless to
allow building the conformance test to be built (and run on 'make
check').
2010-02-01 10:40:34 +00:00
Emmanuele Bassi
4695383281 build: Use no-define
We don't need the PACKAGE and VERSION defines in the config.h.
2010-01-22 00:06:17 +00:00
Emmanuele Bassi
f7e7985344 build: Add no-portability option to automake
We require the GNU version of make for some of our rules, and it's been
so for a while now.
2010-01-21 23:57:38 +00:00
Neil Roberts
14a28620ae win32: Use an invisible cursor when cursor-visible is FALSE
The win32 backend now handles the WM_SETCURSOR message and sets a
fully transparent cursor if the cursor-visible property has been
cleared on the stage. The icon is stored in the library via a resource
file. The instance handle for the DLL is needed to load the resource
so there is now a DllMain function to grab the handle.
2010-01-19 16:10:23 +00:00
Neil Roberts
4db89759a0 Post-release version bump to 1.1.7 2010-01-18 17:33:08 +00:00
Neil Roberts
07ff8d26f8 Release Clutter 1.1.6 2010-01-18 16:46:37 +00:00
Neil Roberts
fa51ff25d3 Add build/mingw/{README,mingw-cross-compile.sh} to the dist tarball
It's quite difficult to get git working on Windows so it makes sense
to put the build instructions somewhere accessible.
2010-01-18 14:06:11 +00:00
Emmanuele Bassi
948db40c87 Add gcov support to the build
Using gcov it's possible to get a coverage report, that is a break down
of how much the exposed API is exercised by the conformance test suite.
2010-01-13 17:15:06 +00:00
Robert Bragg
30b557c465 profiling: Adds initial UProf accounting to Cogl
This adds gives Cogl a dedicated UProf context which will be linked together
with Clutter's context during clutter_init_real().

Initial timers cover _cogl_journal_flush and _cogl_journal_log_quad

You can explicitly ask for a report of Cogl statistics by exporting
COGL_PROFILE_OUTPUT_REPORT=1 but since the context is linked with Clutter's
the statisitcs will also be shown in the automatic Clutter reports.
2010-01-08 20:19:50 +00:00
Robert Bragg
bd41db7c00 Adds a --enable-profile option to configure.ac
There is nothing else hooked up to this option so far
2010-01-08 20:19:49 +00:00
Emmanuele Bassi
5ae88f5777 Post-release version bump to 1.1.5 2010-01-03 20:41:17 +00:00
Emmanuele Bassi
6d7e1e5434 Release Clutter 1.1.4 2010-01-03 20:25:07 +00:00
Emmanuele Bassi
3e034cda58 build: More cleanups for the configure summary
Document each section, and add some more items to the summary like what
JSON-GLib are we using, and which version of the GLES API is COGL
wrapping.
2009-12-01 15:17:49 +00:00
Emmanuele Bassi
e3b409529e build: Require a stable JSON-GLib version
The 0.7 version is the development cycle for JSON-GLib 0.8.
2009-12-01 15:17:16 +00:00
Emmanuele Bassi
5e1ccaeb60 docs: Clean up the additional documentation build
• Make the manual a DevHelp book

• Make the generation of PDFs of the cookbook and the manual optional

• Consequently, make the hard dependency on jw optional

• Clean up the checks and build for the additional documentation
2009-11-30 21:33:22 +00:00
Emmanuele Bassi
ee9d358c45 [cookbook] Build the Cookbook as a devhelp document
Instead of creating stand-alone HTML files, use XSLT to transform the
DocBook into a DevHelp file, so that we can read the Cookbook inside
DevHelp -- just like the API reference.
2009-11-30 21:31:19 +00:00
Emmanuele Bassi
35627f240f Add the Clutter Cookbook to the build
The "Clutter Cookbook" is a document designed to contain solutions
to common problems applications developers might encounter when using
Clutter. It is meant as a companion to the API reference but it
requires knowledge of the Clutter API and framework.
2009-11-30 21:31:19 +00:00
Emmanuele Bassi
5f28c8b654 build: Make cogl.h not conditional on driver defines
The main COGL header cogl.h is currently created at configure time
because it conditionally includes the driver-dependent defines. This
sometimes leads to a stale cogl.h with old definitions which can
break the build until you clean out the whole tree and start from
scratch.

We can generate a stable cogl-defines.h at build time from the
equivalent driver-dependent header and let cogl.h include that
file instead.
2009-11-18 17:49:21 +00:00
Emmanuele Bassi
d11343532d build: Generate per-cycle ChangeLog files
We should generate a ChangeLog for each minor version cycle, starting
from the Git import date (since before that we used ChangeLog-style
commit messages that don't really look good with the Git ones).

For this reason we can take Cairo's Makefile.am.changelog file and,
after tweaking it to fit our use case, let it generate the correct
ChangeLogs on dist.
2009-11-18 14:43:46 +00:00
Emmanuele Bassi
4a8c1ff8fa build: Clean up the configure summary
Split out into section the configuration report, and clean
up the reported settings - including when experimental features
have been enabled.
2009-11-17 15:34:00 +00:00
Emmanuele Bassi
1be23c0cc9 build: Fix --with-imagebackend configure switch
An overeager search and replace broke the image backend command
line switch for the configure script.
2009-11-09 16:44:34 +00:00
Emmanuele Bassi
0d5af4c249 Post-release bump to 1.1.3 2009-10-23 13:55:50 +01:00
Emmanuele Bassi
dec06979b9 Release 1.1.2 developers snapshot 2009-10-23 13:38:40 +01:00
Emmanuele Bassi
24594bcde4 build: Make COGL pass distcheck
Some changes to make COGL pass distcheck with Automake 1.11 and
anal-retentiveness turned up to 11.

The "major" change is the flattening of the winsys/ part of COGL,
which is built directly inside libclutter-cogl.la instead of an
intermediate libclutter-cogl-winsys.la object.

Ideally, the whole COGL should be flattened out using a
quasi-non-recursive Automake layout; unfortunately, the driver/
sub-section ships with identical targets and Automake cannot
distinguish GL and GLES objects.
2009-10-23 13:38:40 +01:00
Robert Bragg
95a869dab1 [cogl] move clutter/pango to clutter/cogl/pango
As part of the re-organisation of Cogl; move clutter/pango to be part of the
cogl sub-project.
2009-10-16 18:58:51 +01:00
Robert Bragg
43efab46bc Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys
As part of an incremental process to have Cogl be a standalone project we
want to re-consider how we organise the Cogl source code.

Currently this is the structure I'm aiming for:
cogl/
    cogl/
	<put common source here>
	winsys/
	   cogl-glx.c
	   cogl-wgl.c
	driver/
	    gl/
	    gles/
	os/ ?
    utils/
	cogl-fixed
	cogl-matrix-stack?
        cogl-journal?
        cogl-primitives?
    pango/

The new winsys component is a starting point for migrating window system
code (i.e.  x11,glx,wgl,osx,egl etc) from Clutter to Cogl.

The utils/ and pango/ directories aren't added by this commit, but they are
noted because I plan to add them soon.

Overview of the planned structure:

* The winsys/ API is the API that binds OpenGL to a specific window system,
  be that X11 or win32 etc.  Example are glx, wgl and egl. Much of the logic
  under clutter/{glx,osx,win32 etc} should migrate here.

* Note there is also the idea of a winsys-base that may represent a window
  system for which there are multiple winsys APIs.  An example of this is
  x11, since glx and egl may both be used with x11.  (currently only Clutter
  has the idea of a winsys-base)

* The driver/ represents a specific varient of OpenGL. Currently we have "gl"
  representing OpenGL 1.4-2.1 (mostly fixed function) and "gles" representing
  GLES 1.1 (fixed funciton) and 2.0 (fully shader based)

* Everything under cogl/ should fundamentally be supporting access to the
  GPU.  Essentially Cogl's most basic requirement is to provide a nice GPU
  Graphics API and drawing a line between this and the utility functionality
  we add to support Clutter should help keep this lean and maintainable.

* Code under utils/ as suggested builds on cogl/ adding more convenient
  APIs or mechanism to optimize special cases. Broadly speaking you can
  compare cogl/ to OpenGL and utils/ to GLU.

* clutter/pango will be moved to clutter/cogl/pango

How some of the internal configure.ac/pkg-config terminology has changed:
backendextra -> CLUTTER_WINSYS_BASE # e.g. "x11"
backendextralib -> CLUTTER_WINSYS_BASE_LIB # e.g. "x11/libclutter-x11.la"
clutterbackend -> {CLUTTER,COGL}_WINSYS # e.g. "glx"
CLUTTER_FLAVOUR -> {CLUTTER,COGL}_WINSYS
clutterbackendlib -> CLUTTER_WINSYS_LIB
CLUTTER_COGL -> COGL_DRIVER # e.g. "gl"

Note: The CLUTTER_FLAVOUR and CLUTTER_COGL defines are kept for apps

As the first thing to take advantage of the new winsys component in Cogl;
cogl_get_proc_address() has been moved from cogl/{gl,gles}/cogl.c into
cogl/common/cogl.c and this common implementation first trys
_cogl_winsys_get_proc_address() but if that fails then it falls back to
gmodule.
2009-10-16 18:58:50 +01:00
Emmanuele Bassi
3b4f46a18a [docs] Fix the comment on version bumps 2009-09-16 12:47:46 +01:00
Emmanuele Bassi
c5195dda15 [docs] Add fixxref for Cairo symbols
Let gtk-doc resolve the Cairo types and symbols to the installed
Cairo documentation.
2009-09-09 16:15:54 +01:00
Emmanuele Bassi
3686107460 [docs] Make sure to document the point-release process
Put the documentation right inside configure.ac, lest I forget.
2009-08-31 15:49:39 +01:00
Emmanuele Bassi
373b165b3f Use AM_SILENT_RULES if automake >= 1.11 is installed
Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1756

Based on a patch by: Javier Jardón <javierjc1982@gmail.com>
2009-08-19 13:42:36 +01:00
Götz Waschk
366e0f9cd7 Update Clutter to use G-I 0.6.4
Following bug #1762, the syntax of g-ir-scanner was changed in
gobject-introspection, so Clutter does not build anymore with 0.6.4.

See the bugzilla bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=591669

GObject-Introspection now uses a different mechanism to extract the
SONAME when building the gir file and it needs the libtool archive as
option.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-08-17 14:14:18 +01:00
Emmanuele Bassi
d0748b3b9b Merge branch 'system-json-glib'
* system-json-glib:
  [script] Simplify the parser code
  Update JSON-GLib dependency
2009-08-10 17:21:20 +01:00
Emmanuele Bassi
19a53054fd Bump to 1.1.1 after branching 1.0 2009-08-07 15:27:25 +01:00
Emmanuele Bassi
fba1045bcb Post-release bump to 1.0.1 2009-07-28 18:39:24 +01:00
Emmanuele Bassi
f245f3049d [release] 1.0.0 2009-07-28 13:57:46 +01:00
Emmanuele Bassi
8ca87ea60f Post-release bump to 0.9.9 2009-07-17 17:51:26 +01:00
Emmanuele Bassi
3dc3d46967 [release] 0.9.8 2009-07-17 17:32:45 +01:00
Emmanuele Bassi
f0ec828188 Fix comments inside configure.ac 2009-07-17 12:48:37 +01:00
Emmanuele Bassi
d1232509a2 Post-release bump to 0.9.7 2009-07-01 15:59:13 +01:00
Emmanuele Bassi
9ce88d86b4 [release] 0.9.6 2009-07-01 15:30:22 +01:00
Emmanuele Bassi
354fa437cd Update JSON-GLib dependency
Currently, Clutter depends on the internal copy of JSON-GLib for
the ClutterScript parser. This is done to allow building Clutter
on platforms that do not have the library installed on the system.

Just like we use the internal PNG/JPEG loader as a fallback in
case we don't have GdkPixbuf or CoreGraphics available, we should
use the internal copy of JSON-GLib only in case the system copy
is not present.

The change is simply to move the default for the --with-json
configure switch from "internal" to "check".

In order to allow stricter compliance, a third setting should
be present: "system", which fails if the system copy is not
available.

We should also change the introspection generation to avoid
breaking in case we require the installed Json-1.0.gir instead
of the generated ClutterJson.gir
2009-06-29 17:01:11 +01:00
Emmanuele Bassi
8a1cf0cff4 Post-release bump to 0.9.5 2009-06-19 18:25:25 +01:00
Emmanuele Bassi
fdaaa8b6d7 [release] 0.9.4 2009-06-19 18:07:40 +01:00
Emmanuele Bassi
cb4e5c9083 [x11] Simplify the XInput support
Instead of using a specific function to check whether the X
server supports the XInput extension we can use the generic
Xlib function XQueryExtension(). This cuts down the extra
checks inside the configure.ac and simplifies the code inside
clutter_x11_register_xinput().
2009-06-19 15:12:32 +01:00
Damien Lespiau
3653a9a64d Public headers should not have #ifdefs relying on private defines
HAVE_COGL_GLES2 is defined in config.h through the configure script and
should not be used in public headers.

The patch makes configure generate the right define that can be used
later in the header.
2009-06-19 06:43:34 +01:00
Matthew Allum
1aa8c89f2c [XInput] Get XInput working again.
Check for distros shipping out of sync header vs libXi,
call in g_type_init() in test-devices, fix ifdef so
XInput events get correctly selected.
2009-06-17 15:09:16 +01:00
Emmanuele Bassi
84d67bf1b3 [l10n] Add LINGUAS
Use the LINGUAS file to generate the contents of the ALL_LINGUAS
variable.
2009-06-10 14:23:45 +01:00
Emmanuele Bassi
ea82346e0d [build] Update the experimental features checks
Instead of blacklisting experimental features at the end we can
explicitly mark backends and image backends near their checks and
provide a summary at the end.
2009-06-09 14:07:35 +01:00
Emmanuele Bassi
54b5d07682 [build] Add AS_COMPILER_FLAGS
Use the AS_COMPILER_FLAGS to check whether the maintainer compiler flags
we use are supported; this should fail gracefully and only use the ones
that the compiler actually understands.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1639
2009-06-08 02:22:26 +01:00
Emmanuele Bassi
7e5f7eb790 [build] Remove -Werror for the maintainer cflags
Now that we have Shave in place and don't risk losing warnings
we can avoid -Werror in the anal-retentive maintainer compiler
flags.
2009-06-06 15:59:40 +01:00
Emmanuele Bassi
ca5473836b [build] Check for libXext
It seems GNU Gold (the new linker) either behaves as if with
--no-undefined by default, or has some issue preventing it from not
doing that when instructed to (I'm not sure if this actually
happens). In any case, clutter uses the Xshm extensions, but does not
link to libXext, which makes gold unhappy.

Based on a patch by: Xan Lopez <xan@gnome.org>

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-06-06 12:34:00 +01:00
Emmanuele Bassi
03471daf50 [build] Add all dependencies for pkg-config
A merge conflict gone bad: the IMAGE_PC_FILES variable was not appended
to the CLUTTER_REQUIRES one, thus leading to Clutter depending on
GdkPixbuf but never actually checking for it.
2009-06-05 12:46:37 +01:00
Emmanuele Bassi
7e33fe3175 Merge branch '1.0-integration'
* 1.0-integration: (138 commits)
  [x11] Disable XInput by default
  [xinput] Invert the XI extension version check
  [cogl-primitives] Fix an unused variable warning when building GLES
  [clutter-stage-egl] Pass -1,-1 to clutter_stage_x11_fix_window_size
  Update the GLES backend to have the layer filters in the material
  [gles/cogl-shader] Add a missing semicolon
  [cogl] Move the texture filters to be a property of the material layer
  [text] Fix Pango unit to pixels conversion
  [actor] Force unrealization on destroy only for non-toplevels
  [x11] Rework map/unmap and resizing
  [xinput] Check for the XInput entry points
  [units] Validate units against the ParamSpec
  [actor] Add the ::allocation-changed signal
  [actor] Use flags to control allocations
  [units] Rework Units into logical distance value
  Remove a stray g_value_get_int()
  Remove usage of Units and macros
  [cogl-material] Allow setting a layer with an invalid texture handle
  [timeline] Remove the concept of frames from timelines
  [gles/cogl-shader] Fix parameter spec for cogl_shader_get_info_log
  ...

Conflicts:
	configure.ac
2009-06-05 12:41:42 +01:00
Emmanuele Bassi
cbb748f7c0 [x11] Disable XInput by default
The XInput support in Clutter is still using XI 1.x. This will never
work correctly, and we are all waiting for XInput 2 anyway. The changes
internally should be minimal, so we can leave everything in place, but
it's better to disable XInput support by default -- at least for the
time being.
2009-06-05 12:30:08 +01:00
Emmanuele Bassi
0a4a28a950 [xinput] Check for the XInput entry points
Apparently, the XInput extension is using the same pkg-config
file ('xi') for both the 1.x and the 2.x API, so we need to
check for both the 1.x XGetExtensionVersion and the 2.x
XQueryInputVersion.
2009-06-04 16:30:31 +01:00
Neil Roberts
b5a7b3a004 [configure] Require pango 1.20 instead of 1.18
Clutter now calls pango_layout_set_height which is only available
since Pango 1.20.
2009-06-04 11:05:36 +01:00
Emmanuele Bassi
ffd5fb172b [docs] Rework the API reference version generation
Clutter copies the gtk-doc from the usual gtk+ template, and
has a version.xml.in containing only:

  @VERSION@

Without a newline at the end. Unfortunately, it appears that
autoconf has started adding a newline to the generated version.xml
which then is used as the payload for the "version" XML entity.

Instead of using a secondary file we can make configure generate
the whole clutter-docs.xml and cogl-docs.xml files from a template;
this way we also get the ability to substitute more autoconf variables
into the documentation -- if needs be.
2009-06-01 17:40:23 +01:00
Neil Roberts
cfb9508465 [configure] Always execute the AM_CONDITIONAL call for X11_TESTS
Automake gets upset if an AM_CONDITIONAL call is itself conditionally
executed.
2009-05-29 14:31:34 +01:00
Emmanuele Bassi
331d43196d [build] Decouple COGL debug level from Clutter's
Using --enable-debug, which controls Clutter's debug level, also
defines COGL_ENABLE_DEBUG. This should be left to --enable-cogl-debug
instead, since it's the configure switch that controls COGL debug
level.
2009-05-26 17:25:51 +01:00
Emmanuele Bassi
733508b80d [build] More spring clean fixes
* Remove the last if...fi with AS_IF

* Put back the regexp for the mingw32 check that commit 0d1c626a
  inadvertedly removed
2009-05-25 16:52:53 +01:00
Emmanuele Bassi
0d1c626a86 [build] Spring cleanup of configure.ac
Let's try to bring configure.ac into this century, shall we?

* Use the proper shell macros AS_IF and AS_CASE instead of if...fi
  and case...esac

* Check for X11 and relative extensions only when building for GLX
  and EGLX backends

* Add documentation on the behaviour of binary_age and interface_age

* Coalesce all the common checks to avoid redundancy

* Escape everything that requires escaping
2009-05-25 14:04:53 +01:00
Robert Bragg
78a4f1de0d [build] Ensure that cogl-debug is disabled by default
The new cogl-debug option was accidentally being enabled by default since
configure.ac checked the 'default_enable' variable not 'cogl_default_enable'
2009-05-21 15:25:31 +01:00
Emmanuele Bassi
1f1d19f634 [cogl] Move debugging to a configure-time switch
Currently, COGL depends on defining debug symbols by manually
modifying the source code. When it's done, it will forcefully
print stuff to the console.

Since COGL has also a pretty, runtime selectable debugging API
we might as well switch everything to it.

In order for this to happen, configure needs a new:

        --enable-cogl-debug

command line switch; this will enable COGL debugging, the
CoglHandle debugging and will also turn on the error checking
for each GL operation.

The default setting for the COGL debug defines is off, since
it slows down the GL operations; enabling it for a particular
debug build is trivial, though.
2009-05-19 16:00:18 +01:00
Emmanuele Bassi
9694107f90 Post-release bump to 0.9.3 2009-03-16 17:09:57 +00:00
Emmanuele Bassi
35191f09ef [release] Release 0.9.2 2009-03-16 16:58:13 +00:00
Damien Lespiau
168499742a Update shave
This update fixes a few issues:
  - the use of shave with mingw32 bash on windows,
  - fix the unmangling of libtool names
  - fix build on solaris
  - add an --enable/disable-shave configure option (while still
    defaulting to enabled)
2009-03-11 18:44:33 +00:00
Emmanuele Bassi
4a3a3e1cf3 Add pkg-config file for COGL
COGL should ship its own pkg-config file, obviously still pointing
to Clutter's compiler flags and linking options, for COGL-specific
variables that might be queried at configure time.

For instance, it's easier (and less verbose) to do:

  PKG_CHECK_EXISTS([cogl-gl-1.0],
                   [has_gl_backend=yes],
                   [has_gl_backend=no])

Than doing:

  AC_MSG_CHECKING([for GL support in COGL])
  cogl_backend=`$PKG_CONFIG --variable=cogl clutter-0.9`
  if test x$cogl_backend = xgl; then
    has_gl_backend=yes
    AC_MSG_RESULT([found])
  else
    has_gl_backend=no
    AC_MSG_RESULT([not found])
  fi
2009-03-10 12:38:02 +00:00
Emmanuele Bassi
259443b145 [build] Put the X11 pc dependencies in another variable
If X11 comes with pkg-config files (like it should) we should not add
those dependencies to the generic BACKEND_PC_FILES variable: that
variable is meant only for backend-specific dependencies handled by
pkg-config -- and Clutter supports non-X11 backends as well.

The X11_PC_FILES variable will only contain X11-related dependencies,
and will be set as part of BACKEND_PC_FILES only inside the GLX and
EGLX backends sections.
2009-02-26 11:58:21 +00:00
Emmanuele Bassi
605dfb8fd0 Add runtime debug messages for COGL
Clutter is able to show debug messages written using the CLUTTER_NOTE()
macro at runtime, either by using an environment variable:

  CLUTTER_DEBUG=...

or by using a command line switch:

  --clutter-debug=...
  --clutter-no-debug=...

Both are parsed during the initialization process by using the
GOption API.

COGL would benefit from having the same support.

In order to do this, we need a cogl_get_option_group() function in
COGL that sets up a GOptionGroup for COGL and adds a pre-parse hook
that will check the COGL_DEBUG environment variable. The OptionGroup
will also install two command line switches:

  --cogl-debug
  --cogl-no-debug

With the same semantics of the Clutter ones.

During Clutter initialization, the COGL option group will be attached
to the GOptionContext used to parse the command line options passed
to a Clutter application.

Every debug message written using:

  COGL_NOTE (SECTION, "message format", arguments);

Will then be printed only if SECTION was enabled at runtime.

This whole machinery, like the equivalent one in Clutter, depends on
a compile time switch, COGL_ENABLE_DEBUG, which is enabled at the same
time as CLUTTER_ENABLE_DEBUG. Having two different symbols allows
greater granularity.
2009-02-23 13:00:52 +00:00
Emmanuele Bassi
21aa09748c Add build machinery for gobject-introspection data
configure.ac: Check for gobject-introspection

build/introspection.m4: Include the file that defines the
GOBJECT_CHECK_INTROSPECTION m4 macro in case we want to disable
the introspection data generation.

clutter/json/Makefile.am: Build the .gir for "ClutterJson"
  (json-glib as part of the Clutter library)

clutter/Makefile.am: Build the .gir for clutter, compile the
  Clutter and ClutterJson girs into typelibs, and install them.
  Also move GCC_FLAGS from $(INCLUDES) to $(AM_CFLAGS) since it includes
  non-preprocessor flag like -Wall.

See also:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1450

Based on a patch by: Owen W. Taylor <otaylor@fishsoup.net>

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-20 14:39:51 +00:00
Emmanuele Bassi
38faebf7e9 [docs] Require gtk-doc 1.11
The new stable release of gtk-doc provides the --name-space
option for the mkdb utility. This option allows to specify a
namespace for the symbols that will get stripped, so that we
don't get a symbols index containing only "C".
2009-02-20 11:55:54 +00:00
Damien Lespiau
21768fb957 [build] Add dolt
From the homepage (http://dolt.freedesktop.org): Dolt provides a drop-in
replacement for libtool that significantly decreases compile times on
the platforms it supports.
2009-02-18 17:38:34 +00:00
Damien Lespiau
8eec75efde [build] Beautify autotools' output
Use shave (http://git.lespiau.name/cgit/shave) to make compilation more
human friendly.
2009-02-18 17:38:34 +00:00
Øyvind Kolås
57ffcdf014 Added a mutex for clutter asynchronous textures threads.
Bug #1453 - Asynchronous texture loading can starve cpu.

Add a mutex that is held in the loader threads during the image
decoding. We were spawning and starting a thread for each asynchronously
loaded texture. This can cause cpu / memory starvation when many pixbuf
loaders allocate their temporary memory at the same time.

Also added -fno-strict-aliasing to MAINTAINER_CFLAGS in configure.ac
to avoid incorrect warnings caused by the static mutex code.
2009-02-18 10:35:45 +00:00
Emmanuele Bassi
7233ca48a8 Post-release bump to 0.9.1 2009-01-30 14:18:46 +00:00
Emmanuele Bassi
7f6870fb4b Update the pkg-config requires list
Clutter depends on various libraries, some of them backend-specific
like the X11 libraries.

Whenever possible, we should add those requirements to the pkg-config
file. For this reason, we have a variable inside the configure.ac
template file which should be filled with the backend-specific modules
we check for during configure time, and then added to the standard
list of dependencies that we write inside the clutter.pc file.
2009-01-28 16:47:15 +00:00
Emmanuele Bassi
915d9ec7ca Split maintainer-flags from the compiler flags
The maintainer compiler flags we use trigger warnings and errors
in the autogenerated code that gtk-doc creates to scan the header
and source files. Since we cannot control that, and we must run
a distcheck with both --enable-gtk-doc and --enable-maintainer-flags
turned on, we need to use less-strict compiler flags when inside
the doc/reference subdirectories.

The way to do this is to split the maintainer compiler flags into
their own Makefile variable, called MAINTAINER_CFLAGS. The we
can use $(MAINTAINER_CFLAGS) in the INCLUDES or _CFLAGS sections
of each part of the source directories we wish to check with the
anal retentiveness suited for maintainers.
2009-01-23 13:09:51 +00:00
Takao Fujiwara
8e6423a1b6 Bug 1397 - Allow localizing the command line help
Clutter has a set of command line options that are added to every
application by means of clutter_init() or by obtaining the Clutter
GOptionGroup and using g_option_context_parse(). Thus, every Clutter
application will automatically have an --help command line switch
showing the list of options and their description.

At the moment, Clutter does not enable localization of the help,
thus making it less than useful on non-English locales.

This patch enables the machinery to create a localization file and
load it when initializing Clutter, by means of the GLib macros and
locale.h API we already use.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-01-06 12:15:02 +00:00
Emmanuele Bassi
affd915b84 Add more maintainer CFLAGS
Be even more anal-retentive when the maintainer flags are enabled.

Kudos to Benjamin Otte.
2008-12-23 20:55:23 +00:00
Emmanuele Bassi
49e762a291 Require Cairo as a Clutter dependency
Cairo has been an indirect dependency for Clutter since 0.8, through
the PangoCairo API.

Now we explicitly depend on Cairo in order to merge the clutter-cairo
API into Clutter core.
2008-12-11 15:22:42 +00:00
Emmanuele Bassi
0ea346bcf7 2008-11-25 Emmanuele Bassi <ebassi@linux.intel.com>
* configure.ac: Remove stray dependency on gdk-pixbuf-xlib; we
	don't use the xlib specific API anymore. (thanks to Matthias
	Clasen)
2008-11-25 16:45:47 +00:00
Neil Roberts
596d4628e6 Add a wrapper library to help testing without NPOTs.
* tests/tools/Makefile.am: Optionally build the
	libdisable-npots.la library depending on whether libdl was
	detected in the configure script. A helper script is also
	generated to setup the LD_PRELOAD.

	* tests/conform/Makefile.am: There are now two versions of the
	test-report and full-report rules. test-report-normal is the same
	as before and test-report-disable-npots runs the tests with the
	disable-npots wrapper script. The full-report rule runs both of
	them and displays two separate HTML files. The test-report rule
	just runs the normal version as before.

	* configure.ac: Add a test for libdl

	* tests/tools/disable-npots.sh.in: New file. Template for the
	helper script

	* tests/tools/disable-npots.c: New file
2008-11-24 15:44:16 +00:00
Robert Bragg
603f936745 Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing
framework

	* configure.ac:
	* tests/*:
	The tests have been reorganised into different categories: conformance,
	interactive and micro benchmarks.
	- conformance tests can be run as part of automated tests
	- interactive tests are basically all the existing tests
	- micro benchmarks focus on a single performance metric

	I converted the timeline tests to conformance tests and also added some
	tests from Neil Roberts and Ebassi.

	Note: currently only the conformance tests use the glib test APIs,
	though the micro benchmarks should too.

	The other change is to make the unit tests link into monolithic binaries
	which makes the build time for unit tests considerably faster. To deal
	with the extra complexity this adds to debugging individual tests I
	have added some sugar to the makefiles so all the tests can be run
	directly via a symlink and when an individual test is run this way,
	then a note is printed to the terminal explaining exactly how that test
	may be debugged using GDB.

	There is a convenience make rule: 'make test-report', that will run all
	the conformance tests and hopefully even open the results in your web
	browser. It skips some of the slower timeline tests, but you can run
	those using 'make full-report'
2008-11-07 19:32:28 +00:00
Emmanuele Bassi
250f1e72e2 2008-10-20 Emmanuele Bassi <ebassi@linux.intel.com>
* configure.ac: Use gmodule-no-export-2.0, not gmodule-2.0,
	to avoid breaking the symbol hiding. (thanks to Ross Burton
	and Laurent Bigonville)
2008-10-20 21:52:35 +00:00
Emmanuele Bassi
c05af0ed87 2008-09-29 Emmanuele Bassi <ebassi@linux.intel.com>
* configure.ac: Post branch bump to 0.9.0
2008-09-29 10:41:48 +00:00
Emmanuele Bassi
e581aa63d0 Release 0.8.2 2008-09-25 14:25:11 +00:00
Emmanuele Bassi
73433e9638 2008-07-17 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1047 -  API documentation from release tarball is not
	            installed by "make install"

	* configure.ac:
	* Makefile.am: Make the recursion into the documentation
	directory depend on on whether we explicitly enable it or
	if we are not inside an SVN checkout.
2008-07-17 12:21:01 +00:00
Emmanuele Bassi
1e57f38c4f 2008-07-10 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.3.1.
2008-07-10 16:39:46 +00:00
Matthew Allum
ac02680447 2008-06-30 Matthew Allum <mallum@openedhand.com>
Bug 997 - automatic updates not working for named TFP pixmaps,
                  at least in x11

        * clutter/glx/clutter-glx-texture-pixmap.c:
        * clutter/glx/clutter-glx-texture-pixmap.h:
        * clutter/x11/clutter-backend-x11.c:
        * clutter/x11/clutter-x11-texture-pixmap.c:
        * clutter/x11/clutter-x11-texture-pixmap.h:
        * clutter/x11/clutter-x11.h:
        * configure.ac:
        * tests/test-pixmap.c:
        Rework Andy Wingos patch a little adding more safety for now also
        handling redirect Windows (as well as pixmaps)
2008-06-30 14:36:49 +00:00
Emmanuele Bassi
3606c5767e 2008-06-27 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.7.7.
2008-06-27 20:45:33 +00:00
Emmanuele Bassi
93fda92651 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.7.5.
2008-06-25 17:05:41 +00:00