Commit Graph

298 Commits

Author SHA1 Message Date
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
Neil Roberts
f17717717a configure.ac: Fix the missing COGL_HAS_GLES[12] defines
In 7fae8ac051 the two cogl-defines.h files from GLES and GL were
unified. However this missed out the COGL_HAS_GLES[12] defines from
GLES. The configure.ac still made an AC_SUBST for the right version
but the replacement was never put in any headers. This fixes it so
that instead of directly calling AC_SUBST the value is now put into a
variable which later gets added to COGL_DEFINES so that it will end up
in cogl-defines.h
2010-07-22 21:48:49 +01:00
Neil Roberts
d87b34f982 Fix a small typo in configure.ac for the COGL_DEFINES variable
There was an initializer for the COGL_DEFINES variable which sets it
to the empty value before it is filled in. The name of the variable
wasn't spelt right so it wouldn't work properly. This doesn't really
matter because it would default to empty anyway.
2010-07-22 21:48:48 +01:00
Emmanuele Bassi
706f42645a build: Depend on g-i 0.9.0
The introspection format changed, so we should depend on the new one.
2010-07-21 17:25:15 +01:00
Emmanuele Bassi
bb3dc013bf cookbook: Add example code
The cookbook should also include fully functional code examples. We can
even XInclude them into the docbook XML itself.

The examples should be built with the coobook, so that we can always
make sure they are up to date.
2010-07-18 10:53:06 +01:00
Emmanuele Bassi
8be43b5285 Add P_() macro for translating property strings
The P_() macro adds a context for the property nick and blurb. In order
to make xgettext recognize it, we need to drop glib-gettexize inside the
autogen.sh script and ship a modified Makefile.in.in with Clutter.
2010-07-15 12:09:01 +01:00
Emmanuele Bassi
292597a9e1 build: Use AS_ALL_LINGUAS
The AS_ALL_LINGUAS m4 macro allows configure-time generation of the
ALL_LINGUAS variable from the translations inside po/ instead of using
the LINGUAS file.
2010-07-15 11:36:25 +01:00
Emmanuele Bassi
ff56f4ac6f Merge branch 'wip/xkb-support'
* wip/xkb-support:
  x11: Use XKB to translate keycodes into key symbols
  x11: Use XKB to track the Locks state
  x11: Use XKB detectable auto-repeat
  x11: Add a Keymap ancillary object
  x11: Store the group inside the event platform data
  events: Add platform-data to allocated Events
  build: Check for the XKB extension
2010-07-13 16:12:14 +01:00
Neil Roberts
8ccf8f6f08 configure: Include gl2ext.h or glext.h under GLES
Under big GL, glext.h is included automatically by gl.h. However under
GLES this doesn't appear to happen so it has to be included explicitly
to get the defines for extensions. This patch changes the
clutter_gl_header to be called cogl_gl_headers and it can now take a
space seperated list of multiple headers. This is then later converted
to a list of #include lines which ends up cogl-defines.h. The gles2
and gles1 backends now add their respective ext header to this list.
2010-07-13 14:28:51 +01:00
Emmanuele Bassi
fd65138589 build: Check for the XKB extension
When compiling the X11 backends.
2010-07-13 08:27:48 +01:00
Emmanuele Bassi
698fd7d960 Post-release version bump to 1.3.9 2010-07-12 21:43:04 +01:00
Emmanuele Bassi
e1320b559d Release 1.3.8 2010-07-12 21:31:15 +01:00
Emmanuele Bassi
e3a8ece54d Merge branch 'cally-merge'
* cally-merge:
  cally: Add introspection generation
  cally: Improving cally doc
  cally: Cleaning CallyText
  cally: Refactoring "window:create" and "window:destroy" emission code
  cally: Use proper backend information on CallyActor
  cally: Check HAVE_CONFIG_H on cally-util.c
  docs: Fix Cally documentation
  cally: Clean up the headers
  Add binaries of the Cally examples to the ignore file
  docs: Add Cally API reference
  Avoid to load cally module on a11y examples
  Add accessibility tests
  Initialize accessibility support on clutter_init
  Rename some methods and includes to avoid -Wshadow warnings
  Cally initialization code
  Add Cally
2010-07-07 16:06:30 +01:00
Robert Bragg
6757f41c86 configure: Improves GLES 1.x checks
We now always aim to use pkg-config based configuration when possible,
but when not configure.ac now knows the difference between GLES_CM
libraries that contain EGL symbols (I.e. a separate EGL library doesn't
need to be found) and GLESv1_CM libraries that don't contain EGL
symbols.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2160
2010-07-06 15:02:36 +01:00
Damien Lespiau
1860d45087 build: Allow to run the tests from any directory
I was fed up to cd into the tests/conform or tests/interactive directories
to launch a specific test. Now, with the power the abs_ variants of
builddir and srcdir we can run specific test from any directory.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2159
2010-07-06 12:39:15 +01:00
Emmanuele Bassi
e0a1f20ca2 docs: Add Cally API reference 2010-07-05 16:45:43 +01:00
Alejandro Piñeiro
790d2165f3 Add accessibility tests
http://bugzilla.clutter-project.org/show_bug.cgi?id=2099

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-07-05 16:45:43 +01:00
Alejandro Piñeiro
c0f753d108 Add Cally
The Clutter Accessibility Library is an implementation of the ATK,
the Accessibility Toolkit, which exposes Clutter actors to accessibility
tools. This allows not only writing accessible user interfaces, but also
allows testing and verification frameworks based on A11Y technologies to
inspect and test a Clutter scene graph.

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

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-07-05 16:45:43 +01:00
Emmanuele Bassi
40c45ef29b Post-release version bump to 1.3.7 2010-06-30 12:53:20 +01:00
Emmanuele Bassi
a534ef65b1 Release 1.3.6 2010-06-30 12:41:54 +01:00
Neil Roberts
fae4d60106 cogl: Pull in the code for GLU tesselator from Mesa/SGI
This copies the files for the GLU tesselator from Mesa. The Mesa code
is based on the original SGI code and is released under a BSD license.

The memalloc.h header has been replaced with one that forces the code
to use g_malloc and friends. The rest of the files are not altered
from the original so it should be possible to later upgrade the files
by simply overwriting them.

There is a tesselator.h header which is expected to be included by
rest of Cogl to use the tesselator. This contains a trimmed down
version of glu.h that only includes parts that pertain to the
tesselator. There is also a stub glu.h in the GL directory which is
just provided so that the tesselator code can include <GL/gl.h>
without depending on the system header. It just redirects to
tesselator.h
2010-06-29 20:37:13 +01:00
Emmanuele Bassi
f60999becf Change the Bugzilla link in the configure script 2010-06-23 18:47:14 +01:00
Emmanuele Bassi
3734408962 Use -Bsymbolic-functions
The -Bsymbolic-functions linker flag allows to avoid intra-library
PLT jumps on ELF platforms. It is similar to the aliasing hack in
GLib and GTK+, but definitely less messy.

The configure script should look for the flags, in order to support
platforms/linkers that do not have it.
2010-06-22 13:32:11 +01:00
Neil Roberts
7fae8ac051 cogl-defines.h: Add a COGL_HAS_X11 define
This will be defined in cogl-defines.h whenever Cogl is built using a
winsys that supports X11. This implies CoglTexturePixmapX11 will be
available.

To make this work the two separate cogl-defines.h.in files have been
merged into one. The configure script now makes a @COGL_DEFINES@
substitution variable which contains the #define lines to put in
rather than directly having them in the seperate files.
2010-06-22 12:22:47 +01:00
Emmanuele Bassi
db1434ab71 json: Bump up the requirement of json-glib
We're actually using a symbol (the JSON_NODE_HOLDS macro) that was
defined in json-glib 0.10, so we need to bump up the dependency.
2010-06-22 08:00:40 +01:00
Robert Bragg
e4e6a6dfe5 configure.ac only explicitly add -lGL if no pkgconfig file
When configuring the glx flavour we were always explicitly adding -lGL
to the linker flags even when a pkg-config file was found which should
take care of that option for us.
2010-06-18 17:38:41 +01:00
Robert Bragg
c767feecbb configure.ac: Use pkg-config for gles1/2 if available
When building for gles1/2 we now always try and look for a libglesv1_cm
or libglesv2 .pc file with details about where to find the library and
headers.
2010-06-18 17:38:41 +01:00
Robert Bragg
d45ac12628 egl: Consolidates eglx and eglnative into one "egl" winsys
This remove quite a lot of redundant code by consolidating the eglx and
eglnative window system backends.
2010-06-18 17:38:41 +01:00
Robert Bragg
46bed23302 tslib: Add USE_TSLIB conditional for clutter-event-tslib.c
This adds an automake USE_TSLIB condition to decide when we should
compile clutter-event-tslib.c. This is in preparation for consolidating
the eglx and eglnative backends.
2010-06-18 17:38:40 +01:00
Robert Bragg
53bf95466b build: Adds a new opengl-egl-xlib build flavour
With this patch if you ./configure clutter using
--with-flavour=opengl-egl-xlib then it will use EGL + OpenGL instead of
the default GLX and OpenGL.

These days upstream driver work is more focused on improving EGL than it
is GLX so likewise we want to make sure Clutter has good support for
EGL.
2010-06-18 17:38:40 +01:00
Robert Bragg
bf9d5f3949 build: distinguish CLUTTER_WINSYS and CLUTTER_SONAME_INFIX
This adds a separate variable name "CLUTTER_SONAME_INFIX" to define the
infix for the clutter library that gets linked. Currently the WINSYS
corresponds to the directory we enter when building to compile the
window system and input support, but it is desirable to be able to
define multiple flavours that use the same WINSYS but should result in
different library names.

For example we are planning to combine the eglx and eglnative window
systems into one "egl" winsys but we will need to preserve the current
library names for the eglx and eglnative flavours.
2010-06-18 17:38:40 +01:00
Robert Bragg
4bd44738fd configure.ac: avoid some duplication
When we check the flavour we now just set boolean variables for the
following things:

SUPPORT_X11=1
SUPPORT_XLIB=1
SUPPORT_GLX=1
SUPPORT_EGL=1
SUPPORT_EGL_POWERVR_X11=1
SUPPORT_EGL_POWERVR_NULL=1

This lets us avoid some duplication and also some error prone tests for
lists of flavours used, for example, to determine when we need to check
for x libraries.
2010-06-18 17:38:40 +01:00
Robert Bragg
25ed304567 configure.ac: distinguish CLUTTER_FLAVOUR and CLUTTER_WINSYS
It's desirable to have a separation between the "flavour" and the
"winsys". The flavour is a concept internal to the configure script and
is a convenient name to represent the users choice of window system,
opengl driver and input backend. The CLUTTER_WINSYS currently defines
the subdirectory under clutter/ that should be compiled to handle the
window system and input.

With a separation we could add a flavour with no correspondence to which
clutter/subdirectory needs to be built.
2010-06-18 17:38:40 +01:00
Robert Bragg
c3e43a7e47 configure.ac: move the special handling of the fruity flavour
After checking the flavour option the user gives we were checking for
the fruity flavour to override the glesversion. Now that the glsl
checking has been moved this can instead just wait until the AS_CASE
that handles all the flavour configuration.
2010-06-18 17:38:40 +01:00
Robert Bragg
e3293abcd4 configure.ac: move gles checks after the flavour checks
The flavour AS_CASE should define whether a flavour uses the gl or gles
COGL_DRIVER and so we shouldn't need to have an expanding list of
tests to gate when we check for a gles driver because if we move the
checks for gles after the flavour checks we can just look at
$COGL_DRIVER.
2010-06-18 17:38:39 +01:00
Robert Bragg
c151fa2efd configure.ac: don't have so many XYX_{LIBS,CFLAGS} vars
This removes EGL_{LIBS,CFLAGS}, GLX_{LIBS,CFLAGS}, OSX_{LIBS,CFLAGS},
WIN32_{LIBS,CFLAGS}, and GLES_{LIBS,CFLAGS} and instead we just append
to FLAVOUR_{LIBS,CFLAGS}.

This makes more of the file relocatable because there were previously
dependencies on the order that some variables were setup in.
2010-06-18 17:38:39 +01:00
Kristian Høgsberg
21820d50ca Don't add GL libs for EGL X11 backend
Configure uses the GL .pc file to add GL includes and libs for the eglx
backend.

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

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-06-14 13:14:14 +01:00