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.
This commit is contained in:
Neil Roberts 2010-06-18 14:30:23 +01:00
parent a01b094630
commit 7fae8ac051
4 changed files with 36 additions and 49 deletions

View File

@ -45,9 +45,6 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
cogl-defines.h: $(top_builddir)/clutter/cogl/cogl/driver/gl/cogl-defines.h $(top_builddir)/clutter/cogl/cogl/driver/gles/cogl-defines.h
$(QUIET_GEN)cp -f $(top_builddir)/clutter/cogl/cogl/driver/$(COGL_DRIVER)/cogl-defines.h $(@F)
BUILT_SOURCES += cogl-defines.h
DISTCLEANFILES += cogl-defines.h

View File

@ -3,7 +3,7 @@
*
* An object oriented GL/GLES Abstraction/Utility Layer
*
* Copyright (C) 2007,2008,2009 Intel Corporation.
* Copyright (C) 2007,2008,2009,2010 Intel Corporation.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -29,8 +29,7 @@
G_BEGIN_DECLS
#define CLUTTER_COGL_HAS_GL 1
#define COGL_HAS_GL 1
@COGL_DEFINES@
G_END_DECLS

View File

@ -1,41 +0,0 @@
/*
* Clutter COGL
*
* A basic GL/GLES Abstraction/Utility Layer
*
* Authored By Matthew Allum <mallum@openedhand.com>
*
* Copyright (C) 2007 OpenedHand
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
#ifndef __COGL_DEFINES_H__
#define __COGL_DEFINES_H__
#include <glib.h>
#include <@CLUTTER_GL_HEADER@>
G_BEGIN_DECLS
#define @COGL_GLES_VERSION@ 1
#define CLUTTER_COGL_HAS_GLES 1
#define COGL_HAS_GLES 1
G_END_DECLS
#endif

View File

@ -443,6 +443,39 @@ AM_CONDITIONAL(USE_TSLIB, [test "x$have_tslib" = "xyes"])
AM_CONDITIONAL(USE_GLES2_WRAPPER, [test "x$use_gles2_wrapper" = "xyes"])
dnl The value of this variable will directly go in the install
dnl cogl-defines.h header
COGL_DEFINES_="";
dnl Space-separated list of symbols that should be defined in
dnl cogl-defines.h
COGL_DEFINES_SYMBOLS="";
if test "x$SUPPORT_X11" = "x1"; then
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_X11"
fi;
if test "x$SUPPORT_XLIB" = "x1"; then
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_XLIB"
fi;
AS_CASE([$COGL_DRIVER],
[gl],
[COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GL"
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS CLUTTER_COGL_HAS_GL"],
[gles],
[COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GLES"
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS CLUTTER_COGL_HAS_GLES"],
[AC_MSG_ERROR([Unknown cogl driver $COGL_DRIVER])])
dnl Copy all of the words in COGL_DEFINES_SYMBOLS as separate #define
dnl lines in COGL_DEFINES
for x in $COGL_DEFINES_SYMBOLS; do
COGL_DEFINES="$COGL_DEFINES
#define $x 1"
done;
AC_SUBST(COGL_DEFINES)
# at this point we must have a GL header to check
AS_IF([test "x$clutter_gl_header" = "x"], [AC_MSG_ERROR([Internal error: no GL header set])])
AC_CHECK_HEADERS([$clutter_gl_header],
@ -970,8 +1003,7 @@ AC_CONFIG_FILES([
clutter/win32/clutter-win32.pc
clutter/cogl/Makefile
clutter/cogl/cogl/Makefile
clutter/cogl/cogl/driver/gl/cogl-defines.h
clutter/cogl/cogl/driver/gles/cogl-defines.h
clutter/cogl/cogl/cogl-defines.h
clutter/cogl/cogl/cogl.pc
clutter/cogl/cogl/driver/Makefile
clutter/cogl/cogl/driver/gl/Makefile