summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorClaudio Fontana2022-11-21 14:55:38 +0100
committerGerd Hoffmann2022-11-23 12:15:06 +0100
commit29e0bfffab87d89c65c0890607e203b1579590a3 (patch)
treeef4001c447e8ca63c72ac76535e46eccf5db5206 /meson.build
parentRevert "usbredir: avoid queuing hello packet on snapshot restore" (diff)
downloadqemu-29e0bfffab87d89c65c0890607e203b1579590a3.tar.gz
qemu-29e0bfffab87d89c65c0890607e203b1579590a3.tar.xz
qemu-29e0bfffab87d89c65c0890607e203b1579590a3.zip
gtk: disable GTK Clipboard with a new meson option
The GTK Clipboard implementation may cause guest hangs. Therefore implement new configure switch: --enable-gtk-clipboard, as a meson option disabled by default, which warns in the help text about the experimental nature of the feature. Regenerate the meson build options to include it. The initialization of the clipboard is gtk.c, as well as the compilation of gtk-clipboard.c are now conditional on this new option to be set. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1150 Signed-off-by: Claudio Fontana <cfontana@suse.de> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Jim Fehlig <jfehlig@suse.com> Message-Id: <20221121135538.14625-1-cfontana@suse.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build5
1 files changed, 5 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index cf3e517e56..5c6b5a1c75 100644
--- a/meson.build
+++ b/meson.build
@@ -1246,6 +1246,8 @@ endif
gtk = not_found
gtkx11 = not_found
vte = not_found
+have_gtk_clipboard = get_option('gtk_clipboard').enabled()
+
if not get_option('gtk').auto() or have_system
gtk = dependency('gtk+-3.0', version: '>=3.22.0',
method: 'pkg-config',
@@ -1264,6 +1266,8 @@ if not get_option('gtk').auto() or have_system
required: get_option('vte'),
kwargs: static_kwargs)
endif
+ elif have_gtk_clipboard
+ error('GTK clipboard requested, but GTK not found')
endif
endif
@@ -1842,6 +1846,7 @@ if glusterfs.found()
endif
config_host_data.set('CONFIG_GTK', gtk.found())
config_host_data.set('CONFIG_VTE', vte.found())
+config_host_data.set('CONFIG_GTK_CLIPBOARD', have_gtk_clipboard)
config_host_data.set('CONFIG_LIBATTR', have_old_libattr)
config_host_data.set('CONFIG_LIBCAP_NG', libcap_ng.found())
config_host_data.set('CONFIG_EBPF', libbpf.found())