From f3567600cff5e91cbc2110cd72ce3fefbb8cab3a Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Thu, 14 Mar 2019 17:15:52 +0000 Subject: [PATCH] meson: handle missing xkbcomp.pc better Applying get_pkgconfig_variable() to a not-found dependency was always documented as an error, but meson 0.49 now actually raises an error[1]: meson.build:110:4: ERROR: 'xkbcomp' is not a pkgconfig dependency Check xkbcomp_dep is a suitable dependency type before applying get_pkgconfig_variable() to it. [1] but this is more by accident than design (see the discusssion at [2] et seq.), so who knows where things will come to rest... [2] https://github.com/mesonbuild/meson/pull/4444#issuecomment-442443301 --- meson.build | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 52f4c3c5a..2a3e2100b 100644 --- a/meson.build +++ b/meson.build @@ -107,7 +107,9 @@ build_hashtable = false # Resolve default values of some options xkb_dir = get_option('xkb_dir') if xkb_dir == '' - xkb_dir = xkbcomp_dep.get_pkgconfig_variable('xkbconfigdir') + if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig' + xkb_dir = xkbcomp_dep.get_pkgconfig_variable('xkbconfigdir') + endif if xkb_dir == '' xkb_dir = join_paths(get_option('prefix'), 'share/X11/xkb') endif @@ -120,7 +122,9 @@ endif xkb_bin_dir = get_option('xkb_bin_dir') if xkb_bin_dir == '' - xkb_bin_dir = xkbcomp_dep.get_pkgconfig_variable('bindir') + if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig' + xkb_bin_dir = xkbcomp_dep.get_pkgconfig_variable('bindir') + endif if xkb_bin_dir == '' xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir')) endif