meson: keymap-gen
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 15 Jul 2019 12:00:36 +0000 (16:00 +0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 21 Aug 2020 10:30:13 +0000 (06:30 -0400)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Makefile
meson.build
ui/meson.build [new file with mode: 0644]

index 39633ec7dbb3867262f31c11e50b7575bae9f73e..c07b6bb5b8c9edcfcf8782dd524244a5fc6e05c3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -141,44 +141,6 @@ generated-files-y += module_block.h
 
 generated-files-y += .git-submodule-status
 
-KEYCODEMAP_GEN = $(SRC_PATH)/ui/keycodemapdb/tools/keymap-gen
-KEYCODEMAP_CSV = $(SRC_PATH)/ui/keycodemapdb/data/keymaps.csv
-
-KEYCODEMAP_FILES = \
-                ui/input-keymap-atset1-to-qcode.c.inc \
-                ui/input-keymap-linux-to-qcode.c.inc \
-                ui/input-keymap-qcode-to-atset1.c.inc \
-                ui/input-keymap-qcode-to-atset2.c.inc \
-                ui/input-keymap-qcode-to-atset3.c.inc \
-                ui/input-keymap-qcode-to-linux.c.inc \
-                ui/input-keymap-qcode-to-qnum.c.inc \
-                ui/input-keymap-qcode-to-sun.c.inc \
-                ui/input-keymap-qnum-to-qcode.c.inc \
-                ui/input-keymap-usb-to-qcode.c.inc \
-                ui/input-keymap-win32-to-qcode.c.inc \
-                ui/input-keymap-x11-to-qcode.c.inc \
-                ui/input-keymap-xorgevdev-to-qcode.c.inc \
-                ui/input-keymap-xorgkbd-to-qcode.c.inc \
-                ui/input-keymap-xorgxquartz-to-qcode.c.inc \
-                ui/input-keymap-xorgxwin-to-qcode.c.inc \
-                ui/input-keymap-osx-to-qcode.c.inc \
-                $(NULL)
-
-generated-files-$(CONFIG_SOFTMMU) += $(KEYCODEMAP_FILES)
-
-ui/input-keymap-%.c.inc: $(KEYCODEMAP_GEN) $(KEYCODEMAP_CSV) $(SRC_PATH)/ui/Makefile.objs
-       $(call quiet-command,\
-           stem=$* && src=$${stem%-to-*} dst=$${stem#*-to-} && \
-           test -e $(KEYCODEMAP_GEN) && \
-           $(PYTHON) $(KEYCODEMAP_GEN) \
-                 --lang glib2 \
-                 --varname qemu_input_map_$${src}_to_$${dst} \
-                 code-map $(KEYCODEMAP_CSV) $${src} $${dst} \
-               > $@ || rm -f $@, "GEN", "$@")
-
-$(KEYCODEMAP_GEN): .git-submodule-status
-$(KEYCODEMAP_CSV): .git-submodule-status
-
 edk2-decompressed = $(basename $(wildcard pc-bios/edk2-*.fd.bz2))
 pc-bios/edk2-%.fd: pc-bios/edk2-%.fd.bz2
        $(call quiet-command,bzip2 -d -c $< > $@,"BUNZIP2",$<)
index 3e9e0a9b33e3e8d4c634968fe5778a29bb36e820..b4a2f9db3a3a16992f6da47a84428442249a099f 100644 (file)
@@ -292,6 +292,7 @@ subdir('trace')
 subdir('util')
 subdir('crypto')
 subdir('storage-daemon')
+subdir('ui')
 
 # Build targets from sourcesets
 
diff --git a/ui/meson.build b/ui/meson.build
new file mode 100644 (file)
index 0000000..a6aa7f2
--- /dev/null
@@ -0,0 +1,34 @@
+keymaps = [
+  ['atset1', 'qcode'],
+  ['linux', 'qcode'],
+  ['qcode', 'atset1'],
+  ['qcode', 'atset2'],
+  ['qcode', 'atset3'],
+  ['qcode', 'linux'],
+  ['qcode', 'qnum'],
+  ['qcode', 'sun'],
+  ['qnum', 'qcode'],
+  ['usb', 'qcode'],
+  ['win32', 'qcode'],
+  ['x11', 'qcode'],
+  ['xorgevdev', 'qcode'],
+  ['xorgkbd', 'qcode'],
+  ['xorgxquartz', 'qcode'],
+  ['xorgxwin', 'qcode'],
+  ['osx', 'qcode'],
+]
+
+if have_system
+  foreach e : keymaps
+    output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
+    genh += custom_target(output,
+                  output: output,
+                  capture: true,
+                  build_by_default: true, # to be removed when added to a target
+                  input: files('keycodemapdb/data/keymaps.csv'),
+                  command: [python.full_path(), files('keycodemapdb/tools/keymap-gen'),
+                            '--lang', 'glib2',
+                            '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]),
+                            'code-map', '@INPUT0@', e[0], e[1]])
+  endforeach
+endif