On Fri, 2017-03-03 at 16:54 +0000, Daniel P. Berrange wrote:
[...]
@@ -1,3 +1,6 @@
[submodule "gnulib"]
path = .gnulib
url =
git://git.sv.gnu.org/gnulib.git
+[submodule "src/keycodemapdb"]
+ path = src/keycodemapdb
+ url =
https://gitlab.com/keycodemap/keycodemapdb.git
I think you'll need to update bootstrap_hash() in autogen.sh
to ignore this new submodule, so that it won't run gnulib's
bootstrap every time we update keycodemapdb.
I'm also wondering whether we can avoid having all developers
run 'git submodule init && git submodule update' after these
changes have been pushed...
[...]
+EXTRA_DIST += $(srcdir)/keycodemapdb/data/keymaps.csv \
+ $(srcdir)/keycodemapdb/tools/keymap-gen
Please change this into
EXTRA_DIST += \
$(srcdir)/keycodemapdb/data/keymaps.csv \
$(srcdir)/keycodemapdb/tools/keymap-gen \
$(NULL)
Same for other multi-line lists you define later, like
$(KEYTABLES).
[...]
+util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
+ $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
+ $(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycodetable_,,' \
+ -e 's,\.h,,'` && \
+ $(MKDIR_P) util/ && \
+ $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
+ --lang stdc --varname virKeyCodeTable_$$NAME code-table \
+ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
+ $@-tmp && mv $@-tmp $@ || rm $@-tmp
+
+util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
+ $(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
+ $(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeynametable_,,' \
+ -e 's,\.h,,'` && \
+ $(MKDIR_P) util/ && \
+ $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
+ --lang stdc --varname virKeyNameTable_$$NAME name-table \
+ $(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
+ $@-tmp && mv $@-tmp $@ || rm $@-tmp
Do you really need the dependency on Makefile.am there?
You could also use 'rm -f' instead of plain rm and reformat
the shell snippets a bit so that they look better.
[...]
+#define VIR_KEYMAP_ENTRY_MAX
ARRAY_CARDINALITY(virKeyCodeTable_linux)
+
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_xt));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_atset1));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_atset2));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_atset3));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_osx));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_xtkbd));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_usb));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_win32));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyCodeTable_rfb));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyNameTable_linux));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyNameTable_osx));
+verify(ARRAY_CARDINALITY(virKeyCodeTable_linux) ==
ARRAY_CARDINALITY(virKeyNameTable_win32));
You can use VIR_KEYMAP_ENTRY_MAX, which you've just defined,
instead of calling ARRAY_CARDINALITY() over and over.
--
Andrea Bolognani / Red Hat / Virtualization