build: Adds a new opengl-egl-xlib build flavour
authorRobert Bragg <robert@linux.intel.com>
Thu, 17 Jun 2010 22:23:12 +0000 (23:23 +0100)
committerRobert Bragg <robert@linux.intel.com>
Fri, 18 Jun 2010 16:38:40 +0000 (17:38 +0100)
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.

configure.ac

index 036bfb2..1bba337 100644 (file)
@@ -122,7 +122,7 @@ experimental_backend=no
 experimental_image=no
 
 AC_ARG_WITH([flavour],
-            [AC_HELP_STRING([--with-flavour=@<:@glx/eglx/eglnative/osx/win32/fruity@:>@],
+            [AC_HELP_STRING([--with-flavour=@<:@glx/opengl-egl-xlib/eglx/eglnative/osx/win32/fruity@:>@],
                             [Select the Clutter window system backend])],
             [CLUTTER_FLAVOUR=$with_flavour])
 
@@ -164,6 +164,29 @@ AS_CASE([$CLUTTER_FLAVOUR],
           PKG_CHECK_EXISTS([gl], [BACKEND_PC_FILES="$BACKEND_PC_FILES gl"], [])
         ],
 
+        [opengl-egl-xlib],
+        [
+          clutter_gl_header="GL/gl.h"
+          CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGL"
+
+          SUPPORT_X11=1
+          SUPPORT_XLIB=1
+          SUPPORT_EGL=1
+          SUPPORT_EGL_PLATFORM_POWERVR_X11=1
+
+          COGL_DRIVER="gl"
+
+          CLUTTER_WINSYS=eglx
+          CLUTTER_WINSYS_BASE=x11
+          CLUTTER_WINSYS_BASE_LIB="x11/libclutter-x11.la"
+          # I think this winsys can be API and ABI compatible with the
+          # glx flavour so we can also be cheeky and use the same soname
+          CLUTTER_SONAME_INFIX=glx
+
+          PKG_CHECK_EXISTS([gl], [BACKEND_PC_FILES="$BACKEND_PC_FILES gl"], [])
+          PKG_CHECK_EXISTS([egl], [BACKEND_PC_FILES="$BACKEND_PC_FILES egl"], [])
+        ],
+
         [eglx],
         [
           # the GL header is defined in the COGL checks above