diff options
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile.am | 10 | ||||
-rw-r--r-- | configure.ac | 33 | ||||
-rw-r--r-- | vala/Makefile.am | 37 | ||||
-rw-r--r-- | vala/telepathy-vala-uninstalled.pc.in | 12 | ||||
-rw-r--r-- | vala/telepathy-vala.pc.in | 14 |
6 files changed, 108 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore index 37e27e3e9..d7ebb8cae 100644 --- a/.gitignore +++ b/.gitignore @@ -78,4 +78,8 @@ tests/test-* /tests/tools/actual-body.h /tests/tools/actual-gtk-doc.h tools/telepathy-glib-env +/vala/telepathy-glib-generated.gi +/vala/telepathy-glib.files +/vala/telepathy-glib.gi +/vala/telepathy-glib.vapi /valgrind.log diff --git a/Makefile.am b/Makefile.am index 0b6ab8db5..2083cfe0a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,10 +5,18 @@ SUBDIRS = \ tools \ spec \ telepathy-glib \ + $(NULL) + +if HAVE_VALA +SUBDIRS += vala +endif + +SUBDIRS += \ extensions \ examples \ tests \ - docs + docs \ + $(NULL) DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-debug diff --git a/configure.ac b/configure.ac index 98979589a..23b3798ab 100644 --- a/configure.ac +++ b/configure.ac @@ -189,6 +189,34 @@ PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.95, dbus-glib-1 >= 0.82]) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) +AC_ARG_ENABLE(vala-bindings, + AC_HELP_STRING([--enable-vala-bindings], + [build the EXPERIMENTAL Vala bindings]), + enable_vala_bindings=$enableval, + enable_vala_bindings=no ) + +if test x$enable_vala_bindings = xyes; then + PKG_CHECK_MODULES(VALA, + [vala-1.0 >= 0.8.0.58-d033, + glib-2.0 >= 2.22, + gobject-2.0 >= 2.22, + gio-2.0 >= 2.22]) + PKG_CHECK_MODULES(LIBTEST_VALA_LOWLEVEL, + [glib-2.0 >= 2.22, + gobject-2.0 >= 2.22]) + have_vala=yes + + AC_PATH_PROG(VALAC, valac, valac) + AC_SUBST(VALAC) + AC_SUBST(VALAFLAGS) + + VAPIGEN=`$PKG_CONFIG --variable=vapigen vala-1.0` + AC_SUBST(VAPIGEN) +fi + +AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"]) +AC_SUBST(HAVE_VALA) + dnl We want the examples to be able to use TP_GLIB_CFLAGS as though they were dnl independent programs, but subst'ing TP_GLIB_LIBS interferes with dnl dependency tracking @@ -266,5 +294,8 @@ AC_OUTPUT( Makefile \ tests/dbus/Makefile \ tests/tools/Makefile \ tools/Makefile \ - m4/Makefile + m4/Makefile \ + vala/Makefile \ + vala/telepathy-vala.pc \ + vala/telepathy-vala-uninstalled.pc ) diff --git a/vala/Makefile.am b/vala/Makefile.am new file mode 100644 index 000000000..9c5a8cdaa --- /dev/null +++ b/vala/Makefile.am @@ -0,0 +1,37 @@ +XSLTPROCFLAGS = --nonet --novalid + +vapidir = $(datarootdir)/telepathy/vapi +vapi_DATA = telepathy-glib.vapi + +BUILT_SOURCES = \ + telepathy-glib.vapi \ + $(NULL) + +pkgconfigdir = ${libdir}/pkgconfig +pkgconfig_DATA = telepathy-vala.pc + +telepathy-glib.vapi: $(top_srcdir)/telepathy-glib/TelepathyGLib-0.12.gir + $(VAPIGEN_V)$(VAPIGEN) \ + --library telepathy-glib \ + --pkg gio-2.0 \ + $< \ + $(NULL) + +EXTRA_DIST = \ + $(BUILT_SOURCES) \ + $(NULL) + +CLEANFILES = \ + $(BUILT_SOURCES) \ + $(NULL) + +# set up the verbosity rules to avoid some build noise +# XXX: once automake >= 1.11 is common, remove these, push VALASOURCES files +# into SOURCES and add AM_PROG_VALAC to configure.ac +VAPIGEN_V = $(VAPIGEN_V_$(V)) +VAPIGEN_V_ = $(VAPIGEN_V_$(AM_DEFAULT_VERBOSITY)) +VAPIGEN_V_0 = @echo " VAPIG " $^; + +VGI_V = $(VGI_V_$(V)) +VGI_V_ = $(VGI_V_$(AM_DEFAULT_VERBOSITY)) +VGI_V_0 = @echo " VGI " $^; diff --git a/vala/telepathy-vala-uninstalled.pc.in b/vala/telepathy-vala-uninstalled.pc.in new file mode 100644 index 000000000..a9382e1ed --- /dev/null +++ b/vala/telepathy-vala-uninstalled.pc.in @@ -0,0 +1,12 @@ +prefix= +exec_prefix= +abs_top_srcdir=@abs_top_srcdir@ +abs_top_builddir=@abs_top_builddir@ +vapidir=${abs_top_srcdir}/vala +valaflags=--vapidir=${vapidir} + +Name: Telepathy Vala bindings (uninstalled copy) +Description: Vala bindings for the Telepathy framework +Version: @VERSION@ +Requires: pkg-config >= 0.21 +Requires.private: dbus-glib-1 >= 0.82, glib-2.0 >= 2.22, gobject-2.0 >= 2.22, gio-2.0 >= 2.22, telepathy-glib diff --git a/vala/telepathy-vala.pc.in b/vala/telepathy-vala.pc.in new file mode 100644 index 000000000..fdb4316c2 --- /dev/null +++ b/vala/telepathy-vala.pc.in @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +vapidir=@datadir@/telepathy/vapi +valaflags=--vapidir=${vapidir} + +Name: Telepathy Vala bindings +Description: Vala bindings for the Telepathy framework +Version: @VERSION@ +Requires: pkg-config >= 0.21 +Requires.private: dbus-glib-1 >= 0.82, glib-2.0 >= 2.22, gobject-2.0 >= 2.22, gio-2.0 >= 2.22, telepathy-glib |