summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2012-07-31 18:26:00 +0200
committerSeif Lotfy <seif@lotfy.com>2012-07-31 19:31:36 +0200
commit944fdedcf6eb5565ae97dd46e3d629d8fe48030d (patch)
tree2c2f0ccf2ffda04adddd0ccf9e1bbfec7eb2612b
parentf104be4d82ad6d703df5109bdb548a8ea15296da (diff)
Telepathy Observer: make optional
This fixes the build on systems where telepathy-glib is too old such as Fedora 16. Signed-off-by: Seif Lotfy <seif@lotfy.com>
-rw-r--r--configure.ac40
-rw-r--r--src/Makefile.am7
-rw-r--r--src/zeitgeist-datahub.vala3
3 files changed, 44 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 5b2a4cc..5d1e641 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,6 +37,7 @@ AM_SILENT_RULES([yes])
dnl ==============================================
dnl Check settings for optional providers
+dnl ==============================================
AC_ARG_ENABLE([downloads-monitor],
AS_HELP_STRING([--disable-downloads-monitor],
[Disables the XDG_DOWNLOAD_DIRECTORY file monitor]
@@ -57,22 +58,53 @@ if test "x$with_downloads_monitor" = "xyes"; then
else
AC_DEFINE([DOWNLOADS_MONITOR_ENABLED], [0], [Is the XDG_DOWNLOAD_DIRECTORY file monitor enabled?])
fi
-dnl ==============================================
dnl ==============================================
dnl Check that we meet the dependencies
dnl ==============================================
MIN_GLIB_VERSION=2.26.0
-MIN_GTK_VERSION=2.16.0
MIN_ZEITGEIST_VERSION=0.3.18
-MIN_TP_GLIB_VERSION=0.18.0
MIN_JSON_GLIB_VERSION=0.14.2
+MIN_GTK_VERSION=2.16.0
+MIN_TP_GLIB_VERSION=0.18.0
-LIBRARY_MODULES="glib-2.0 >= $MIN_GLIB_VERSION gobject-2.0 gio-2.0 gio-unix-2.0 zeitgeist-1.0 >= $MIN_ZEITGEIST_VERSION telepathy-glib >= $MIN_TP_GLIB_VERSION json-glib-1.0 >= $MIN_JSON_GLIB_VERSION"
+LIBRARY_MODULES="glib-2.0 >= $MIN_GLIB_VERSION gobject-2.0 gio-2.0 gio-unix-2.0 zeitgeist-1.0 >= $MIN_ZEITGEIST_VERSION json-glib-1.0 >= $MIN_JSON_GLIB_VERSION"
PKG_CHECK_MODULES(DATAHUB_MODULES, [$LIBRARY_MODULES])
PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= $MIN_GTK_VERSION])
+dnl ==============================================
+dnl Optional dependencies
+dnl ==============================================
+AC_ARG_ENABLE([telepathy],
+ AS_HELP_STRING([--disable-telepathy],
+ [disable Telepathy [[default=auto]]]),,
+ [enable_telepathy=auto])
+
+if test "x$enable_telepathy" != "xno"; then
+ PKG_CHECK_MODULES(TELEPATHY_GLIB,
+ [telepathy-glib >= $MIN_TP_GLIB_VERSION],
+ [have_telepathy=yes],
+ [have_telepathy=no])
+
+ DATAHUB_MODULES_CFLAGS="$DATAHUB_MODULES_CFLAGS $TELEPATHY_GLIB_CFLAGS"
+ DATAHUB_MODULES_LIBS="$DATAHUB_MODULES_LIBS $TELEPATHY_GLIB_LIBS"
+
+ if test "x$have_telepathy" = "xyes"; then
+ AC_DEFINE(HAVE_TELEPATHY, [], [Define if we have TELEPATHY_GLIB])
+ fi
+else
+ have_telepathy="no (disabled)"
+fi
+
+if test "x$enable_telepathy" = "xyes"; then
+ if test "x$have_telepathy" != "xyes"; then
+ AC_MSG_ERROR([Couldn't find telepathy-glib >= $MIN_TP_GLIB_VERSION.])
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_TELEPATHY, test "x$have_telepathy" = "xyes")
+
dnl Expansions
dnl AS_AC_EXPAND([PKGDATADIR], [$datadir/$PACKAGE_NAME])
dnl AS_AC_EXPAND([DATADIR], [$datadir])
diff --git a/src/Makefile.am b/src/Makefile.am
index de5d208..db09959 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -8,7 +8,6 @@ VALAFLAGS = \
--pkg gio-unix-2.0 \
--pkg gtk+-2.0 \
--pkg json-glib-1.0 \
- --pkg telepathy-glib \
--pkg zeitgeist-1.0 \
glib-extra.vapi \
$(top_srcdir)/config.vapi \
@@ -26,12 +25,16 @@ zeitgeist_datahub_SOURCES = \
downloads-directory-provider.vala \
kde-recent-document-provider.vala \
recent-manager-provider.vala \
- telepathy-observer.vala \
utils.vala \
zeitgeist-datahub.vala \
$(optional_zeitgeist_datahub_SOURCES) \
$(NULL)
+if HAVE_TELEPATHY
+VALAFLAGS += --pkg telepathy-glib --define=HAVE_TELEPATHY
+zeitgeist_datahub_SOURCES += telepathy-observer.vala
+endif
+
xdgautostart_in_files = \
zeitgeist-datahub.desktop.in
diff --git a/src/zeitgeist-datahub.vala b/src/zeitgeist-datahub.vala
index a336cbb..ab63a10 100644
--- a/src/zeitgeist-datahub.vala
+++ b/src/zeitgeist-datahub.vala
@@ -111,7 +111,10 @@ public class DataHub : Object, DataHubService
*/
providers.prepend (new RecentManagerGtk (this));
providers.prepend (new RecentDocumentsKDE (this));
+
+#if HAVE_TELEPATHY
providers.prepend (new TelepathyObserver (this));
+#endif
if (Config.DOWNLOADS_MONITOR_ENABLED)
providers.prepend (new DownloadsDirectoryMonitor (this));