[gnome-builder] build: add G-I and Vapi support for jsonrpc-glib



commit fa0d369792a2dee7fc7d873bc85ca0198878d620
Author: Christian Hergert <chergert redhat com>
Date:   Tue Nov 1 12:37:19 2016 -0700

    build: add G-I and Vapi support for jsonrpc-glib
    
    This will allow us to start writing language servers with various plugins.

 configure.ac                     |    2 +
 contrib/jsonrpc-glib/Makefile.am |   67 +++++++++++++++++++++++++++++++++++---
 2 files changed, 64 insertions(+), 5 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index e0bd388..e0ff7da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -470,6 +470,7 @@ PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_builddir)/libide"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/egg"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/gd"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/gstyle"
+PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/jsonrpc-glib"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/nautilus"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/pnl"
 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -I\$(top_srcdir)/contrib/rg"
@@ -492,6 +493,7 @@ PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --thread"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/libide"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/contrib/egg"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/contrib/gstyle"
+PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/contrib/jsonrpc-glib"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/contrib/pnl"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --vapidir \$(top_builddir)/contrib/tmpl"
 PLUGIN_VALAFLAGS="$PLUGIN_VALAFLAGS --pkg libide-1.0"
diff --git a/contrib/jsonrpc-glib/Makefile.am b/contrib/jsonrpc-glib/Makefile.am
index 38b4ac7..11a552e 100644
--- a/contrib/jsonrpc-glib/Makefile.am
+++ b/contrib/jsonrpc-glib/Makefile.am
@@ -1,11 +1,12 @@
+CLEANFILES =
+DISTCLEANFILES =
+EXTRA_DIST =
+
 noinst_LTLIBRARIES = libjsonrpc-glib.la
 
-libjsonrpc_glib_la_SOURCES = \
-       jcon.c \
-       jcon.h \
+libjsonrpc_glib_la_public_sources = \
        jsonrpc-client.c \
        jsonrpc-client.h \
-       jsonrpc-glib.h \
        jsonrpc-input-stream.c \
        jsonrpc-input-stream.h \
        jsonrpc-output-stream.c \
@@ -15,8 +16,15 @@ libjsonrpc_glib_la_SOURCES = \
        jsonrpc-version.h \
        $(NULL)
 
+libjsonrpc_glib_la_SOURCES = \
+       $(libjsonrpc_glib_la_public_sources) \
+       jsonrpc-glib.h \
+       jcon.c \
+       jcon.h \
+       $(NULL)
+
 libjsonrpc_glib_la_CFLAGS = \
-       -DJSONRPC_GLIB_INSIDE \
+       -DJSONRPC_GLIB_COMPILATION \
        $(DEBUG_CFLAGS) \
        $(JSONRPC_CFLAGS) \
        $(OPTIMIZE_CFLAGS) \
@@ -25,4 +33,53 @@ libjsonrpc_glib_la_CFLAGS = \
 libjsonrpc_glib_la_LIBADD = $(JSONRPC_LIBS)
 libjsonrpc_glib_la_LDFLAGS = $(OPTIMIZE_LDFLAGS)
 
+if HAVE_INTROSPECTION
+-include $(INTROSPECTION_MAKEFILE)
+
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+
+Jsonrpc-1.0.gir: libjsonrpc-glib.la
+Jsonrpc_1_0_gir_INCLUDES = Gio-2.0 Json-1.0
+Jsonrpc_1_0_gir_CFLAGS = $(libjsonrpc_glib_la_CFLAGS)
+Jsonrpc_1_0_gir_LIBS = libjsonrpc-glib.la
+Jsonrpc_1_0_gir_FILES = $(libjsonrpc_glib_la_public_sources)
+Jsonrpc_1_0_gir_SCANNERFLAGS = \
+       --c-include="jsonrpc-glib.h" \
+       -n Jsonrpc \
+       $(NULL)
+INTROSPECTION_GIRS += Jsonrpc-1.0.gir
+
+girdir = $(datadir)/gnome-builder/gir-1.0
+dist_gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(pkglibdir)/girepository-1.0
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES += $(dist_gir_DATA) $(typelib_DATA)
+endif
+
+if ENABLE_VAPIGEN
+-include $(VAPIGEN_MAKEFILE)
+
+jsonrpc-glib.vapi: Jsonrpc-1.0.gir
+
+VAPIGEN_VAPIS = jsonrpc-glib.vapi
+
+jsonrpc_glib_vapi_DEPS = gio-2.0 json-glib-1.0
+jsonrpc_glib_vapi_METADATADIRS = $(srcdir)
+jsonrpc_glib_vapi_FILES = Jsonrpc-1.0.gir
+
+jsonrpc-glib.deps: Makefile
+       $(AM_V_GEN) echo $(libjsonrpc_glib_vapi_DEPS) | tr ' ' '\n' > $@
+
+vapidir = $(datadir)/gnome-builder/vapi
+vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
+
+EXTRA_DIST += jsonrpc-glib.deps
+
+DISTCLEANFILES += $(vapi_DATA)
+endif
+
 -include $(top_srcdir)/git.mk


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