diff mbox series

[v3,2/2] meson: Do not consider qemu-keymap a 'tool'

Message ID 20200821160752.1254102-3-philmd@redhat.com (mailing list archive)
State New, archived
Headers show
Series meson: Build qemu-keymap when configured using --disable-tools | expand

Commit Message

Philippe Mathieu-Daudé Aug. 21, 2020, 4:07 p.m. UTC
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(-)
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 808f50b07ef..dd8016c9da3 100644
--- a/meson.build
+++ b/meson.build
@@ -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)
diff --git a/ui/meson.build b/ui/meson.build
index 6f74d30ea06..6bf398213f3 100644
--- a/ui/meson.build
+++ b/ui/meson.build
@@ -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,