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.8.3+ds-2+rpi1~3^2~20^2~4^2~324^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=94007caf8d0d5439e3575a337fdb94ecdc2f06ad;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 e940de27ca..8076d3eb41 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),