# If not 1, append datestamp to the version number
-m4_define([folks_released], [1])
+m4_define([folks_released], [0])
m4_define([folks_major_version], [0])
-m4_define([folks_minor_version], [7])
-m4_define([folks_micro_version], [4])
-m4_define([folks_nano_version], [0])
+m4_define([folks_minor_version], [9])
+m4_define([folks_micro_version], [3])
+m4_define([folks_nano_version], [1])
# If library source has changed since last release, increment revision
# If public symbols have been added, removed or changed since last release,
# increment current and set revision to 0
# If public symbols have been added since last release, increment age
# If public symbols have been removed since last release, set age to 0
-m4_define([folks_lt_current], [36])
+m4_define([folks_lt_current], [39])
m4_define([folks_lt_revision], [1])
-m4_define([folks_lt_age], [12])
+m4_define([folks_lt_age], [14])
# Display the nano_version only if it's not '0'
m4_define([folks_base_version],
PKG_PROG_PKG_CONFIG([0.21])
GLIB_GSETTINGS
+# Always look for .pc files in /folks so backend support libraries can be
+# introspected properly
+PKG_CONFIG_PATH=$(pwd)/folks:$PKG_CONFIG_PATH
+AC_SUBST([PKG_CONFIG_PATH])
+
AC_SUBST([CFLAGS])
AC_SUBST([CPPFLAGS])
AC_SUBST([LDFLAGS])
FOLKS_MAJOR_MINOR_VERSION=folks_major_minor_version
AC_SUBST([FOLKS_MAJOR_MINOR_VERSION])
-API_VERSION=0.6
-AC_SUBST([API_VERSION])
+API_VERSION_MAJOR=0
+AC_SUBST([API_VERSION_MAJOR])
+API_VERSION_MINOR=6
+AC_SUBST([API_VERSION_MINOR])
+API_VERSION_DOT=$API_VERSION_MAJOR.$API_VERSION_MINOR
+AC_SUBST([API_VERSION_DOT])
AC_ARG_ENABLE(tracker-backend,
AC_HELP_STRING([--enable-tracker-backend],
AM_CONDITIONAL([ENABLE_EDS], [test "x$enable_eds_backend" = "xyes"])
+AC_ARG_ENABLE(ofono-backend,
+ AC_HELP_STRING([--enable-ofono-backend],
+ [ build the ofono backend]),
+ enable_ofono_backend=$enableval,
+ enable_ofono_backend=yes )
+
+AS_IF([test "x$enable_ofono_backend" = "xyes"], [
+ AC_DEFINE(HAVE_OFONO, [1], [Define as 1 if you have the ofono backend])
+], [
+ AC_DEFINE(HAVE_OFONO, [0], [Define as 1 if you have the ofono backend])
+])
+
+AM_CONDITIONAL([ENABLE_OFONO], [test "x$enable_ofono_backend" = "xyes"])
+
AC_ARG_ENABLE(telepathy-backend,
AC_HELP_STRING([--enable-telepathy-backend],
[ build the Telepathy backend]),
AC_DEFINE(HAVE_TELEPATHY, [0], [Define as 1 if you have the Telepathy backend])
])
-AM_CONDITIONAL([ENABLE_TELEPATHY], [test "x$enable_eds_backend" = "xyes"])
+AM_CONDITIONAL([ENABLE_TELEPATHY], [test "x$enable_telepathy_backend" = "xyes"])
+
+AC_ARG_ENABLE(zeitgeist,
+ AC_HELP_STRING([--enable-zeitgeist],
+ [ build Zeitgeist support in the Telepathy backend]),
+ enable_zeitgeist=$enableval,
+ enable_zeitgeist=auto)
# Automatically check the dependencies for the libsocialweb backend
SW_CLIENT_REQUIRED=0.25.20
"x$enable_vala" = "xyes"], [
VALA_CHECK_PACKAGES([telepathy-glib
gio-2.0
- gee-1.0
+ gee-0.8
libsocialweb-client],
,
have_libsocialweb_backend="no")
GLIB_REQUIRED=2.32.0
VALA_REQUIRED=0.17.6
VALADOC_REQUIRED=0.3.1
-TRACKER_SPARQL_MAJOR=0.14
-TRACKER_SPARQL_REQUIRED=0.13.1
-EBOOK_REQUIRED=3.5.3
+TRACKER_SPARQL_MAJOR=0.16
+TRACKER_SPARQL_REQUIRED=0.15.2
+EBOOK_REQUIRED=3.8.1
EDATASERVER_REQUIRED=3.5.3.1
-ZEITGEIST_REQUIRED=0.3.14
+ZEITGEIST_REQUIRED=0.9.14
+GEE_REQUIRED=0.8.4
AC_SUBST([TRACKER_SPARQL_MAJOR])
gobject-2.0 >= $GLIB_REQUIRED])
PKG_CHECK_MODULES([GMODULE], [gmodule-no-export-2.0])
PKG_CHECK_MODULES([GIO], [gio-2.0 >= $GLIB_REQUIRED])
-PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1])
-
-# FIXME: We depend on libgee < 0.7 because 0.7 breaks API. bgo#627746
-PKG_CHECK_MODULES([GEE], [gee-1.0 < 0.7],
- have_gee_0_6_x="yes",
- have_gee_0_6_x="no")
+# FIXME: get rid of this when our dependencies stop using dbus-1 (GNOME#696177)
+PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1 dbus-1])
-AS_IF([test "x$have_gee_0_6_x" != "xyes"], [
- AC_MSG_ERROR([
-Gee 0.6.x required but not installed.
-
-Note that Gee 0.8.x provides gee-0.8 (but gee-1.0 is, confusingly, provided by
-Gee 0.6.x)])
-])
+PKG_CHECK_MODULES([GEE], [gee-0.8 >= $GEE_REQUIRED])
TP_GLIB_REQUIRED=0.19.0
+
AS_IF([test x$enable_telepathy_backend = xyes], [
- PKG_CHECK_MODULES([TP_GLIB], [telepathy-glib >= $TP_GLIB_REQUIRED])
- PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-1.0 >= $ZEITGEIST_REQUIRED])
+ PKG_CHECK_MODULES([TP_GLIB], [telepathy-glib >= $TP_GLIB_REQUIRED])])
+case "x$enable_zeitgeist" in
+ xyes)
+ AS_IF([test x$enable_telepathy_backend = xyes],
+ [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-2.0 >= $ZEITGEIST_REQUIRED],
+ ,
+ [AC_MSG_ERROR([Zeitgeist support requires Zeitgeist development package])])])
+ have_zeitgeist=yes
+ ;;
+ xauto)
+ AS_IF([test x$enable_telepathy_backend = xyes],
+ [PKG_CHECK_MODULES([ZEITGEIST], [zeitgeist-2.0 >= $ZEITGEIST_REQUIRED],
+ have_zeitgeist="yes",have_zeitgeist="no")],
+ [have_zeitgeist=no])
+ ;;
+ xno)
+ have_zeitgeist=no
+ ;;
+ x*)
+ AC_MSG_ERROR([Unknown --enable-zeitgeist argument: $enable_zeitgeist])
+esac
+
+AS_IF([test "x$have_zeitgeist" == "xyes"], [
+ ZEITGEIST_VALAFLAGS="-D HAVE_ZEITGEIST"
+ AC_SUBST([ZEITGEIST_VALAFLAGS])
+ ZEITGEIST_PKG="--pkg zeitgeist-2.0"
+ AC_SUBST([ZEITGEIST_PKG])
])
# Ignore post 0.20 deprecations
])
AS_IF([test x$enable_eds_backend = xyes], [
- PKG_CHECK_MODULES([EBOOK], [libebook-1.2 >= $EBOOK_REQUIRED])
+ PKG_CHECK_MODULES([EBOOK], [libebook-1.2 >= $EBOOK_REQUIRED
+ libebook-contacts-1.2 >= $EBOOK_REQUIRED])
PKG_CHECK_MODULES([EDATASERVER], [libedataserver-1.2 >= $EDATASERVER_REQUIRED])
])
+AS_IF([test x$enable_ofono_backend = xyes], [
+ PKG_CHECK_MODULES([EBOOK], [libebook-1.2 >= $EBOOK_REQUIRED])
+])
+
#
# Vala building options -- allows tarball builds without installing Vala
#
# require GLib >= 2.24 so GLib.Array, etc. reffing is handled
# automatically
- VALAFLAGS="$VALAFLAGS --target-glib=2.24"
- AC_SUBST([VALAFLAGS])
+ AM_VALAFLAGS="--target-glib=2.24"
+ # within the libfolks tree, select inline code paths
+ AM_VALAFLAGS="$AM_VALAFLAGS -D FOLKS_COMPILATION"
+ AC_SUBST([AM_VALAFLAGS])
AC_SUBST([VAPIGENFLAGS])
AC_SUBST([VAPIDIR])
VALA_CHECK_PACKAGES([gio-2.0
- gee-1.0])
+ gee-0.8])
AS_IF([test x$enable_telepathy_backend = xyes], [
- VALA_CHECK_PACKAGES([telepathy-glib zeitgeist-1.0])
+ VALA_CHECK_PACKAGES([telepathy-glib])
+ AS_IF([test "x$have_zeitgeist" == "xyes"], [
+ VALA_CHECK_PACKAGES([zeitgeist-2.0])
+ ])
])
AS_IF([test x$enable_tracker_backend = xyes], [
])
AS_IF([test x$enable_eds_backend = xyes], [
- VALA_CHECK_PACKAGES([libebook-1.2 libedataserver-1.2 libxml-2.0])
+ VALA_CHECK_PACKAGES([libebook-1.2 libebook-contacts-1.2 libedataserver-1.2 libxml-2.0])
+ ])
+
+ AS_IF([test x$enable_ofono_backend = xyes], [
+ VALA_CHECK_PACKAGES([libebook-1.2])
])
])
BACKEND_DIR='$(libdir)/folks/$(FOLKS_MODULE_VERSION)/backends'
AC_SUBST([BACKEND_DIR])
-BACKEND_KF='$(top_builddir)/backends/key-file/.libs/key-file.so'
-AC_SUBST([BACKEND_KF])
-BACKEND_TP='$(top_builddir)/backends/telepathy/.libs/telepathy.so'
-AC_SUBST([BACKEND_TP])
-
-AS_IF([test x$have_libsocialweb_backend = xyes], [
- BACKEND_LIBSOCIALWEB='$(top_builddir)/backends/libsocialweb/.libs/libsocialweb.so'
- AC_SUBST([BACKEND_LIBSOCIALWEB])
-])
-
-AS_IF([test x$enable_tracker_backend = xyes], [
- BACKEND_TRACKER='$(top_builddir)/backends/tracker/.libs/tracker.so'
- AC_SUBST([BACKEND_TRACKER])
-])
-
-AS_IF([test x$enable_eds_backend = xyes], [
- BACKEND_EDS='$(top_builddir)/backends/eds/.libs/eds.so'
- AC_SUBST([BACKEND_EDS])
-])
-
-# All of the backend libraries in our tree; to be used by the tests
-BACKEND_UNINST_PATH='$(BACKEND_KF):$(BACKEND_TP)'
-AS_IF([test x$have_libsocialweb_backend = xyes], [
- LIBSOCIALWEB_BACKEND_UNINST_PATH='$(BACKEND_LIBSOCIALWEB)'
- BACKEND_UNINST_PATH="$BACKEND_UNINST_PATH:$LIBSOCIALWEB_BACKEND_UNINST_PATH"
-])
-AS_IF([test x$enable_tracker_backend = xyes], [
- TRACKER_BACKEND_UNINST_PATH='$(BACKEND_TRACKER)'
- BACKEND_UNINST_PATH="$BACKEND_UNINST_PATH:$TRACKER_BACKEND_UNINST_PATH"
-])
-AS_IF([test x$enable_eds_backend = xyes], [
- EDS_BACKEND_UNINST_PATH='$(BACKEND_EDS)'
- BACKEND_UNINST_PATH="$BACKEND_UNINST_PATH:$EDS_BACKEND_UNINST_PATH"
-])
-AC_SUBST([BACKEND_UNINST_PATH])
-
# -----------------------------------------------------------
# Tools
# -----------------------------------------------------------
AC_ARG_ENABLE([tests],
AS_HELP_STRING([--enable-tests],[Enable building of tests]),
[enable_tests=$enableval], [enable_tests=yes])
-AS_IF([test "$enable_tests" = "yes" -a "$enable_telepathy_backend" = "no"],
- [AC_MSG_ERROR([The Telepathy backend must be enabled to build tests])])
AM_CONDITIONAL([ENABLE_TESTS], [test x$enable_tests = xyes])
# -----------------------------------------------------------
# but we need it for dbus-glib. Porting to GDBus will solve this (#653198)
AC_DEFINE(GLIB_DISABLE_DEPRECATION_WARNINGS, 1, [Build with GLib deprecated])
-AS_COMPILER_FLAG([-Wall], [ERROR_CFLAGS="-Wall"], [ERROR_CFLAGS=""])
+# C_ERROR_CFLAGS are only used for C code from telepathy-glib for now,
+# while ERROR_CFLAGS are used for everything.
+
+ERROR_CFLAGS=
+
+AC_ARG_ENABLE([fatal-warnings],
+ AS_HELP_STRING([--disable-fatal-warnings],
+ [Make various warnings non-fatal]),
+ [enable_fatal_warnings=$enableval], [enable_fatal_warnings=yes])
+
+AC_DEFUN([FOLKS_ADD_WARNING],
+ [
+ AS_COMPILER_FLAG([-Werror=$2],
+ [
+ AS_IF([test "x$enable_fatal_warnings" = xyes],
+ [$1="[$]$1 -Werror=$2"],
+ [$1="[$]$1 -W$2"])
+ ])
+ ])
+
+# It isn't 1970 any more. Require that we write proper ISO C with declarations,
+# avoiding hard-to-trace bugs on platforms where sizeof(int) != sizeof(void *).
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [implicit])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [missing-declarations])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [missing-parameter-type])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [missing-prototypes])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [nested-externs])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [old-style-declaration])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [old-style-definition])
+FOLKS_ADD_WARNING([ERROR_CFLAGS], [strict-prototypes])
+
+AS_COMPILER_FLAG([-Wall], [C_ERROR_CFLAGS="-Wall"], [C_ERROR_CFLAGS=""])
AS_COMPILER_FLAG([-Werror], [werror=yes], [werror=no])
AC_ARG_ENABLE([debug],
-a x$winit_self = xyes -a x$wformat = xyes -a \
x$wmissing_include_dirs = xyes -a x$waggregate_return = xyes -a \
x$wdeclaration_after_statement = xyes; then
- ERROR_CFLAGS="$ERROR_CFLAGS -Wextra \
+ C_ERROR_CFLAGS="$C_ERROR_CFLAGS -Wextra \
-Wno-missing-field-initializers \
-Wno-unused-parameter ${flag}strict-prototypes \
${flag}missing-prototypes ${flag}implicit-function-declaration \
fi
])
-AS_COMPILER_FLAG([-D_POSIX_SOURCE], [ERROR_CFLAGS="$ERROR_CFLAGS -D_POSIX_SOURCE"])
-AS_COMPILER_FLAG([-std=c99], [ERROR_CFLAGS="$ERROR_CFLAGS -std=c99"])
-AS_COMPILER_FLAG([-Wshadow], [ERROR_CFLAGS="$ERROR_CFLAGS -Wshadow"])
-AS_COMPILER_FLAG([-Wmissing-prototypes], [ERROR_CFLAGS="$ERROR_CFLAGS \
+AS_COMPILER_FLAG([-D_POSIX_SOURCE], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS -D_POSIX_SOURCE"])
+AS_COMPILER_FLAG([-std=c99], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS -std=c99"])
+AS_COMPILER_FLAG([-Wshadow], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS -Wshadow"])
+AS_COMPILER_FLAG([-Wmissing-prototypes], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS \
-Wmissing-prototypes"])
-AS_COMPILER_FLAG([-Wmissing-declarations], [ERROR_CFLAGS="$ERROR_CFLAGS \
+AS_COMPILER_FLAG([-Wmissing-declarations], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS \
-Wmissing-declarations"])
-AS_COMPILER_FLAG([-Wstrict-prototypes], [ERROR_CFLAGS="$ERROR_CFLAGS \
+AS_COMPILER_FLAG([-Wstrict-prototypes], [C_ERROR_CFLAGS="$C_ERROR_CFLAGS \
-Wstrict-prototypes"])
AC_SUBST([ERROR_CFLAGS])
+AC_SUBST([C_ERROR_CFLAGS])
# -----------------------------------------------------------
# Code coverage flags
AC_SUBST([CODE_COVERAGE_LDFLAGS])
# Vala-related flags
-AC_ARG_ENABLE([fatal-warnings],
- AS_HELP_STRING([--disable-fatal-warnings],
- [Make warnings from valac and g-ir-scanner non-fatal]),
- [enable_fatal_warnings=$enableval], [enable_fatal_warnings=yes])
AS_IF([test "x$enable_vala" = "xyes" && test "x$enable_fatal_warnings" = "xyes"],
[ERROR_INTROSPECTION_SCANNER_ARGS="\
$ERROR_INTROSPECTION_SCANNER_ARGS --warn-error"
backends/tracker/lib/Makefile
backends/eds/Makefile
backends/eds/lib/Makefile
+ backends/ofono/Makefile
folks/Makefile
docs/Makefile
po/Makefile.in
tests/lib/eds/Makefile
tests/lib/key-file/Makefile
tests/lib/libsocialweb/Makefile
- tests/lib/libsocialweb/session.conf
tests/lib/telepathy/Makefile
tests/lib/tracker/Makefile
tests/lib/telepathy/contactlist/Makefile
- tests/lib/telepathy/contactlist/session.conf
tests/tools/Makefile
tools/Makefile
tools/inspect/Makefile
Tracker backend.............: ${enable_tracker_backend}
Libsocialweb backend........: ${have_libsocialweb_backend}
E-D-S backend...............: ${enable_eds_backend}
+ Ofono backend...............: ${enable_ofono_backend}
+ Zeitgeist support...........: ${have_zeitgeist}
Build tests.................: ${enable_tests}
"