[cogl/wip/android: 6/12] gles1: Include GLES/egl.h or EGL/egl.h depending on the implementation
- From: Damien Lespiau <dlespiau src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl/wip/android: 6/12] gles1: Include GLES/egl.h or EGL/egl.h depending on the implementation
- Date: Mon, 16 May 2011 16:54:56 +0000 (UTC)
commit 8dc147a3dcc916d5b37efa58ae37ca917e45ef41
Author: Damien Lespiau <damien lespiau intel com>
Date: Fri May 13 08:04:47 2011 +0100
gles1: Include GLES/egl.h or EGL/egl.h depending on the implementation
Early implementations provided only a GLES/egl.h while Khronos's
implementer guide now states EGL/egl.h is the One. Some implementations
keep a GLES/egl.h wrapper around EGL/egl.h for backward compatibility
while others provide EGL/egl.h only.
Also took the opportunity to factorize a bit this inclusion in
cogl-defines.h.
cogl/cogl-context.h | 12 +-----------
cogl/cogl-defines.h.in | 11 +++++++++++
cogl/winsys/cogl-winsys-egl.c | 16 ----------------
configure.ac | 13 +++++++++++++
4 files changed, 25 insertions(+), 27 deletions(-)
---
diff --git a/cogl/cogl-context.h b/cogl/cogl-context.h
index 7cd0785..bce47f1 100644
--- a/cogl/cogl-context.h
+++ b/cogl/cogl-context.h
@@ -31,19 +31,9 @@
#ifndef __COGL_CONTEXT_H__
#define __COGL_CONTEXT_H__
+#include <cogl/cogl-defines.h>
#include <cogl/cogl-display.h>
-#ifdef COGL_HAS_EGL_SUPPORT
-#ifdef COGL_HAS_GLES1
-#include <GLES/gl.h>
-#include <GLES/egl.h>
-#else
-#include <EGL/egl.h>
-#define NativeDisplayType EGLNativeDisplayType
-#define NativeWindowType EGLNativeWindowType
-#endif
-#endif
-
G_BEGIN_DECLS
/**
diff --git a/cogl/cogl-defines.h.in b/cogl/cogl-defines.h.in
index ccc7673..0803463 100644
--- a/cogl/cogl-defines.h.in
+++ b/cogl/cogl-defines.h.in
@@ -31,6 +31,17 @@ G_BEGIN_DECLS
@COGL_DEFINES@
+#ifdef COGL_HAS_EGL_SUPPORT
+#ifdef COGL_HAS_GLES1
+#include <GLES/gl.h>
+ COGL_GLES1_EGL_INCLUDE@
+#else
+#include <EGL/egl.h>
+#define NativeDisplayType EGLNativeDisplayType
+#define NativeWindowType EGLNativeWindowType
+#endif
+#endif
+
G_END_DECLS
#endif
diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c
index f503cd1..133e127 100644
--- a/cogl/winsys/cogl-winsys-egl.c
+++ b/cogl/winsys/cogl-winsys-egl.c
@@ -55,22 +55,6 @@
#include <glib/gi18n-lib.h>
-#ifdef COGL_HAS_GLES1
-
-#include <GLES/gl.h>
-#include <GLES/egl.h>
-
-#else
-
-#include <EGL/egl.h>
-#define NativeDisplayType EGLNativeDisplayType
-#define NativeWindowType EGLNativeWindowType
-
-#endif
-
-
-#include <EGL/egl.h>
-
#ifdef COGL_HAS_EGL_PLATFORM_POWERVR_X11_SUPPORT
#include <X11/Xlib.h>
diff --git a/configure.ac b/configure.ac
index 718832e..7583070 100644
--- a/configure.ac
+++ b/configure.ac
@@ -336,6 +336,19 @@ AS_IF([test "x$enable_gles1" = "xyes"],
[AC_MSG_ERROR([Unable to locate GLES/glext.h])],
[#include <GLES/gl.h>])
+ # Early implementations provided only a GLES/egl.h while Khronos's
+ # implementer guide now states EGL/egl.h is the One. Some
+ # implementations keep a GLES/egl.h wrapper around EGL/egl.h for
+ # backward compatibility while others provide EGL/egl.h only.
+ AC_CHECK_HEADERS([GLES/egl.h EGL/egl.h])
+
+ AS_IF([test "x$ac_cv_header_GLES_egl_h" = "xyes"],
+ [COGL_GLES1_EGL_INCLUDE="#include <GLES/egl.h>"],
+ [AS_IF([test "x$ac_cv_header_EGL_egl_h" = "xyes"],
+ [COGL_GLES1_EGL_INCLUDE="#include <EGL/egl.h>"],
+ [AC_MSG_ERROR([Unable to locate EGL header])])])
+ AC_SUBST([COGL_GLES1_EGL_INCLUDE])
+
# Check for a GLES 1.x Common Profile library with/without EGL.
#
# Note: historically GLES 1 libraries shipped with the
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]