Adding dbus_display1 to util_ss ensures that the source will be linked with audio/dbus. It also avoids recompilation when linking with dbus-display-test.
Adding dbus_display1 to genh ensures that dbus-display1.h is generated before compiling ui/dbus, audio/dbus, and dbus-display-test. Both changes combined, it is no longer necessary for ui/dbus, audio/dbus, and dbus-display-test to explicitly state the dependency on dbus_display1. Fixes: 142ca628a733 ("ui: add a D-Bus display backend") Fixes: 739362d4205c ("audio: add "dbus" audio backend") Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> --- meson.build | 6 ++++-- tests/qtest/meson.build | 2 +- ui/meson.build | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 5e1b25a47184..c5808d410361 100644 --- a/meson.build +++ b/meson.build @@ -2014,6 +2014,7 @@ dbus_display = get_option('dbus_display') \ error_message: gdbus_codegen_error.format('-display dbus')) \ .allowed() +dbus_display1_ss = ss.source_set() if dbus_display env = environment() env.set('TARGETOS', targetos) @@ -2031,8 +2032,8 @@ if dbus_display '--interface-prefix', 'org.qemu.', '--c-namespace', 'QemuDBus', '--generate-c-code', '@BASENAME@']) - dbus_display1_lib = static_library('dbus-display1', dbus_display1, dependencies: gio) - dbus_display1_dep = declare_dependency(link_with: dbus_display1_lib, include_directories: include_directories('.')) + dbus_display1_ss.add(dbus_display1) + genh += dbus_display1[0] endif have_virtfs = get_option('virtfs') \ @@ -3433,6 +3434,7 @@ event_loop_base = declare_dependency(link_whole: event_loop_base, stub_ss = stub_ss.apply(config_all, strict: false) +util_ss.add_all(dbus_display1_ss) util_ss.add_all(trace_ss) util_ss = util_ss.apply(config_all, strict: false) libqemuutil = static_library('qemuutil', diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 47dabf91d048..225cd35e4664 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -332,7 +332,7 @@ if vnc.found() endif if dbus_display - qtests += {'dbus-display-test': [dbus_display1, gio]} + qtests += {'dbus-display-test': [gio]} endif qtest_executables = {} diff --git a/ui/meson.build b/ui/meson.build index bbb7c5242d55..21d1d3b27f29 100644 --- a/ui/meson.build +++ b/ui/meson.build @@ -75,7 +75,7 @@ endif if dbus_display dbus_ss = ss.source_set() - dbus_ss.add(when: [gio, dbus_display1_dep], + dbus_ss.add(when: [gio], if_true: [files( 'dbus-chardev.c', 'dbus-clipboard.c', -- 2.43.0