Implement multi-backend support
authorEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 21 Sep 2011 17:05:03 +0000 (18:05 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Thu, 3 Nov 2011 13:45:19 +0000 (13:45 +0000)
commita09bbffd922123d0b4ae9405be4651119e5fa7a1
tree24da9a511365b74254ab8025b05c92e940e151e6
parent9c102b7c516078d13703981ca1b8cd7affb17602
Implement multi-backend support

The Clutter backend split is opaque enough that should allow us to just
build all possible backends inside the same shared object, and select
the wanted backend at initialization time.

This requires some work in the build system, as well as the
initialization code, to remove duplicate functions that might cause
conflicts at build and link time. We also need to defer all the checks
of the internal state of the platform-specific API to run-time type
checks.
25 files changed:
clutter/Makefile.am
clutter/clutter-backend-private.h
clutter/clutter-main.c
clutter/clutter-version.h.in
clutter/clutter.pc.in
clutter/cogl/clutter-stage-cogl.c
clutter/egl/clutter-backend-eglnative.c
clutter/gdk/clutter-backend-gdk.c
clutter/gdk/clutter-gdk.h
clutter/gdk/clutter-stage-gdk.c
clutter/osx/clutter-backend-osx.c
clutter/wayland/clutter-backend-wayland.c
clutter/win32/clutter-backend-win32.c
clutter/win32/clutter-stage-win32.c
clutter/x11/clutter-backend-x11.c
clutter/x11/clutter-x11-texture-pixmap.c
configure.ac
doc/cookbook/examples/Makefile.am
doc/reference/cally/Makefile.am
doc/reference/clutter/Makefile.am
tests/accessibility/Makefile.am
tests/conform/Makefile.am
tests/interactive/Makefile.am
tests/micro-bench/Makefile.am
tests/performance/Makefile.am