| From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001 |
| From: Max Krummenacher <max.krummenacher@toradex.com> |
| Date: Thu, 25 Jun 2020 11:27:40 +0000 |
| Subject: [PATCH] configure.ac: don't require eglmesaext.h |
| |
| E.g. the Vivante EGL implementation does not provide eglmesaext.h. |
| |
| The commit moves the check for header file existence outside of the |
| check for existence of a egl packageconfig and makes the existence |
| of eglmesaext.h optional. |
| |
| fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers") |
| Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> |
| |
| Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28] |
| Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> |
| --- |
| configure.ac | 51 ++++++++++++++++++++++++++++++++------------------- |
| 1 file changed, 32 insertions(+), 19 deletions(-) |
| |
| diff --git a/configure.ac b/configure.ac |
| index b7ba95d..0d1d8de 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], |
| PKG_CHECK_EXISTS([egl], |
| [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"], |
| [ |
| - AC_CHECK_HEADERS( |
| - [EGL/egl.h], |
| - [], |
| - [AC_MSG_ERROR([Unable to locate required EGL headers])]) |
| - AC_CHECK_HEADERS( |
| - [EGL/eglext.h], |
| - [], |
| - [AC_MSG_ERROR([Unable to locate required EGL headers])], |
| - [#include <EGL/egl.h>]) |
| - AC_CHECK_HEADERS( |
| - [EGL/eglmesaext.h], |
| - [], |
| - [AC_MSG_ERROR([Unable to locate required EGL headers])], |
| - [#include <EGL/egl.h> |
| -#include <EGL/eglext.h>]) |
| - |
| AC_CHECK_LIB(EGL, [eglInitialize], |
| [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"], |
| [AC_MSG_ERROR([Unable to locate required EGL library])]) |
| @@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], |
| ] |
| ) |
| |
| - COGL_EGL_INCLUDES="#include <EGL/egl.h> |
| -#include <EGL/eglext.h> |
| -#include <EGL/eglmesaext.h>" |
| +dnl Test for the existence of egl headers. |
| +dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform. |
| +dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available. |
| +dnl Set the usual include guard define and, if the EGL implementation doesn't |
| +dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't |
| +dnl require additional headers. |
| + AC_CHECK_HEADERS( |
| + [EGL/egl.h], |
| + [COGL_EGL_INCLUDES="#include <EGL/egl.h>"], |
| + [AC_MSG_ERROR([Unable to locate required EGL headers])], |
| + [#define __egl_h_ |
| + #define USE_OZONE |
| + #define EGL_NO_X11]) |
| + AC_CHECK_HEADERS( |
| + [EGL/eglext.h], |
| + [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES |
| +#include <EGL/eglext.h>"], |
| + [AC_MSG_ERROR([Unable to locate required EGL headers])], |
| + [#define __eglext_h_ |
| + #define USE_OZONE |
| + #define EGL_NO_X11 |
| +$COGL_EGL_INCLUDES]) |
| + AC_CHECK_HEADERS( |
| + [EGL/eglmesaext.h], |
| + [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES |
| +#include <EGL/eglmesaext.h>"], |
| + [], |
| + [#define __eglmesaext_h_ |
| +#define USE_OZONE |
| +#define EGL_NO_X11 |
| +$COGL_EGL_INCLUDES]) |
| + |
| AC_SUBST([COGL_EGL_INCLUDES]) |
| ]) |
| |
| -- |
| 2.20.1 |
| |