updated changelog
[platform/upstream/evolution-data-server.git] / configure.ac
index 96aedb1..ca18ea8 100644 (file)
@@ -1,8 +1,8 @@
 
 dnl Evolution-Data-Server version
 m4_define([eds_major_version], [3])
-m4_define([eds_minor_version], [9])
-m4_define([eds_micro_version], [4])
+m4_define([eds_minor_version], [12])
+m4_define([eds_micro_version], [2])
 
 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.10
-m4_define([base_version], [3.10])
+BASE_VERSION=3.12
+m4_define([base_version], [3.12])
 
 dnl This number is meaningless, but we're now stuck with it in our
 dnl library names for backward compatibility.
@@ -35,16 +35,16 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 dnl Required Package Versions
 
 dnl Keep these two definitions in agreement.
-m4_define([glib_minimum_version], [2.34])
-m4_define([glib_encoded_version], [GLIB_VERSION_2_34])
+m4_define([glib_minimum_version], [2.36])
+m4_define([glib_encoded_version], [GLIB_VERSION_2_36])
 
 dnl Keep these two definitions in agreement.
 m4_define([gdk_minimum_version], [3.2])
 m4_define([gdk_encoded_version], [GDK_VERSION_3_2])
 
 dnl Keep these two definitions in agreement.
-m4_define([soup_minimum_version], [2.40.3])
-m4_define([soup_encoded_version], [SOUP_VERSION_2_40])
+m4_define([soup_minimum_version], [2.42])
+m4_define([soup_encoded_version], [SOUP_VERSION_2_42])
 
 m4_define([gcr_minimum_version], [3.4])
 m4_define([libsecret_minimum_version], [0.5])
@@ -55,7 +55,7 @@ m4_define([libical_minimum_version], [0.43])
 
 dnl Optional Packages
 m4_define([goa_minimum_version], [3.8])
-m4_define([gweather_minimum_version], [3.5.0])
+m4_define([gweather_minimum_version], [3.8])
 m4_define([libaccounts_glib_minimum_version], [1.4])
 m4_define([libsignon_glib_minimum_version], [1.8])
 
@@ -73,9 +73,9 @@ GLIB_GSETTINGS
 dnl ******************************
 dnl D-Bus versioning
 dnl ******************************
-ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook5"
+ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook6"
 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar4"
-SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources1"
+SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources3"
 USER_PROMPTER_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.UserPrompter0"
 
 AC_DEFINE_UNQUOTED(
@@ -106,19 +106,19 @@ AC_SUBST(USER_PROMPTER_DBUS_SERVICE_NAME)
 dnl ******************************
 dnl Libtool versioning
 dnl ******************************
-LIBEDATASERVER_CURRENT=17
+LIBEDATASERVER_CURRENT=18
 LIBEDATASERVER_REVISION=0
 LIBEDATASERVER_AGE=0
 
-LIBECAL_CURRENT=15
+LIBECAL_CURRENT=16
 LIBECAL_REVISION=0
 LIBECAL_AGE=0
 
-LIBEDATACAL_CURRENT=21
+LIBEDATACAL_CURRENT=23
 LIBEDATACAL_REVISION=0
 LIBEDATACAL_AGE=0
 
-LIBEDATABOOK_CURRENT=19
+LIBEDATABOOK_CURRENT=20
 LIBEDATABOOK_REVISION=0
 LIBEDATABOOK_AGE=0
 
@@ -130,11 +130,11 @@ LIBEBOOK_CONTACTS_CURRENT=0
 LIBEBOOK_CONTACTS_REVISION=0
 LIBEBOOK_CONTACTS_AGE=0
 
-LIBCAMEL_CURRENT=44
+LIBCAMEL_CURRENT=49
 LIBCAMEL_REVISION=0
 LIBCAMEL_AGE=0
 
-LIBEBACKEND_CURRENT=6
+LIBEBACKEND_CURRENT=7
 LIBEBACKEND_REVISION=0
 LIBEBACKEND_AGE=0
 
@@ -175,7 +175,6 @@ dnl *********************************************
 dnl Figure out early if we'll need a C++ compiler
 dnl *********************************************
 
-evo_with_cxx=no
 EVO_PHONENUMBER_ARGS
 
 dnl ******************************
@@ -183,13 +182,13 @@ dnl Compiler Warning Flags
 dnl ******************************
 proposed_warning_flags="-Wall -Wextra
        -Wdeprecated-declarations
-       -Werror-implicit-function-declaration
        -Wformat-security -Winit-self
        -Wmissing-declarations -Wmissing-include-dirs
        -Wmissing-noreturn -Wpointer-arith
        -Wredundant-decls -Wundef -Wwrite-strings"
 
 proposed_c_warning_flags="$proposed_warning_flags
+       -Werror-implicit-function-declaration
        -Wdeclaration-after-statement
        -Wno-missing-field-initializers
        -Wno-sign-compare
@@ -197,7 +196,7 @@ proposed_c_warning_flags="$proposed_warning_flags
        -Wnested-externs"
 
 proposed_cxx_warning_flags="$proposed_warning_flags
-       -Wabi -Wnoexcept"
+       -Wabi"
 
 AS_COMPILER_FLAGS(WARNING_FLAGS, [$proposed_c_warning_flags])
 AC_SUBST(WARNING_FLAGS)
@@ -214,52 +213,22 @@ dnl       -Wstrict-aliasing=2
 AM_CFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
 AC_SUBST(AM_CFLAGS)
 
-if test "x$evo_with_cxx" = xyes; then
-       AC_PROG_CXX
+dnl C++ Compiler flags, needed for ICU C++ access and libphonenumber usage
+AC_PROG_CXX
 
-       AC_LANG_PUSH([C++])
-       AS_COMPILER_FLAGS(CXX_WARNING_FLAGS, [$proposed_cxx_warning_flags])
-       AC_SUBST(CXX_WARNING_FLAGS)
-       AM_CXXFLAGS="$CXX_WARNING_FLAGS"
-       AC_SUBST(AM_CXXFLAGS)
-       AC_LANG_POP([C++])
-else
-       dnl Autoconf requires those automake conditionals to be defined when
-       dnl generating the config files, but apparently it forgets to initialize
-       dnl them dnl if AC_PROG_CXX never gets called. Therefore we do it manually.
-       am__fastdepCXX_TRUE='#'
-       am__fastdepCXX_FALSE=
-fi
+AC_LANG_PUSH([C++])
+AS_COMPILER_FLAGS(CXX_WARNING_FLAGS, [$proposed_cxx_warning_flags])
+AC_SUBST(CXX_WARNING_FLAGS)
+AM_CXXFLAGS="$CXX_WARNING_FLAGS"
+AC_SUBST(AM_CXXFLAGS)
+AC_LANG_POP([C++])
 
 dnl Permits linking of C++ based libraries using the C linker if needed.
 AC_SUBST([predeps_CXX])
 AC_SUBST([postdeps_CXX])
 
-dnl *******************************
-dnl Check for --enable-strict
-dnl *******************************
-AC_ARG_ENABLE([strict],
-       [AS_HELP_STRING([--enable-strict],
-       [enable strict building, like without deprecated symbols (default=auto); auto enables strict building only if .git subdirectory exists])],
-       [enable_strict=$enableval], [enable_strict=auto])
-
-AC_MSG_CHECKING([if strict building is enabled])
-if test "x$enable_strict" = xauto; then
-       dnl Be strict when compiling with .git subdirectory
-       if test -d .git ; then
-               enable_strict=yes
-       else
-               enable_strict=no
-       fi
-fi
-AC_MSG_RESULT([$enable_strict])
-
 AM_CPPFLAGS=
 
-if test "x$enable_strict" = xyes; then
-       AM_CPPFLAGS="$AM_CPPFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
-fi
-
 dnl Warn about API usage that violates our minimum requirements.
 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MAX_ALLOWED=glib_encoded_version"
 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MAX_ALLOWED=gdk_encoded_version"
@@ -330,6 +299,9 @@ dnl This relies on $SED, which is defined in ltmain.sh, which
 dnl is invoked by LT_INIT (at least I think that's how it works).
 GNOME_CODE_COVERAGE
 
+dnl Add the option install unit tests
+EDS_INSTALLED_TESTS
+
 dnl ******************************
 dnl Gtk Doc stuff
 dnl ******************************
@@ -422,6 +394,35 @@ dnl ******************************
 
 EVO_PHONENUMBER_SUPPORT
 
+dnl *******************
+dnl Check for ICU
+dnl *******************
+dnl
+dnl ICU recently started shipping pkg-config files but it's
+dnl not present on many systems, if we don't find the pkg-config
+dnl file then let's fallback on a manual check
+enable_icu=no
+PKG_CHECK_MODULES(ICU, icu-i18n, enable_icu=yes, [
+        enable_icu=yes
+       AC_CHECK_HEADERS(unicode/ucol.h,, enable_icu=no)
+       AC_MSG_CHECKING([for libicui18n])
+       LIBS_old=$LIBS
+       LIBS="$LIBS -licui18n -licuuc -licudata"
+       AC_TRY_LINK([#include <unicode/ucol.h>],
+               [ucol_open ("", NULL);],
+               AC_MSG_RESULT(yes),
+               AC_MSG_RESULT(no); enable_icu=no)
+       LIBS=$LIBS_old
+       if [test x$enable_icu = xyes]; then
+               ICU_CFLAGS=-D_REENTRANT
+               ICU_LIBS="-licui18n -licuuc -licudata"
+               AC_SUBST(ICU_CFLAGS)
+               AC_SUBST(ICU_LIBS)
+       else
+               AC_MSG_ERROR([ICU libs not found, icu-i18n is required.])
+       fi
+])
+
 dnl *************************
 dnl Check for GTK+
 dnl *************************
@@ -432,19 +433,57 @@ AC_ARG_ENABLE([gtk],
 AC_MSG_CHECKING([if GTK+ support is enabled])
 AC_MSG_RESULT([$enable_gtk])
 if test "x$enable_gtk" = xyes; then
-       PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= gdk_minimum_version],,
-       [AC_MSG_ERROR([
+       PKG_CHECK_MODULES(
+               [GTK], [gtk+-3.0 >= gdk_minimum_version],,
+               [AC_MSG_ERROR([
 
        gtk+-3.0 not found (or version < gdk_minimum_version)
 
        If you want to disable GTK+ support,
        please append --disable-gtk to configure.
+
+       ])])
+
+       PKG_CHECK_MODULES(
+               [GCR], [gcr-3 >= gcr_minimum_version],,
+               [AC_MSG_ERROR([
+
+       gcr-3.0 not found (or version < gcr_minimum_version)
+
+       If you want to disable gcr-3.0's GTK+ widgets,
+       please append --disable-gtk to configure.
+
        ])])
 
        AC_DEFINE(HAVE_GTK, 1, [Define to 1 if you have the gtk+-3.0 package.])
 fi
 AM_CONDITIONAL(HAVE_GTK, [test x$enable_gtk = xyes])
 
+
+dnl ******************************************
+dnl Check whether to build examples/demos
+dnl ******************************************
+AC_ARG_ENABLE([examples],
+       [AS_HELP_STRING([--enable-examples],
+       [enable the building examples (default=yes)])],
+       [enable_examples=$enableval], [enable_examples=yes])
+AC_MSG_CHECKING([if examples should be built])
+AC_MSG_RESULT([$enable_examples])
+if test "x$enable_examples" = xyes; then
+       PKG_CHECK_MODULES([EXAMPLES],
+               [gtk+-3.0 >= 3.10 glib-2.0 >= 2.38],,
+       [AC_MSG_ERROR([
+       Some packages were not available to build the example program(s).
+
+       If you want to disable examples, please
+       append --disable-examples to configure.
+       ])])
+
+       AC_DEFINE(BUILD_EXAMPLES, 1, [Define to 1 if the examples should be built.])
+fi
+AM_CONDITIONAL(BUILD_EXAMPLES, [test x$enable_examples = xyes])
+
+
 dnl *******************************
 dnl Check for GNOME Online Accounts
 dnl *******************************
@@ -455,13 +494,15 @@ AC_ARG_ENABLE([goa],
 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
 AC_MSG_RESULT([$enable_goa])
 if test "x$enable_goa" = xyes; then
-       PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
-       [AC_MSG_ERROR([
+       PKG_CHECK_MODULES(
+               [GOA], [goa-1.0 >= goa_minimum_version],,
+               [AC_MSG_ERROR([
 
        goa-1.0 not found (or version < goa_minimum_version)
 
        If you want to disable GNOME Online Accounts support,
        please append --disable-goa to configure.
+
        ])])
 
        AC_DEFINE(HAVE_GOA, 1, [Define to 1 if you have the goa-1.0 package.])
@@ -478,7 +519,8 @@ AC_ARG_ENABLE([uoa],
 AC_MSG_CHECKING([if Ubuntu Online Accounts support is enabled])
 AC_MSG_RESULT([$enable_uoa])
 if test "x$enable_uoa" = xyes; then
-       PKG_CHECK_MODULES([LIBACCOUNTS_GLIB],
+       PKG_CHECK_MODULES(
+               [LIBACCOUNTS_GLIB],
                [libaccounts-glib >= libaccounts_glib_minimum_version],,
                [AC_MSG_ERROR([
 
@@ -486,9 +528,11 @@ if test "x$enable_uoa" = xyes; then
 
        If you want to disable Ubuntu Online Accounts support,
        please append --disable-uoa to configure.
+
        ])])
 
-       PKG_CHECK_MODULES([LIBSIGNON_GLIB],
+       PKG_CHECK_MODULES(
+               [LIBSIGNON_GLIB],
                [libsignon-glib >= libsignon_glib_minimum_version],,
                [AC_MSG_ERROR([
 
@@ -496,24 +540,29 @@ if test "x$enable_uoa" = xyes; then
 
        If you want to disable Ubuntu Online Accounts support,
        please append --disable-uoa to configure.
+
        ])])
 
-       PKG_CHECK_MODULES([JSON_GLIB], [json-glib-1.0],,
+       PKG_CHECK_MODULES(
+               [JSON_GLIB], [json-glib-1.0],,
                [AC_MSG_ERROR([
 
        json-glib-1.0 not found
 
        If you want to disable Ubuntu Online Accounts support,
        please append --disable-uoa to configure.
+
        ])])
 
-       PKG_CHECK_MODULES([REST], [rest-0.7],,
+       PKG_CHECK_MODULES(
+               [REST], [rest-0.7],,
                [AC_MSG_ERROR([
 
        librest-0.7 not found
 
        If you want to disable Ubuntu Online Accounts support,
        please append --disable-uoa to configure.
+
        ])])
 
        AC_DEFINE(HAVE_UOA, 1, [Have libaccounts-glib])
@@ -555,10 +604,16 @@ dnl ******************************
 AC_ARG_WITH([libdb],
        AS_HELP_STRING([--with-libdb=PREFIX],
        [Prefix where libdb is installed]),
-       [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
-
-DB_CFLAGS="-I$libdb_prefix/include"
-DB_LIBS="-L$libdb_prefix/lib -ldb"
+       [
+               DB_CFLAGS="-I$withval/include"
+               DB_LIBS="-L$withval/lib -ldb"
+       ],
+       [
+               if test -z "$DB_CFLAGS" -a -z "$DB_LIBS"; then
+                       DB_CFLAGS=""
+                       DB_LIBS="-ldb"
+               fi
+       ])
 
 AC_MSG_CHECKING([Berkeley DB])
 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
@@ -574,6 +629,19 @@ AC_SUBST(DB_CFLAGS)
 AC_SUBST(DB_LIBS)
 
 dnl ******************************
+dnl db_load checking
+dnl ******************************
+have_db_load=no
+AC_PATH_PROG(DB_LOAD, [db_load])
+if test -z "$DB_LOAD"; then
+   AC_MSG_WARN([db_load not found, some unit tests will not be run.])
+else
+   have_db_load=yes
+fi
+
+AM_CONDITIONAL(HAVE_DB_LOAD, test x"$have_db_load" = "xyes")
+
+dnl ******************************
 dnl iconv checking
 dnl ******************************
 have_iconv="no"
@@ -1222,25 +1290,18 @@ AC_ARG_ENABLE([weather],
 
 AC_MSG_RESULT([$use_gweather])
 if test "x$use_gweather" = "xyes"; then
-       PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
-       [AC_MSG_ERROR([The weather calendar backend requires GWeather >= gweather_minimum_version. Alternatively, you may specify --disable-weather as a configure option to avoid building the backend.])])
-fi
-AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
+       PKG_CHECK_MODULES(
+               [LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
+               [AC_MSG_ERROR([
 
-dnl ******************************
-dnl NNTP support.
-dnl ******************************
-AC_ARG_ENABLE([nntp],
-       AS_HELP_STRING([--enable-nntp],
-       [Build Usenet news (NNTP) backend]),
-       [enable_nntp=$enableval],[enable_nntp=yes])
-if test "x$enable_nntp" = "xyes"; then
-       AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
-       msg_nntp="yes"
-else
-       msg_nntp="no"
+       gweather-3.0 not found (or version < gweather_minimum_version)
+
+       If you want to disable weather calendar support,
+       please append --disable-weather to configure.
+
+       ])])
 fi
-AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
+AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
 
 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
 
@@ -1486,7 +1547,7 @@ dnl Checks for large file support
 dnl ******************************
 AC_ARG_ENABLE([largefile],
        AS_HELP_STRING([--enable-largefile],
-       [enable support for large files [[default=no]]]),
+       [enable support for large files [[default=yes]]]),
        [],[enable_largefile="yes"])
 
 if test "x$enable_largefile" != "xno"; then
@@ -1534,7 +1595,7 @@ fi
 
 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
 
-EVO_SET_COMPILE_FLAGS(CAMEL, gio-2.0 gmodule-2.0 $mozilla_nss sqlite3 >= sqlite_minimum_version, $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $KRB5_LIBS $MANUAL_NSS_LIBS)
+EVO_SET_COMPILE_FLAGS(CAMEL, gio-2.0 gmodule-2.0 $mozilla_nss $mozilla_nspr sqlite3 >= sqlite_minimum_version, $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $MANUAL_NSPR_CFLAGS $LARGEFILE_CFLAGS, -lz $KRB5_LIBS $MANUAL_NSS_LIBS $MANUAL_NSPR_LIBS)
 AC_SUBST(CAMEL_CFLAGS)
 AC_SUBST(CAMEL_LIBS)
 
@@ -1702,15 +1763,19 @@ modules/Makefile
 modules/cache-reaper/Makefile
 modules/gnome-online-accounts/Makefile
 modules/google-backend/Makefile
+modules/outlook-backend/Makefile
 modules/owncloud-backend/Makefile
+modules/secret-monitor/Makefile
 modules/ubuntu-online-accounts/Makefile
 modules/ubuntu-online-accounts/calendar.service-type.in
 modules/ubuntu-online-accounts/contacts.service-type.in
 modules/ubuntu-online-accounts/evolution-data-server.application.in
+modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in
 modules/ubuntu-online-accounts/google-calendar.service.in
 modules/ubuntu-online-accounts/google-contacts.service.in
 modules/ubuntu-online-accounts/google-gmail.service.in
 modules/ubuntu-online-accounts/mail.service-type.in
+modules/ubuntu-online-accounts/windows-live-mail.service.in
 modules/ubuntu-online-accounts/yahoo-calendar.service.in
 modules/ubuntu-online-accounts/yahoo-mail.service.in
 modules/trust-prompt/Makefile
@@ -1722,10 +1787,13 @@ services/evolution-calendar-factory/Makefile
 services/evolution-source-registry/Makefile
 services/evolution-user-prompter/Makefile
 tests/Makefile
+tests/libedata-book/Makefile
 tests/libebook/Makefile
 tests/libebook-contacts/Makefile
 tests/libebook/client/Makefile
 tests/libebook/vcard/Makefile
+tests/book-migration/Makefile
+tests/book-migration/db/Makefile
 tests/libecal/Makefile
 tests/libecal/client/Makefile
 tests/libedata-cal/Makefile
@@ -1735,19 +1803,14 @@ tests/test-server-utils/services/Makefile
 tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service
 tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service
 tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service
+examples/Makefile
+examples/cursor/Makefile
 docs/Makefile
 docs/reference/Makefile
-docs/reference/addressbook/Makefile
-docs/reference/addressbook/libebook/Makefile
-docs/reference/addressbook/libebook-contacts/Makefile
-docs/reference/addressbook/libedata-book/Makefile
-docs/reference/calendar/Makefile
-docs/reference/calendar/libecal/Makefile
-docs/reference/calendar/libedata-cal/Makefile
 docs/reference/camel/Makefile
-docs/reference/libedataserver/Makefile
-docs/reference/libebackend/Makefile
 docs/reference/private/Makefile
+docs/reference/eds/Makefile
+docs/reference/eds/version.xml
 po/Makefile.in
 vala/Makefile
 ])
@@ -1758,7 +1821,6 @@ echo "
        Weather calendar:       $use_gweather
        Mail Directory:         $system_mail_dir, $system_mail_perm
        LDAP support:           $msg_ldap
-       NNTP support:           $msg_nntp
        Kerberos 5:             $msg_krb5
        SMIME support:          $msg_smime
        IPv6 support:           $msg_ipv6
@@ -1773,6 +1835,7 @@ echo "
        Ubuntu Online Accounts  $enable_uoa
        Google Contacts         $enable_google
        GTK+:                   $enable_gtk
+       Examples:               $enable_examples
        Code coverage (gcov):   $enable_code_coverage
-       Strict building:        $enable_strict
+       Installed tests:        $enable_installed_tests
 "