meson: An empty array is not a dependency object

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
include/meson.build.

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@dronecode.org.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Jon TURNEY 2017-05-08 11:40:22 +01:00 committed by Adam Jackson
parent 16054647ab
commit e67ca94047
1 changed files with 2 additions and 2 deletions

View File

@ -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')
endif
@ -198,7 +198,7 @@ else
build_glamor = get_option('glamor') == 'yes'
endif
gbm_dep = []
gbm_dep = dependency('', required:false)
if build_glamor
gbm_dep = dependency('gbm', version: '>= 10.2', required: false)
if gbm_dep.found()