CamelSession: Remove camel_session_lock/unlock().
[platform/upstream/evolution-data-server.git] / configure.ac
index dd99bcb..0a2bfc1 100644 (file)
@@ -1,8 +1,8 @@
 
 dnl Evolution-Data-Server version
 m4_define([eds_major_version], [3])
-m4_define([eds_minor_version], [3])
-m4_define([eds_micro_version], [92])
+m4_define([eds_minor_version], [5])
+m4_define([eds_micro_version], [90])
 
 m4_define([eds_version],
        [eds_major_version.eds_minor_version.eds_micro_version])
@@ -11,8 +11,8 @@ dnl Base Version: This is for API/version tracking for things like
 dnl Bonobo server files.  This should always be the major/minor of
 dnl the stable version or stable version to be.  Note, this is set
 dnl the way it is so that GETTEXT_PACKAGE will be parsed correctly.
-BASE_VERSION=3.4
-m4_define([base_version], [3.4])
+BASE_VERSION=3.6
+m4_define([base_version], [3.6])
 
 dnl This number is meaningless, but we're now stuck with it in our
 dnl library names for backward compatibility.
@@ -21,7 +21,7 @@ m4_define([api_version], [1.2])
 dnl Autoconf / Automake Initialization
 AC_PREREQ(2.62)
 AC_INIT([evolution-data-server],[eds_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server])
-AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability -Werror foreign])
+AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability foreign])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR(README)
 AC_CONFIG_HEADERS(config.h)
@@ -33,18 +33,20 @@ dnl Automake 1.11 - Silent Build Rules
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 dnl Required Package Versions
-m4_define([glib_minimum_version], [2.30])
+m4_define([glib_minimum_version], [2.32])
 m4_define([gtk_minimum_version], [3.2])
-m4_define([gconf_minimum_version], [2.0.0])            dnl XXX Just a Guess
+m4_define([gcr_minimum_version], [3.4])
 m4_define([gnome_keyring_minimum_version], [2.20.1])
-m4_define([goa_minimum_version], [3.1.1])
 m4_define([libxml_minimum_version], [2.0.0])           dnl XXX Just a Guess
-m4_define([libsoup_minimum_version], [2.31.2])
+m4_define([libsoup_minimum_version], [2.38.1])
 m4_define([libgdata_minimum_version], [0.10])
 m4_define([oauth_minimum_version], [0.9.4])
 m4_define([sqlite_minimum_version], [3.5])
 m4_define([libical_minimum_version], [0.43])
-m4_define([gweather_minimum_version], [2.90.0])
+
+dnl Optional Packages
+m4_define([goa_minimum_version], [3.2])
+m4_define([gweather_minimum_version], [3.5.0])
 
 AC_SUBST([BASE_VERSION],[base_version])
 AC_SUBST([API_VERSION],[api_version])
@@ -60,8 +62,9 @@ GLIB_GSETTINGS
 dnl ******************************
 dnl D-Bus versioning
 dnl ******************************
-ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook3"
-CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar1"
+ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook4"
+CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar3"
+SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources0"
 
 AC_DEFINE_UNQUOTED(
        ADDRESS_BOOK_DBUS_SERVICE_NAME,
@@ -73,41 +76,47 @@ AC_DEFINE_UNQUOTED(
        ["$CALENDAR_DBUS_SERVICE_NAME"],
        [D-Bus service name for the calendar factory])
 
+AC_DEFINE_UNQUOTED(
+       SOURCES_DBUS_SERVICE_NAME,
+       ["$SOURCES_DBUS_SERVICE_NAME"],
+       [D-Bus service name for the source registry])
+
 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
+AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
 
 dnl ******************************
 dnl Libtool versioning
 dnl ******************************
-LIBEDATASERVER_CURRENT=16
+LIBEDATASERVER_CURRENT=17
 LIBEDATASERVER_REVISION=0
 LIBEDATASERVER_AGE=0
 
-LIBEDATASERVERUI_CURRENT=1
+LIBEDATASERVERUI_CURRENT=4
 LIBEDATASERVERUI_REVISION=0
 LIBEDATASERVERUI_AGE=0
 
-LIBECAL_CURRENT=13
-LIBECAL_REVISION=2
-LIBECAL_AGE=2
+LIBECAL_CURRENT=15
+LIBECAL_REVISION=0
+LIBECAL_AGE=0
 
-LIBEDATACAL_CURRENT=15
+LIBEDATACAL_CURRENT=18
 LIBEDATACAL_REVISION=0
 LIBEDATACAL_AGE=0
 
-LIBEDATABOOK_CURRENT=13
+LIBEDATABOOK_CURRENT=15
 LIBEDATABOOK_REVISION=0
 LIBEDATABOOK_AGE=0
 
-LIBEBOOK_CURRENT=16
+LIBEBOOK_CURRENT=17
 LIBEBOOK_REVISION=1
 LIBEBOOK_AGE=3
 
-LIBCAMEL_CURRENT=33
+LIBCAMEL_CURRENT=39
 LIBCAMEL_REVISION=0
 LIBCAMEL_AGE=0
 
-LIBEBACKEND_CURRENT=2
+LIBEBACKEND_CURRENT=5
 LIBEBACKEND_REVISION=0
 LIBEBACKEND_AGE=0
 
@@ -213,13 +222,6 @@ AM_PROG_CC_C_O
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
-AM_PROG_LEX
-AC_PROG_YACC
-case $YACC in
-*yacc*)
-       AC_MSG_ERROR([You need bison to build evolution-data-server])
-       ;;
-esac
 
 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
 dnl behavior that -- according to the C99 standard -- is supposed to be
@@ -233,18 +235,6 @@ if test "x${GCC}" = "xyes"; then
 fi
 
 dnl ******************************
-dnl Test whether jw is installed
-dnl ******************************
-AC_PATH_PROG(JW,jw,no)
-if test "x$JW" = "xno"; then
-       HAVE_JW="no"
-else
-       HAVE_JW="yes"
-fi
-AM_CONDITIONAL(HAVE_JW, test "x$HAVE_JW" = "xyes")
-AC_SUBST(HAVE_JW)
-
-dnl ******************************
 dnl I18N stuff
 dnl ******************************
 IT_PROG_INTLTOOL([0.35.5])
@@ -272,6 +262,14 @@ dnl Gtk Doc stuff
 dnl ******************************
 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
 
+dnl The private D-Bus documentation is for developers only.
+AC_ARG_WITH([private-docs],
+       AS_HELP_STRING([--with-private-docs],
+       [Build documentation for private libraries ]
+       [(requires --enable-gtk-doc) [default=no]],),
+       [with_private_docs="$withval"],[with_private_docs="no"])
+AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
+
 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
 case "$host" in
 *openbsd*|*freebsd*)
@@ -339,7 +337,6 @@ PKG_CHECK_MODULES(GNOME_PLATFORM,
        [gio-2.0 >= glib_minimum_version
        gmodule-2.0 >= glib_minimum_version
        gtk+-3.0 >= gtk_minimum_version
-       gconf-2.0 >= gconf_minimum_version
        libxml-2.0 >= libxml_minimum_version
        libsoup-2.4 >= libsoup_minimum_version
        libgdata >= libgdata_minimum_version])
@@ -379,14 +376,27 @@ if test "x$enable_goa" = xyes; then
 fi
 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
 
+dnl GoaPasswordBased was introduced in version 3.5.
+if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
+       AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
+fi
+
+dnl ***********************************
+dnl Check for GNOME Keyring.
+dnl ***********************************
 if test x$os_win32 = xno; then
-  dnl ***********************************
-  dnl Check for GNOME Keyring.
-  dnl ***********************************
-  PKG_CHECK_MODULES(GNOME_KEYRING,
-       [gnome-keyring-1 >= gnome_keyring_minimum_version])
+       PKG_CHECK_MODULES(GNOME_KEYRING,
+               [gnome-keyring-1 >= gnome_keyring_minimum_version])
 fi
+AC_SUBST(GNOME_KEYRING_CFLAGS)
+AC_SUBST(GNOME_KEYRING_LIBS)
 
+dnl **********************************************************
+dnl gcr-base is needed for secure password exchange over D-Bus
+dnl **********************************************************
+PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
+AC_SUBST(GCR_BASE_CFLAGS)
+AC_SUBST(GCR_BASE_LIBS)
 
 LIBICAL_REQUIRED=libical_minimum_version
 AC_SUBST(LIBICAL_REQUIRED)
@@ -537,7 +547,7 @@ LIBS="$save_LIBS"
 
 AC_ARG_ENABLE([backtraces],
        [AS_HELP_STRING([--enable-backtraces],
-       [enable backtraces for e_pointer_tracker (default=no)])],
+       [enable backtraces for camel_pointer_tracker (default=no)])],
        [enable_backtraces=$enableval], [enable_backtraces=no])
 
 if test "x$enable_backtraces" = xyes; then
@@ -1240,6 +1250,24 @@ EVO_MARSHAL_RULE=$srcdir/marshal.mk
 AC_SUBST_FILE(EVO_MARSHAL_RULE)
 
 dnl ******************************
+dnl Code coverage flags
+dnl ******************************
+
+AC_ARG_ENABLE([code-coverage],
+       AS_HELP_STRING([--enable-code-coverage], [compile with code coverage code]),
+       [enable_code_coverage=$enableval], [enable_code_coverage=no])
+
+if test "x$GCC" = "xyes"; then
+       if test "x$enable_code_coverage" = "xyes"; then
+               CODE_COVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage -O0 -ggdb"
+               CODE_COVERAGE_LDFLAGS="-lgcov"
+       fi
+fi
+
+AC_SUBST([CODE_COVERAGE_CFLAGS])
+AC_SUBST([CODE_COVERAGE_LDFLAGS])
+
+dnl ******************************
 dnl Utility macro to set compiler flags for a specific lib.
 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
 dnl ******************************
@@ -1257,7 +1285,7 @@ PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
 dnl ******************************
 dnl libedataserver flags
 dnl ******************************
-E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"
+E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
 
 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
 AC_SUBST(E_DATA_SERVER_CFLAGS)
@@ -1266,7 +1294,7 @@ AC_SUBST(E_DATA_SERVER_LIBS)
 dnl ******************************
 dnl libedataserverui
 dnl ******************************
-E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
+E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 libsoup-2.4"
 
 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
@@ -1279,7 +1307,7 @@ if test "x$enable_maintainer_mode" = "xyes" ; then
        AC_SUBST(FACTORY_GTK_LIBS)
 fi
 
-E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 gconf-2.0"
+E_BACKEND_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libsoup-2.4 libxml-2.0"
 
 dnl ******************************
 dnl libebackend flags
@@ -1291,7 +1319,7 @@ AC_SUBST(E_BACKEND_LIBS)
 dnl ******************************
 dnl evolution-addressbook flags
 dnl ******************************
-EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
+EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gnome-keyring-1"
 
 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
@@ -1300,7 +1328,7 @@ AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
 dnl ******************************
 dnl evolution-calendar flags
 dnl ******************************
-EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
+EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 gnome-keyring-1"
 
 dnl *****
 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
@@ -1443,12 +1471,21 @@ AC_SUBST(privlibdir)
 imagesdir='${datadir}'/pixmaps/evolution-data-server
 AC_SUBST(imagesdir)
 
+moduledir='${libdir}'/evolution-data-server/registry-modules
+AC_SUBST(moduledir)
+
 ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
 AC_SUBST(ebook_backenddir)
 
 ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
 AC_SUBST(ecal_backenddir)
 
+ro_sourcesdir='${datadir}'/evolution-data-server-$BASE_VERSION/ro-sources
+AC_SUBST(ro_sourcesdir)
+
+rw_sourcesdir='${datadir}'/evolution-data-server-$BASE_VERSION/rw-sources
+AC_SUBST(rw_sourcesdir)
+
 if test "x$use_gweather" = "xyes"; then
        weatherdatadir="$privdatadir/weather"
        AC_SUBST(weatherdatadir)
@@ -1462,14 +1499,18 @@ dnl *******************
 dnl D-BUS service stuff
 dnl *******************
 m4_pattern_allow([AM_V_GEN])
-EVO_SUBST_SERVICE_RULE='%.service: %.service.in Makefile ; $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" -e s"|\@ADDRESS_BOOK_DBUS_SERVICE_NAME\@|$(ADDRESS_BOOK_DBUS_SERVICE_NAME)|" -e "s|\@CALENDAR_DBUS_SERVICE_NAME\@|$(CALENDAR_DBUS_SERVICE_NAME)|" $< > $@'
+EVO_SUBST_SERVICE_RULE='%.service: %.service.in Makefile ; $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" -e s"|\@ADDRESS_BOOK_DBUS_SERVICE_NAME\@|$(ADDRESS_BOOK_DBUS_SERVICE_NAME)|" -e "s|\@CALENDAR_DBUS_SERVICE_NAME\@|$(CALENDAR_DBUS_SERVICE_NAME)|" -e "s|\@SOURCES_DBUS_SERVICE_NAME\@|$(SOURCES_DBUS_SERVICE_NAME)|" $< > $@'
 AC_SUBST(EVO_SUBST_SERVICE_RULE)
 
 dnl ******************************
-dnl GConf stuff
+dnl GLib stuff
 dnl ******************************
-AC_PATH_PROG(GCONFTOOL, gconftool-2, [no])
-AM_GCONF_SOURCE_2
+GLIB_GSETTINGS
+AM_PATH_GLIB_2_0
+
+dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
+EVO_MARSHAL_RULE=$srcdir/marshal.mk
+AC_SUBST_FILE(EVO_MARSHAL_RULE)
 
 dnl ******************************
 dnl gperf stuff
@@ -1536,6 +1577,7 @@ addressbook/backends/file/Makefile
 addressbook/backends/vcf/Makefile
 addressbook/backends/ldap/Makefile
 addressbook/backends/google/Makefile
+addressbook/backends/google/tests/Makefile
 addressbook/backends/webdav/Makefile
 art/Makefile
 calendar/Makefile
@@ -1567,6 +1609,8 @@ camel/tests/mime-filter/Makefile
 camel/tests/misc/Makefile
 camel/tests/smime/Makefile
 camel/camel.pc
+data/Makefile
+data/sources/Makefile
 libebackend/Makefile
 libebackend/libebackend.pc
 libedataserver/Makefile
@@ -1574,9 +1618,16 @@ libedataserver/eds-version.h
 libedataserver/libedataserver.pc
 libedataserverui/Makefile
 libedataserverui/libedataserverui.pc
+modules/Makefile
+modules/cache-reaper/Makefile
+modules/google-backend/Makefile
+modules/online-accounts/Makefile
+modules/yahoo-backend/Makefile
+private/Makefile
 services/Makefile
 services/evolution-addressbook-factory/Makefile
 services/evolution-calendar-factory/Makefile
+services/evolution-source-registry/Makefile
 tests/Makefile
 tests/libebook/Makefile
 tests/libebook/client/Makefile
@@ -1598,6 +1649,7 @@ docs/reference/camel/Makefile
 docs/reference/libedataserver/Makefile
 docs/reference/libedataserverui/Makefile
 docs/reference/libebackend/Makefile
+docs/reference/private/Makefile
 po/Makefile.in
 vala/Makefile
 ])
@@ -1619,4 +1671,5 @@ echo "
        Introspection:          $enable_introspection
        Vala bindings:          $enable_vala_bindings
        GNOME Online Accounts   $enable_goa
+       Code coverage (gcov):   $enable_code_coverage
 "