1*4882a593SmuzhiyunFrom bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Max Krummenacher <max.krummenacher@toradex.com>
3*4882a593SmuzhiyunDate: Thu, 25 Jun 2020 11:27:40 +0000
4*4882a593SmuzhiyunSubject: [PATCH] configure.ac: don't require eglmesaext.h
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunE.g. the Vivante EGL implementation does not provide eglmesaext.h.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunThe commit moves the check for header file existence outside of the
9*4882a593Smuzhiyuncheck for existence of a egl packageconfig and makes the existence
10*4882a593Smuzhiyunof eglmesaext.h optional.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunfixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers")
13*4882a593SmuzhiyunSigned-off-by: Max Krummenacher <max.krummenacher@toradex.com>
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunUpstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28]
16*4882a593SmuzhiyunSigned-off-by: Max Krummenacher <max.krummenacher@toradex.com>
17*4882a593Smuzhiyun---
18*4882a593Smuzhiyun configure.ac | 51 ++++++++++++++++++++++++++++++++-------------------
19*4882a593Smuzhiyun 1 file changed, 32 insertions(+), 19 deletions(-)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac
22*4882a593Smuzhiyunindex b7ba95d..0d1d8de 100644
23*4882a593Smuzhiyun--- a/configure.ac
24*4882a593Smuzhiyun+++ b/configure.ac
25*4882a593Smuzhiyun@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
26*4882a593Smuzhiyun         PKG_CHECK_EXISTS([egl],
27*4882a593Smuzhiyun           [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"],
28*4882a593Smuzhiyun           [
29*4882a593Smuzhiyun-            AC_CHECK_HEADERS(
30*4882a593Smuzhiyun-              [EGL/egl.h],
31*4882a593Smuzhiyun-              [],
32*4882a593Smuzhiyun-              [AC_MSG_ERROR([Unable to locate required EGL headers])])
33*4882a593Smuzhiyun-            AC_CHECK_HEADERS(
34*4882a593Smuzhiyun-              [EGL/eglext.h],
35*4882a593Smuzhiyun-              [],
36*4882a593Smuzhiyun-              [AC_MSG_ERROR([Unable to locate required EGL headers])],
37*4882a593Smuzhiyun-              [#include <EGL/egl.h>])
38*4882a593Smuzhiyun-            AC_CHECK_HEADERS(
39*4882a593Smuzhiyun-              [EGL/eglmesaext.h],
40*4882a593Smuzhiyun-              [],
41*4882a593Smuzhiyun-              [AC_MSG_ERROR([Unable to locate required EGL headers])],
42*4882a593Smuzhiyun-              [#include <EGL/egl.h>
43*4882a593Smuzhiyun-#include <EGL/eglext.h>])
44*4882a593Smuzhiyun-
45*4882a593Smuzhiyun             AC_CHECK_LIB(EGL, [eglInitialize],
46*4882a593Smuzhiyun               [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
47*4882a593Smuzhiyun               [AC_MSG_ERROR([Unable to locate required EGL library])])
48*4882a593Smuzhiyun@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
49*4882a593Smuzhiyun           ]
50*4882a593Smuzhiyun           )
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun-        COGL_EGL_INCLUDES="#include <EGL/egl.h>
53*4882a593Smuzhiyun-#include <EGL/eglext.h>
54*4882a593Smuzhiyun-#include <EGL/eglmesaext.h>"
55*4882a593Smuzhiyun+dnl Test for the existence of egl headers.
56*4882a593Smuzhiyun+dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform.
57*4882a593Smuzhiyun+dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available.
58*4882a593Smuzhiyun+dnl Set the usual include guard define and, if the EGL implementation doesn't
59*4882a593Smuzhiyun+dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't
60*4882a593Smuzhiyun+dnl require additional headers.
61*4882a593Smuzhiyun+        AC_CHECK_HEADERS(
62*4882a593Smuzhiyun+          [EGL/egl.h],
63*4882a593Smuzhiyun+          [COGL_EGL_INCLUDES="#include <EGL/egl.h>"],
64*4882a593Smuzhiyun+          [AC_MSG_ERROR([Unable to locate required EGL headers])],
65*4882a593Smuzhiyun+          [#define __egl_h_
66*4882a593Smuzhiyun+ #define USE_OZONE
67*4882a593Smuzhiyun+ #define EGL_NO_X11])
68*4882a593Smuzhiyun+        AC_CHECK_HEADERS(
69*4882a593Smuzhiyun+          [EGL/eglext.h],
70*4882a593Smuzhiyun+          [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
71*4882a593Smuzhiyun+#include <EGL/eglext.h>"],
72*4882a593Smuzhiyun+          [AC_MSG_ERROR([Unable to locate required EGL headers])],
73*4882a593Smuzhiyun+          [#define __eglext_h_
74*4882a593Smuzhiyun+ #define USE_OZONE
75*4882a593Smuzhiyun+ #define EGL_NO_X11
76*4882a593Smuzhiyun+$COGL_EGL_INCLUDES])
77*4882a593Smuzhiyun+        AC_CHECK_HEADERS(
78*4882a593Smuzhiyun+          [EGL/eglmesaext.h],
79*4882a593Smuzhiyun+          [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
80*4882a593Smuzhiyun+#include <EGL/eglmesaext.h>"],
81*4882a593Smuzhiyun+          [],
82*4882a593Smuzhiyun+          [#define __eglmesaext_h_
83*4882a593Smuzhiyun+#define USE_OZONE
84*4882a593Smuzhiyun+#define EGL_NO_X11
85*4882a593Smuzhiyun+$COGL_EGL_INCLUDES])
86*4882a593Smuzhiyun+
87*4882a593Smuzhiyun         AC_SUBST([COGL_EGL_INCLUDES])
88*4882a593Smuzhiyun       ])
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun--
91*4882a593Smuzhiyun2.20.1
92*4882a593Smuzhiyun
93