From 90903917a8185e0f9add7af8153ae2fc9875fdcb Mon Sep 17 00:00:00 2001
From: Xavier Claessens <xavier.claessens@collabora.com>
Date: Mon, 26 Apr 2021 14:25:03 -0400
Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1

"implicit_include_directories: false" now also means that current build
directory is not added to include paths by default any more. We have to
add it manually because we have some custom_target() that generate
headers in current build directory.

See https://github.com/mesonbuild/meson/issues/8700.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1127>
---
 gst-libs/gst/gl/meson.build | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
index db11c5e89..731ee9f5e 100644
--- a/gst-libs/gst/gl/meson.build
+++ b/gst-libs/gst/gl/meson.build
@@ -989,11 +989,20 @@ if build_gstgl
     command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
   gen_sources = [gl_enumtypes_h]
 
+  common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL']
+
+  # We have custom_target() that generate headers in the current build dir,
+  # but with implicit_include_directories: false, meson >= 0.58.0 won't include
+  # it by default. We cannot use include_directories('.') here because it would
+  # also include current source dir which is what we want to avoid because
+  # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h.
+  common_args += '-I@0@'.format(meson.current_build_dir())
+
   gstgl = library('gstgl-' + api_version,
     gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h,
-    c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
-    cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
-    objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'],
+    c_args : common_args,
+    cpp_args : common_args,
+    objc_args : common_args + gl_objc_args,
     include_directories : [configinc, libsinc, gl_includes],
     version : libversion,
     soversion : soversion,
-- 
GitLab
