Commit Graph

334 Commits

Author SHA1 Message Date
Emmanuele Bassi
b55346151c build: Cogl-2.0 API reference should be conditionally built
Building the API reference for Cogl 2.0 is fairly confusing: the API
itself is experimental and for internal use only -- though we want
feedback for it.

Let's build the API reference only when Clutter is configured with a
specific configure switch, so that people that wish to give feedback on
the API and its documentation can do it.
2010-11-17 19:15:17 +00:00
Robert Bragg
21c7403011 docs: Adds an initial cogl-2.0 reference manual
So we can keep track of the experimental progress of Cogl 2.0 features
this adds a standalone Cogl 2.0 Reference Manual which doesn't cover
the deprecated 1.x symbols and removes the need for a "Cogl
experimental API" chapter since those sections now make up the main
table of contents.
2010-11-11 13:17:26 +00:00
Robert Bragg
8efb48ecf4 config.h: define COGL_ENABLE_EXPERIMENTAL_2_0_API
By defining COGL_ENABLE_EXPERIMENTAL_2_0_API in config.h we can ensure
that all internal clutter and cogl code can use the Cogl 2.0 API and by
not using AM_CPPFLAGS we avoid having other tools such as glib-mkenums
and the gir-scanner from inadvertently using the define also.
2010-11-11 13:17:26 +00:00
Emmanuele Bassi
ef7f729c68 build: Re-instate profile builds
The profiling support was broken - probably during the restructuring of
the build environment, but I'm too lazy to bisect that.

The fix is trivial, and everything works as it should.
2010-11-07 15:27:17 +00:00
Neil Roberts
8112bfc49f Replace the disable-npots tool with a COGL_DEBUG option
Previously in the tests/tools directory we build a disable-npots
library which was used as an LD_PRELOAD to trick Cogl in to thinking
there is no NPOT texture extension. This is a little awkward to use so
it seems much simpler to just define a COGL_DEBUG option to disable
npot textures.
2010-11-05 18:45:31 +00:00
Emmanuele Bassi
b16ff0359a Post-release version bump to 1.5.5 2010-10-25 17:44:27 +01:00
Emmanuele Bassi
cba230400a Release Clutter 1.5.4 2010-10-25 17:30:52 +01:00
Damien Lespiau
0cb2ef434b eglnative: Fix the type of stage for eglnative
CLUTTER_TYPE_STAGE_EGLNATIVE does not exist any more, use
CUTTER_TYPE_STAGE_EGL instead.
2010-10-25 14:14:21 +01:00
Neil Roberts
c3f47fa7d0 Add -Wdeclaration-after-statement and -Wvla to maintainer CFLAGS
These warnings pick up C99 extensions that are commonly accidentally
used and which cause problems when compiling with MSVC.
2010-10-25 13:18:25 +01:00
Emmanuele Bassi
e80825535a build: Show whether we have XComposite
Since we're doing it for other optional X11 extensions as well.
2010-10-19 10:48:39 +01:00
Damien Lespiau
1c9dcdaeb2 build: Fix CLUTTER_EGL_BACKEND definition for eglnative and cex100
CLUTTER_EGL_BACKEND is used to define a special EGL native backend to
use and was introduced for the CEX100 EGL backend. Unfortunately
CLUTTER_EGL_BACKEND was defined to "cex100" for eglnative, which is
obviously wrong.

The paches defines the right values for CLUTTER_EGL_BACKEND for the
eglnative and cex100 flavours.
2010-10-18 16:09:31 +01:00
Emmanuele Bassi
63e314b07e build: Depend on cairo-gobject
Starting from version 1.10, Cairo ships GTypes for its data types.
2010-10-18 11:26:45 +01:00
Emmanuele Bassi
8729c01377 build: Remove unnecessary g-i version check 2010-10-18 11:26:45 +01:00
Emmanuele Bassi
8f5d6cb790 build: Depend on GLib ≥ 2.26.0
We are going to need some new macros and API.
2010-10-18 11:26:44 +01:00
Kristian Høgsberg
cb5582c4ab Add wayland backend
This adds a clutter backend for running under the wayland window system.
Initial cogl framebuffer integration by Robert Bragg.
2010-10-14 16:23:05 +01:00
Damien Lespiau
a13182c740 cogl: Use Cogl (not COGL) consistently
If I remember correctly, Robert wants to name Cogl, Cogl (not COGL) so
start by having a consistent naming in the code.
2010-10-05 08:03:19 +01:00
Emmanuele Bassi
55121d0f35 Post-release version bump to 1.5.3 2010-10-04 15:20:44 +01:00
Emmanuele Bassi
ca5188edbf Release Clutter 1.5.2 (snapshot) 2010-10-04 14:53:55 +01:00
Emmanuele Bassi
2ed2b7eb83 build: Only generate bzip2 tarballs
Don't generate both bz2 and gz tarballs: we only use the former anyway,
and the latter just adds time for distcheck to complete.

The gz tarball will be generated by the remote installation scripts when
publishing the release.
2010-10-03 16:13:02 +01:00
Emmanuele Bassi
52c4d6fa0c build: Use platform detection to add -no-undefined
Instead of relying on the flavour passed to the configure script.
2010-09-29 17:32:57 +01:00
Emmanuele Bassi
54f5e168ec Bump up dependency of json-glib to 0.12.0
New stable release.
2010-09-29 16:05:55 +01:00
Emmanuele Bassi
66b0c1969c Remove the internal copy of JSON-GLib
The internal copy of JSON-GLib was meant to go away right after the 1.0
release, given that JSON-GLib was still young and relatively unknown.

Nowadays, many projects started depending on this little library, and
distributions ship it and keep it up to date.

Keeping a copy of JSON-GLib means keeping it up to date; unfortunately,
this would also imply updating the code not just for the API but for the
internal implementations.

Starting with the 1.2 release, Clutter preferably dependend on the
system copy; with the 1.4 release we stopped falling back automatically.
The 1.6 cycle finally removes the internal copy and requires a copy of
JSON-GLib installed on the target system in order to compile Clutter.
2010-09-29 15:57:28 +01:00
Emmanuele Bassi
8dd8fbdbdf build: Start moving to a non-recursive layout
*** WARNING: THIS COMMIT CHANGES THE BUILD ***

Do not recurse into the backend directories to build private, internal
libraries.

We only recurse from clutter/ into the cogl sub-directory; from there,
we don't recurse any further. All the backend-specific code in Cogl and
Clutter is compiled conditionally depending on the macros defined by the
configure script.

We still recurse from the top-level directory into doc, clutter and
tests, because gtk-doc and tests do not deal nicely with non-recursive
layouts.

This change makes Clutter compile slightly faster, and cleans up the
build system, especially when dealing with introspection data.

Ideally, we also want to make Cogl part of the top-level build, so that
we can finally drop the sed trick to change the shared library from the
GIR before compiling it.

Currently disabled:

  ‣ OSX backend
  ‣ Fruity backend

Currently enabled but untested:

  ‣ EGL backend
  ‣ Windows backend
2010-09-29 14:40:15 +01:00
Emmanuele Bassi
bba1424a44 Post-branch version bump to 1.5.1 2010-09-27 16:46:26 +01:00
Emmanuele Bassi
51a4af9262 Post-release version bump to 1.4.1 2010-09-24 15:25:15 +01:00
Emmanuele Bassi
1f3f718a50 Release 1.4.0 (stable) 2010-09-24 15:07:17 +01:00
Emmanuele Bassi
66ba609f3b Require the installed JSON-GLib
Continue to provide the internal copy for 1.4, but require an explicit
override to use it.

The internal copy will be removed for Clutter 1.6.
2010-09-21 13:15:56 +01:00
Emmanuele Bassi
5529619254 build: Enable COGL_OBJECT_DEBUG in the debug flags
The CoglObject debugging code is enabled by a separate flag.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2318
2010-09-17 12:17:31 +01:00
Emmanuele Bassi
8a09e91ef8 Post-release version bump to 1.3.15 2010-09-15 16:46:06 +01:00
Emmanuele Bassi
b776f6b4fb Release Clutter 1.3.14 (developers snapshot) 2010-09-15 16:12:56 +01:00
Robert Bragg
fb7bf9ce02 profile: Update to uprof-0.3 dep for --enable-profile
When building with --enable-profile we now depend on the uprof-0.3
developer release which brings a few improvements:

» It lets us "fix" how we initialize uprof so that instead of using a shared
object constructor/destructor (which was a hack used when first adding
uprof support to Clutter) we can now initialize as part of clutter's
normal initialization code. As a side note though, I found that the way
Clutter initializes has some quite serious problems whenever it
involves GOptionGroups. It is not able to guarantee the initialization
of dependencies like uprof and Cogl. For this reason we still use the
contructor/destructor approach to initialize uprof in Cogl.

» uprof-0.3 provides a better API for adding custom columns when reporting
timer and counter statistics which lets us remove quite a lot of manual
report generation code in clutter-profile.c.

» uprof-0.3 provides a shared context for tracking mainloop timer
statistics. This means any mainloop based library following the same
"Mainloop" timer naming convention can use the shared context and no
matter who ends up owning the final mainloop the statistics will always
be in the same place. This allows profiling of Clutter with an
external mainloop such as with the Mutter compositor.

» uprof-0.3 can export statistics over dbus and comes with an ncurses
based ui to vizualize timer and counter stats live.

The latest version of uprof can be cloned from:
git://github.com/rib/UProf.git
2010-09-14 12:43:16 +01:00
Emmanuele Bassi
64924f0e98 build: Do not build a noinst library for the tesselator
Let's try to keep Cogl's build as non-recursive as possible, in the hope
that one day we'll be able to make it fully non-recursive along with the
rest of Clutter.
2010-09-12 19:25:47 +01:00
Emmanuele Bassi
0e325404aa build: Allow using gettext 0.17
This requires some autotools magic when setting up the environment
through autogen.sh, because autoreconf does not do the right thing
by default.

The correct order for setting up localization is:

  ‣ autopoint
  ‣ aclocal
  ‣ ...

otherwise aclocal will copy the system's gettext.m4 instead of honouring
the version we specified with AM_GNU_GETTEXT_VERSION in configure.ac.
2010-09-09 11:58:03 +01:00
Emmanuele Bassi
8fb4c7b9a9 po: Rename the POT file 2010-09-08 14:48:40 +01:00
Emmanuele Bassi
dfca349bbe build: Bump gettext version
Apparently, gettext can only work with the same exact version it's
autogenerated from.
2010-09-08 12:22:58 +01:00
Javier Jardón
98cac30d82 build: Use upstream gettext instead the glib one
Fixes http://bugzilla.clutter-project.org/show_bug.cgi?id=2300
2010-09-08 11:46:36 +01:00
Emmanuele Bassi
e678c746da build: Add escaping in AS_IF()
Based on a patch by: Owen W. Taylor <otaylor@fishsoup.net>
2010-09-07 16:17:51 +01:00
Emmanuele Bassi
6c1559b611 build: Allow disabling linking with -Bsymbolic
Some debugging tools might require full visibility for the Clutter
symbols; for this reason, and to match what the Clutter dependencies
already allow, we should provide a configure switch to disable linking
with the -Bsymbolic flag.
2010-09-03 13:55:07 +01:00
Emmanuele Bassi
710c7aed40 build: Use Makefile.introspection
Whenever possible, instead of writing our own rules for generating GIR
files and typelibs.
2010-09-03 11:38:22 +01:00
Colin Walters
f7854dd90f introspection: Build fixes
This patch merges in substantial work from
Emmanuele Bassi <ebassi@linux.intel.com>

* Use new introspection --include-uninstalled API since we don't want
  to try to find the clutter-1.0.pc file before it's installed.
* Use --pkg-export for Clutter-1.0.gir, since we want the .gir file to
  contain the associated pkg-config file.
* Drop the use of --pkg for dependencies; those come from the associated
  .gir files.  (Actually, --pkg is almost never needed)
* Add --quiet

http://bugzilla.clutter-project.org/show_bug.cgi?id=2292
2010-09-03 11:38:22 +01:00
Damien Lespiau
01fcd11efd cex100: Add an API to configure the GDL plane to use
Intel CE3100 and CE4100 have several planes (framebuffers) and a
hardware blender to blend the planes togeteher to produce the final
image.

clutter_cex100_set_plane() lets you configure which framebuffer clutter
will use for its rendering.
2010-09-03 11:13:35 +01:00
Damien Lespiau
e1e5db0032 cex100: Add a Clutter EGL backend for CE3100/CE4100 SoCs
Intel CE3100 and CE4100 SoCs are designed for TVs. They have separate
framebuffers that are blended together by a piece of hardware to make
the final output. The library that allows you to initialize and
configure those planes is called GDL. A EGL GDL winsys can then be
use with those planes as NativeWindowType to select which plane to use.

This patch adds a new ClutterBackendCex100 backend that can be
selected at compile time with the new --with-flavour=cex100 option.
2010-09-03 11:13:35 +01:00
Emmanuele Bassi
dc2aee4300 Post-release version bump to 1.3.13 2010-08-16 13:37:57 +01:00
Emmanuele Bassi
e75e6e0c97 Release Clutter 1.3.12 (developers snapshot) 2010-08-16 13:23:43 +01:00
Damien Lespiau
2f54f8f0ea introspection: Use the --quiet flag conditionally
--quiet has been added to g-ir-scanner in the 0.9.1 cycle. We really
want to be able to compile clutter with 0.6.14 to be able to reuse
gir files that are distributed in current distributions.

Use the INTROSPECTION_SCANNER_ARGS (previously unused) variable to
convey --quiet when necessary.

Fixes: http://bugzilla.clutter-project.org/show_bug.cgi?id=2265
2010-08-12 16:43:07 +01:00
Emmanuele Bassi
1943b8e544 glx: Depend on libdrm
DRM is available on more platforms than Linux (e.g. kFreeBSD), but
Clutter currently FTBFS there because of not being an alternative to
the __linux__ code (where it should be HAVE_DRM).

Instead of copying the DRM data structures, we should use libdrm when
falling back to directly requesting to wait for the vblank.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2225

Based on a patch by: Emilio Pozuelo Monfort <pochu27@gmail.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-08-09 11:29:03 +01:00
Emmanuele Bassi
70303d6f0c Post-release version bump to 1.3.11 2010-08-05 13:06:38 +01:00
Emmanuele Bassi
177d8e52d3 Release 1.3.10 2010-08-05 12:48:16 +01:00
Robert Bragg
8b914dfa30 configure.ac: when checking for gl2ext.h include gl2.h
This makes sure we include gl2.h when looking for gl2ext.h since
gl2ext.h can't always be used standalone.
2010-08-02 17:33:21 +01:00
Emmanuele Bassi
6f737a5f5a Require g-i 0.6.14
The 0.6.14 is the last 0.6 release, before the format changes; we build
with both 0.6 and 0.9, so we should depend to the former and not the
latter.
2010-07-29 16:58:37 +01:00