[Spice-devel] [PATCH spice-gtk v2] Move src/keycodemapdb -> subprojects/keycodemapdb

Frediano Ziglio fziglio at redhat.com
Fri Feb 15 11:02:47 UTC 2019


From: Marc-André Lureau <marcandre.lureau at redhat.com>

Follow meson build system conventions.

This will allow meson to handle it as a subproject.

Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
Changes since v1:
- rebase;
- support still Autoconf.
---
 .gitmodules                       |  4 ++--
 meson.build                       |  6 +++++-
 src/Makefile.am                   | 20 ++++++++++----------
 src/meson.build                   |  2 --
 {src => subprojects}/keycodemapdb |  0
 5 files changed, 17 insertions(+), 15 deletions(-)
 rename {src => subprojects}/keycodemapdb (100%)

diff --git a/.gitmodules b/.gitmodules
index 6938cd0c..a7804e6f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
 [submodule "spice-common"]
 	path = subprojects/spice-common
 	url = ../spice-common.git
-[submodule "src/keycodemapdb"]
-	path = src/keycodemapdb
+[submodule "subprojects/keycodemapdb"]
+	path = subprojects/keycodemapdb
 	url = https://gitlab.com/keycodemap/keycodemapdb.git
diff --git a/meson.build b/meson.build
index 1276fb95..9fa94fc4 100644
--- a/meson.build
+++ b/meson.build
@@ -38,12 +38,16 @@ spice_gtk_deps = []
 spice_acl_deps = []
 
 #
-# Spice common subproject
+# Set up subprojects
 #
 spice_common = subproject('spice-common', default_options : ['generate-code=client'])
 spice_gtk_config_data.merge_from(spice_common.get_variable('spice_common_config_data'))
 spice_glib_deps += spice_common.get_variable('spice_common_client_dep')
 
+subproject('keycodemapdb', required : false)
+keymapgen = files('subprojects/keycodemapdb/tools/keymap-gen')
+keymapcsv = files('subprojects/keycodemapdb/data/keymaps.csv')
+
 #
 # check for system headers
 #
diff --git a/src/Makefile.am b/src/Makefile.am
index a9617d47..cdc4d288 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -63,8 +63,8 @@ GTK_SYMBOLS_LDFLAGS = -export-symbols ${srcdir}/spice-gtk-sym-file
 GTK_SYMBOLS_FILE = spice-gtk-sym-file
 endif
 
-KEYMAP_GEN = keycodemapdb/tools/keymap-gen
-KEYMAP_CSV = keycodemapdb/data/keymaps.csv
+KEYMAP_GEN = $(top_srcdir)/subprojects/keycodemapdb/tools/keymap-gen
+KEYMAP_CSV = $(top_srcdir)/subprojects/keycodemapdb/data/keymaps.csv
 
 SPICE_COMMON_CPPFLAGS =						\
 	-DSPICE_COMPILATION					\
@@ -471,28 +471,28 @@ spice-widget-enums.h: spice-widget.h
 
 
 vncdisplaykeymap.c: $(KEYMAPS)
-$(KEYMAPS): $(srcdir)/$(KEYMAP_GEN) $(srcdir)/$(KEYMAP_CSV)
+$(KEYMAPS): $(KEYMAP_GEN) $(KEYMAP_CSV)
 
 vncdisplaykeymap_xorgevdev2xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_xorgevdev2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgevdev xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgevdev2xtkbd code-map $(KEYMAP_CSV) xorgevdev xtkbd > $@ || rm $@
 
 vncdisplaykeymap_xorgkbd2xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_xorgkbd2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgkbd xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgkbd2xtkbd code-map $(KEYMAP_CSV) xorgkbd xtkbd > $@ || rm $@
 
 vncdisplaykeymap_xorgxquartz2xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxquartz2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgxquartz xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxquartz2xtkbd code-map $(KEYMAP_CSV) xorgxquartz xtkbd > $@ || rm $@
 
 vncdisplaykeymap_xorgxwin2xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxwin2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) xorgxwin xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxwin2xtkbd code-map $(KEYMAP_CSV) xorgxwin xtkbd > $@ || rm $@
 
 vncdisplaykeymap_osx2xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_osx2xtkbd code-map $(srcdir)/$(KEYMAP_CSV) osx xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_osx2xtkbd code-map $(KEYMAP_CSV) osx xtkbd > $@ || rm $@
 
 vncdisplaykeymap_win322xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_win322xtkbd code-map $(srcdir)/$(KEYMAP_CSV) win32 xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_win322xtkbd code-map $(KEYMAP_CSV) win32 xtkbd > $@ || rm $@
 
 vncdisplaykeymap_x112xtkbd.h:
-	$(AM_V_GEN)$(PYTHON) $(srcdir)/$(KEYMAP_GEN) --lang glib2 --varname keymap_x112xtkbd code-map $(srcdir)/$(KEYMAP_CSV) x11 xtkbd > $@ || rm $@
+	$(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_x112xtkbd code-map $(KEYMAP_CSV) x11 xtkbd > $@ || rm $@
 
 -include $(INTROSPECTION_MAKEFILE)
 
diff --git a/src/meson.build b/src/meson.build
index 92179553..5365f054 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -287,8 +287,6 @@ if spice_gtk_has_gtk
 
   # keymaps
   python = import('python').find_installation()
-  keymapgen = files('./keycodemapdb/tools/keymap-gen')
-  keymapcsv = files('./keycodemapdb/data/keymaps.csv')
   keymaps = ['xorgevdev',
              'xorgkbd',
              'xorgxquartz',
diff --git a/src/keycodemapdb b/subprojects/keycodemapdb
similarity index 100%
rename from src/keycodemapdb
rename to subprojects/keycodemapdb
-- 
2.20.1



More information about the Spice-devel mailing list