From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001 From: Max Krummenacher 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 Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28] Signed-off-by: Max Krummenacher --- 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 ]) - AC_CHECK_HEADERS( - [EGL/eglmesaext.h], - [], - [AC_MSG_ERROR([Unable to locate required EGL headers])], - [#include -#include ]) - 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 -#include -#include " +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 "], + [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 "], + [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 "], + [], + [#define __eglmesaext_h_ +#define USE_OZONE +#define EGL_NO_X11 +$COGL_EGL_INCLUDES]) + AC_SUBST([COGL_EGL_INCLUDES]) ]) -- 2.20.1