From 9d120a441191870cbb734a6769478eb4aadd701e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Thu, 30 Mar 2023 15:24:22 +0200
Subject: [PATCH] build: add check for eglext_angle.h when checking for ANGLE

This better follows the actual required bits, and makes sure that
a file not part of standard EGL headers is available, as the
handle type is part of standard EGL extensions header.
---
 meson.build | 11 ++++++++---
 wscript     |  5 +++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index ac8af51d59..92be68c529 100644
--- a/meson.build
+++ b/meson.build
@@ -1104,9 +1104,14 @@ if features['gl-dxinterop']
 endif
 
 egl_angle = get_option('egl-angle').require(
-    features['gl-win32'] and cc.has_header_symbol('EGL/eglext.h',
-                                                  'EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE',
-                                                  prefix: '#include <EGL/egl.h>'),
+    features['gl-win32'] and
+        cc.has_header_symbol('EGL/eglext.h',
+                             'EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE',
+                             prefix: '#include <EGL/egl.h>') and
+        cc.has_header_symbol('EGL/eglext_angle.h',
+                             'PFNEGLCREATEDEVICEANGLEPROC',
+                             # TODO: change to list when meson 1.0.0 is required
+                             prefix: '#include <EGL/egl.h>\n#include <EGL/eglext.h>'),
     error_message: 'egl-angle could not be found!',
 )
 features += {'egl-angle': egl_angle.allowed()}
diff --git a/wscript b/wscript
index 7000fc60b1..d660404594 100644
--- a/wscript
+++ b/wscript
@@ -637,8 +637,9 @@ video_output_features = [
         'desc': 'OpenGL ANGLE headers',
         'deps': 'os-win32 || os-cygwin',
         'groups': [ 'gl' ],
-        'func': check_statement(['EGL/egl.h', 'EGL/eglext.h'],
-                                'int x = EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE')
+        'func': check_statement(['EGL/egl.h', 'EGL/eglext.h', 'EGL/eglext_angle.h'],
+                                'int x = EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE; '
+                                'PFNEGLCREATEDEVICEANGLEPROC y = NULL')
     } , {
         'name': '--egl-angle-lib',
         'desc': 'OpenGL Win32 ANGLE Library',