[PATCH xserver 7/7] meson: An empty array is not a dependency object

Jon Turney jon.turney at dronecode.org.uk
Mon May 8 10:40:22 UTC 2017

Using the meson idiom of initializing a variaible to an empty array to
represent a null value does not work well for a variable expected to hold a
dependency object, as trying to apply found() to it will fail (currently).

I think this can be demonstrated by configuing with Dglamor=no, then gbm_dep
is set to [] in meson.build, and then tested with found() in

Use dependency('') to create an empty dependency.

Future work: In the autotools build GBM is required if build_xorg &
build_glamor.  I suspect that it was also required for build_xwayland &
build_glamor, but that was never checked.  That test seems to have gone
missing in meson.build, the required:false when checking for gbm should
possibly be dropped?

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
 meson.build | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index d3e0685bd..bc2323641 100644
--- a/meson.build
+++ b/meson.build
@@ -177,7 +177,7 @@ endif
 build_dbus = build_hal or build_systemd_logind
-udev_dep = []
+udev_dep = dependency('', required:false)
 if build_udev
     udev_dep = dependency('libudev', version: '>= 143')
@@ -198,7 +198,7 @@ else
     build_glamor = get_option('glamor') == 'yes'
-gbm_dep = []
+gbm_dep = dependency('', required:false)
 if build_glamor
     gbm_dep = dependency('gbm', version: '>= 10.2', required: false)
     if gbm_dep.found()

More information about the xorg-devel mailing list