[gtk-vnc] Switch to use keycodemapdb submodule



commit 40950467efce4076774cb4962be3f5a44a48945a
Author: Daniel P. Berrange <berrange redhat com>
Date:   Wed Feb 15 14:43:08 2017 +0000

    Switch to use keycodemapdb submodule
    
    Signed-off-by: Daniel P. Berrange <berrange redhat com>

 .gitmodules       |    3 +
 autogen.sh        |    6 +
 configure.ac      |   16 +--
 src/Makefile.am   |   28 ++--
 src/keycodemapdb  |    1 +
 src/keymap-gen.pl |  214 -----------------------
 src/keymaps.csv   |  490 -----------------------------------------------------
 7 files changed, 26 insertions(+), 732 deletions(-)
---
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..4a02907
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/keycodemapdb"]
+       path = src/keycodemapdb
+       url = https://gitlab.com/keycodemap/keycodemapdb.git
diff --git a/autogen.sh b/autogen.sh
index 9764ab1..7f704c3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -36,6 +36,12 @@ else
     fi
 fi
 
+(
+     cd "$srcdir"
+     git submodule update --init --recursive
+)
+
+
 # Real ChangeLog/AUTHORS is auto-generated from GIT logs at
 # make dist time, but automake requires that it
 # exists at all times :-(
diff --git a/configure.ac b/configure.ac
index c20c547..f8f82d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -364,13 +364,14 @@ AC_SUBST(GTHREAD_LIBS)
 AC_DEFINE_UNQUOTED([WITH_UCONTEXT],[$WITH_UCONTEXT], [Whether to use ucontext coroutine impl])
 AM_CONDITIONAL(WITH_UCONTEXT, [test "$WITH_UCONTEXT" != "0"])
 
+# Needed for keycodemap generator
+AM_PATH_PYTHON
+
 if test "$WITH_PYTHON" = "yes"; then
   PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= $PYGTK_REQUIRED)
   AC_SUBST(PYGTK_CFLAGS)
   AC_SUBST(PYGTK_LIBS)
 
-  AM_PATH_PYTHON
-
   AC_MSG_CHECKING([whether $PYTHON version >= $PYTHON_REQUIRED])
   HAVE_PYTHON_REQUIRED=no
   AM_PYTHON_CHECK_VERSION([$PYTHON], [$PYTHON_REQUIRED],
@@ -435,17 +436,6 @@ if test "x$found_introspection" = "xyes" ; then
 fi
 AM_CONDITIONAL([WITH_VALA], [test "x$enable_vala" = "xyes"])
 
-AC_MSG_CHECKING([for Text::CSV Perl module])
-perl -MText::CSV -e "" >/dev/null 2>&1
-if test $? -ne 0 ; then
-  AC_MSG_RESULT([not found])
-  if test ! -e "$srcdir/src/vncdisplaykeymap_osx2rfb.c"; then
-    AC_MSG_ERROR([Text::CSV Perl module is required to compile this package])
-  fi
-else
-  AC_MSG_RESULT([found])
-fi
-
 AC_CONFIG_FILES(
   Makefile
   src/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 1470c90..0c21137 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -201,9 +201,10 @@ nodist_libgtk_vnc_2_0_la_SOURCES = $(nodist_gtk_vnc_SOURCES)
 nodist_libgtk_vnc_2_0_la_HEADERS = $(nodist_gtk_vnc_HDRS)
 endif
 
-EXTRA_DIST += keymap-gen.pl keymaps.csv
+KEYMAP_GEN = keycodemapdb/tools/keymap-gen
+KEYMAP_CSV = keycodemapdb/data/keymaps.csv
 
-KEYMAP_GEN = $(srcdir)/keymap-gen.pl
+EXTRA_DIST += $(KEYMAP_CSV) $(KEYMAP_GEN)
 
 KEYMAPS = \
        vncdisplaykeymap_xorgevdev2rfb.c \
@@ -214,35 +215,32 @@ KEYMAPS = \
        vncdisplaykeymap_win322rfb.c \
        vncdisplaykeymap_x112rfb.c
 
-$(KEYMAPS): $(KEYMAP_GEN) keymaps.csv
+$(KEYMAPS): $(srcdir)/$(KEYMAP_GEN) $(srcdir)/$(KEYMAP_CSV)
 BUILT_SOURCES += $(KEYMAPS)
-
-# Avoid need for perl(Text::CSV) by end users
-EXTRA_DIST += $(KEYMAPS)
-MAINTAINERCLEANFILES = $(KEYMAPS)
+CLEANFILES = $(KEYMAPS)
 
 vncdisplaykeymap.c: $(KEYMAPS)
 
 vncdisplaykeymap_xorgevdev2rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgevdev rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgevdev2rfb code-map 
$(srcdir)/$(KEYMAP_CSV) xorgevdev rfb > $@ || rm $@
 
 vncdisplaykeymap_xorgkbd2rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgkbd rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgkbd2rfb code-map 
$(srcdir)/$(KEYMAP_CSV) xorgkbd rfb > $@ || rm $@
 
 vncdisplaykeymap_xorgxquartz2rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxquartz rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxquartz2rfb code-map 
$(srcdir)/$(KEYMAP_CSV) xorgxquartz rfb > $@ || rm $@
 
 vncdisplaykeymap_xorgxwin2rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv xorgxwin rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_xorgxwin2rfb code-map 
$(srcdir)/$(KEYMAP_CSV) xorgxwin rfb > $@ || rm $@
 
 vncdisplaykeymap_osx2rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv osx rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_osx2rfb code-map 
$(srcdir)/$(KEYMAP_CSV) osx rfb > $@ || rm $@
 
 vncdisplaykeymap_win322rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv win32 rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_win322rfb code-map 
$(srcdir)/$(KEYMAP_CSV) win32 rfb > $@ || rm $@
 
 vncdisplaykeymap_x112rfb.c:
-       $(AM_V_GEN)$(PERL) $(KEYMAP_GEN) $(srcdir)/keymaps.csv x11 rfb > $@ || rm $@
+       $(AM_V_GEN)$(PYTHON) $(KEYMAP_GEN) --lang glib2 --varname keymap_x112rfb code-map 
$(srcdir)/$(KEYMAP_CSV) x11 rfb > $@ || rm $@
 
 vncdisplayenums.c: vncdisplay.h
        $(AM_V_GEN)glib-mkenums    --fhead "#include <glib-object.h>\n" \
@@ -314,7 +312,7 @@ ENUM_FILES = \
 
 BUILT_SOURCES += $(MARSHAL_FILES) $(ENUM_FILES)
 
-CLEANFILES = $(MARSHAL_FILES) $(ENUM_FILES)
+CLEANFILES += $(MARSHAL_FILES) $(ENUM_FILES)
 
 vncconnectiontest_SOURCES = vncconnectiontest.c
 vncconnectiontest_CFLAGS = $(GOBJECT_CFLAGS) $(GIO_CFLAGS)
diff --git a/src/keycodemapdb b/src/keycodemapdb
new file mode 160000
index 0000000..098899d
--- /dev/null
+++ b/src/keycodemapdb
@@ -0,0 +1 @@
+Subproject commit 098899d9f5734872c5e2c3c9a7c43e0ad6341cce


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]