@@ -1062,6 +1062,12 @@ if 'CONFIG_GUEST_AGENT' in config_host
subdir('qga')
endif
+if 'CONFIG_XKBCOMMON' in config_host
+ # used for the update-keymaps target, so include rules even if !have_tools
+ qemu_keymap = executable('qemu-keymap', files('qemu-keymap.c', 'ui/input-keymap.c') + genh,
+ dependencies: [qemuutil, xkbcommon], install: have_tools)
+endif
+
if have_tools
qemu_img = executable('qemu-img', [files('qemu-img.c'), hxdep],
dependencies: [authz, block, crypto, io, qom, qemuutil], install: true)
@@ -1078,11 +1084,6 @@ if have_tools
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
-
executable('qemu-edid', files('qemu-edid.c', 'hw/display/edid-generate.c'),
dependencies: qemuutil,
install: true)
@@ -95,7 +95,7 @@ keymaps = [
['osx', 'qcode'],
]
-if have_system
+if have_system or have_tools
foreach e : keymaps
output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
genh += custom_target(output,
We need qemu-keymap to generate the keymaps. This fixes when configuring with --disable-tools: Compiling C object qemu-keymap.p/qemu-keymap.c.o Compiling C object qemu-keymap.p/ui_input-keymap.c.o Compiling C object qemu-edid.p/qemu-edid.c.o ../ui/input-keymap.c:7:49: fatal error: ui/input-keymap-atset1-to-qcode.c.inc: No such file or directory compilation terminated. Makefile.ninja:688: recipe for target 'qemu-keymap.p/ui_input-keymap.c.o' failed make: *** [qemu-keymap.p/ui_input-keymap.c.o] Error 1 Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- v3: Rebased on Marc-André keymap patch Paolo feel free to improve the subject if qemu-keymap is a tool :) --- meson.build | 11 ++++++----- ui/meson.build | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-)