From: Eli Schwartz Date: Thu, 10 Mar 2022 05:08:36 +0000 (-0500) Subject: meson: use proper handling of wayland-protocols dependency X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~3^2~1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e2873bc614e50d19f1b8aa939514c83933b10136;p=gtk4.git meson: use proper handling of wayland-protocols dependency Ensure that resolution of the subproject occurs via the dependency interface, not the "poke at subprojects manually" interface, and make that actually work via --wrap-mode=forcefallback. There's no need to mark it as not-required and then manually invoke subproject(), since fallback should work correctly and it is always needed. However, if fallback was performed (or forced) it would error out since get_variable() was instructed to only use pkg-config while the relevant variable was exported by the subproject as an internal fallback dependency. --- diff --git a/meson.build b/meson.build index 63b4d73bfe..17fdb1cfe7 100644 --- a/meson.build +++ b/meson.build @@ -517,15 +517,11 @@ if wayland_enabled wlclientdep = dependency('wayland-client', version: wayland_req, fallback: 'wayland', default_options: ['documentation=false']) - wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req, required: false) + wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) wlegldep = dependency('wayland-egl', fallback: 'wayland') - if not wlprotocolsdep.found() - wlproto_dir = subproject('wayland-protocols').get_variable('wayland_protocols_srcdir') - else - wlproto_dir = wlprotocolsdep.get_variable(pkgconfig: 'pkgdatadir') - endif + wlproto_dir = wlprotocolsdep.get_variable('pkgdatadir') wayland_pkgs = [ 'wayland-client @0@'.format(wayland_req),