summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--Makefile.am10
-rw-r--r--configure.ac33
-rw-r--r--vala/Makefile.am37
-rw-r--r--vala/telepathy-vala-uninstalled.pc.in12
-rw-r--r--vala/telepathy-vala.pc.in14
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