meson: Only require expat when building wayland-scanner

This code is only required for building wayland-scanner so it should be
scoped accordingly. libxml-2.0 will only be required if both "scanner"
and "dtd_validation" are set to true.

Signed-off-by: Michael Weiss <dev.primeos@gmail.com>
This commit is contained in:
Michael Weiss 2021-04-02 19:26:57 +02:00
parent d224e6ccf3
commit e4659ffbf5
No known key found for this signature in database
GPG Key ID: 5BE487C4D4771D83
2 changed files with 9 additions and 8 deletions

View File

@ -66,13 +66,6 @@ if get_option('libraries')
endif
endif
scanner_deps = [ dependency('expat') ]
if get_option('dtd_validation')
scanner_deps += dependency('libxml-2.0')
config_h.set('HAVE_LIBXML', 1)
endif
configure_file(
output: 'config.h',
configuration: config_h,

View File

@ -26,6 +26,14 @@ wayland_util_dep = declare_dependency(
if get_option('scanner')
# wayland-scanner
scanner_deps = [ dependency('expat') ]
scanner_args = [ '-include', 'config.h' ]
if get_option('dtd_validation')
scanner_deps += dependency('libxml-2.0')
scanner_args += '-DHAVE_LIBXML=1'
endif
configure_file(
input: '../protocol/wayland.dtd',
output: 'wayland.dtd.embed',
@ -38,7 +46,7 @@ if get_option('scanner')
wayland_scanner = executable(
'wayland-scanner',
wayland_scanner_sources,
c_args: [ '-include', 'config.h' ],
c_args: scanner_args,
include_directories: wayland_scanner_includes,
dependencies: [ scanner_deps, wayland_util_dep, ],
install: true