ui: compile dbus-display1.c with -fPIC as necessary

Building dbus-display1.c explicitly as a static library drops -fPIC by
default, which may not be correct if it ends up linked to a shared
library.

Let the target decide how to build the unit, with or without -fPIC. This
makes commit 186acfbaf7 ("tests/qtest: Depend on dbus_display1_dep") no
longer relevant, as dbus-display1.c will be recompiled.

Fixes: c172136ea33 ("meson: ensure dbus-display generated code is built
before other units")

Reported-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2024-03-19 13:25:02 +04:00
parent e99441a379
commit d4069a84a3

View File

@ -90,8 +90,7 @@ if dbus_display
'--interface-prefix', 'org.qemu.', '--interface-prefix', 'org.qemu.',
'--c-namespace', 'QemuDBus', '--c-namespace', 'QemuDBus',
'--generate-c-code', '@BASENAME@']) '--generate-c-code', '@BASENAME@'])
dbus_display1_lib = static_library('dbus-display1', dbus_display1, dependencies: gio) dbus_display1_dep = declare_dependency(sources: dbus_display1, dependencies: gio)
dbus_display1_dep = declare_dependency(link_with: dbus_display1_lib, sources: dbus_display1[0])
dbus_ss.add(when: [gio, dbus_display1_dep], dbus_ss.add(when: [gio, dbus_display1_dep],
if_true: [files( if_true: [files(
'dbus-chardev.c', 'dbus-chardev.c',