meson: add qemu-keymap
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/Makefile b/Makefile
index 3addf50..b0a261b 100644
--- a/Makefile
+++ b/Makefile
@@ -429,8 +429,6 @@
qemu-io$(EXESUF): qemu-io.o $(authz-obj-y) $(block-obj-y) $(crypto-obj-y) $(io-obj-y) $(qom-obj-y) $(COMMON_LDADDS)
qemu-storage-daemon$(EXESUF): qemu-storage-daemon.o $(authz-obj-y) $(block-obj-y) $(crypto-obj-y) $(chardev-obj-y) $(io-obj-y) $(qom-obj-y) $(storage-daemon-obj-y) $(COMMON_LDADDS)
-qemu-keymap$(EXESUF): qemu-keymap.o ui/input-keymap.o $(COMMON_LDADDS)
-
qemu-edid$(EXESUF): qemu-edid.o hw/display/edid-generate.o $(COMMON_LDADDS)
fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/9p-marshal.o fsdev/9p-iov-marshal.o $(COMMON_LDADDS)
@@ -443,9 +441,6 @@
qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@")
-qemu-keymap$(EXESUF): LIBS += $(XKBCOMMON_LIBS)
-qemu-keymap$(EXESUF): QEMU_CFLAGS += $(XKBCOMMON_CFLAGS)
-
module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
$(call quiet-command,$(PYTHON) $< $@ \
$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
diff --git a/configure b/configure
index c7ef287..88f925e 100755
--- a/configure
+++ b/configure
@@ -6752,9 +6752,6 @@
fi
mpath=no
fi
- if test "$xkbcommon" = "yes"; then
- tools="qemu-keymap\$(EXESUF) $tools"
- fi
fi
# Probe for guest agent support/options
@@ -7071,6 +7068,7 @@
echo "CONFIG_VNC_PNG=y" >> $config_host_mak
fi
if test "$xkbcommon" = "yes" ; then
+ echo "CONFIG_XKBCOMMON=y" >> $config_host_mak
echo "XKBCOMMON_CFLAGS=$xkbcommon_cflags" >> $config_host_mak
echo "XKBCOMMON_LIBS=$xkbcommon_libs" >> $config_host_mak
fi
diff --git a/meson.build b/meson.build
index 3568b48..9ec7dd9 100644
--- a/meson.build
+++ b/meson.build
@@ -111,6 +111,11 @@
if 'CONFIG_LIBCAP_NG' in config_host
libcap_ng = declare_dependency(link_args: config_host['LIBCAP_NG_LIBS'].split())
endif
+xkbcommon = not_found
+if 'CONFIG_XKBCOMMON' in config_host
+ xkbcommon = declare_dependency(compile_args: config_host['XKBCOMMON_CFLAGS'].split(),
+ link_args: config_host['XKBCOMMON_LIBS'].split())
+endif
rt = cc.find_library('rt', required: false)
libiscsi = not_found
if 'CONFIG_LIBISCSI' in config_host
@@ -305,6 +310,11 @@
subdir('contrib/rdmacm-mux')
subdir('contrib/elf2dmp')
+ if 'CONFIG_XKBCOMMON' in config_host
+ executable('qemu-keymap', files('qemu-keymap.c', 'ui/input-keymap.c'),
+ dependencies: [qemuutil, xkbcommon], install: true)
+ endif
+
if 'CONFIG_VHOST_USER' in config_host
subdir('contrib/libvhost-user')
subdir('contrib/vhost-user-blk')