don't leave the user in limbo when privacy system is 'none' and auto signing/encrypti...
[claws.git] / configure.ac
index 8b7c47a1256b343d7fd37e2bcb60364a42e3a5cc..a5f1bc95d3e871a386b8fe6739e72a5e1238e084 100644 (file)
@@ -21,8 +21,13 @@ if test \( -d .git \); then
        echo "echo ${GIT_VERSION}" > ./version
     fi
 else
        echo "echo ${GIT_VERSION}" > ./version
     fi
 else
-    GIT_VERSION=`sh -c ". ./$srcdir/version"`
+    GIT_VERSION=`sh -c ". $srcdir/version"`
 fi
 fi
+
+if test \( -z "$GIT_VERSION" \); then
+       AC_MSG_ERROR([*** could not determine program version])
+fi
+
 MAJOR_VERSION=${GIT_VERSION%%.*}
 MINOR_VERSION=${GIT_VERSION#*.}
 MINOR_VERSION=${MINOR_VERSION%%.*}
 MAJOR_VERSION=${GIT_VERSION%%.*}
 MINOR_VERSION=${GIT_VERSION#*.}
 MINOR_VERSION=${MINOR_VERSION%%.*}
@@ -60,14 +65,15 @@ AC_SUBST(GIT_VERSION)
 AC_CHECK_PROG(HAVE_GTK_ICON_CACHE, gtk-update-icon-cache, yes, no)
 AM_CONDITIONAL(UPDATE_GTK_ICON_CACHE, test x"$HAVE_GTK_ICON_CACHE" = xyes)
 
 AC_CHECK_PROG(HAVE_GTK_ICON_CACHE, gtk-update-icon-cache, yes, no)
 AM_CONDITIONAL(UPDATE_GTK_ICON_CACHE, test x"$HAVE_GTK_ICON_CACHE" = xyes)
 
-AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-if test x$PKG_CONFIG = xno ; then
-  AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
-fi
-
-dnl GNOME 2.x installed?
-PKG_CHECK_MODULES(GNOME2, libgnome-2.0 >= 2.0, ac_enable_gnome2=yes, ac_enable_gnome2=no)
-AM_CONDITIONAL(CLAWS_GNOME2, test x"$ac_enable_gnome2" = x"yes")
+dnl Require pkg-config
+m4_ifndef([PKG_PROG_PKG_CONFIG],
+    [m4_fatal([Could not locate the pkg-config autoconf macros. These
+are usually located in /usr/share/aclocal/pkg.m4. If your macros
+are in a different location, try setting the environment variable
+ACLOCAL_FLAGS before running ./autogen.sh or autoreconf again. E.g.:
+export ACLOCAL_FLAGS="-I/other/macro/dir"])
+])
+PKG_PROG_PKG_CONFIG
 
 dnl libtool versioning
 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
 
 dnl libtool versioning
 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
@@ -102,6 +108,7 @@ LT_INIT
 LT_AC_PROG_RC
 AC_LIBTOOL_RC
 AC_PROG_LIBTOOL
 LT_AC_PROG_RC
 AC_LIBTOOL_RC
 AC_PROG_LIBTOOL
+AC_PROG_AWK
 
 AC_SYS_LARGEFILE
 
 
 AC_SYS_LARGEFILE
 
@@ -113,18 +120,25 @@ dnl ******************************
 dnl AC_CANONICAL_HOST
 
 dnl Copied from the official gtk+-2 configure.in
 dnl AC_CANONICAL_HOST
 
 dnl Copied from the official gtk+-2 configure.in
-AC_MSG_CHECKING([for some Win32 platform])
+AC_MSG_CHECKING([for host platform])
 case "$host" in
   *-*-mingw*|*-*-cygwin*)
     platform_win32=yes
 case "$host" in
   *-*-mingw*|*-*-cygwin*)
     platform_win32=yes
-    LDFLAGS="$LDFLAGS -mwindows"
+    LDFLAGS="$LDFLAGS -mwindows -Wl,--export-all-symbols"
     ;;
     ;;
+       *-apple-*)
+               platform_osx=yes
+               LDFLAGS="$LDFLAGS -Wl,-export_dynamic"
+               ;;
   *)
     platform_win32=no
   *)
     platform_win32=no
+               platform_osx=no
+               LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
     ;;
 esac
     ;;
 esac
-AC_MSG_RESULT([$platform_win32])
 AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = x"yes")
 AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = x"yes")
+AM_CONDITIONAL(PLATFORM_OSX, test x"$platform_osx" = x"yes")
+AC_MSG_RESULT([$host])
 
 AC_MSG_CHECKING([for native Win32])
 case "$host" in
 
 AC_MSG_CHECKING([for native Win32])
 case "$host" in
@@ -166,10 +180,10 @@ if test x"$_gcc_psign" = xyes ; then
        CFLAGS="$CFLAGS -Wno-pointer-sign"
 fi
 
        CFLAGS="$CFLAGS -Wno-pointer-sign"
 fi
 
-CFLAGS="$CFLAGS -Wall"
+CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
 
 if test $USE_MAINTAINER_MODE = yes; then
 
 if test $USE_MAINTAINER_MODE = yes; then
-       CFLAGS="-g -Wall -Wno-pointer-sign -DUSE_MAINTAINER_MODE"
+       CFLAGS="$CFLAGS -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE"
 fi
 
 pthread_name=
 fi
 
 pthread_name=
@@ -178,10 +192,10 @@ case "$target" in
        CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
        ;;
 *-*-mingw*)
        CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
        ;;
 *-*-mingw*)
-        # Note that we need to link to pthreadGC2 in all cases. This
+        # Note that we need to link to pthread in all cases. This
         # is because some locking is used even when pthread support is
         # disabled.
         # is because some locking is used even when pthread support is
         # disabled.
-        pthread_name=pthreadGC2
+        pthread_name=pthread
        CFLAGS="$CFLAGS -mms-bitfields"
        LIBS="$LIBS -l${pthread_name} -lws2_32 -lregex"
        ;;
        CFLAGS="$CFLAGS -mms-bitfields"
        LIBS="$LIBS -l${pthread_name} -lws2_32 -lregex"
        ;;
@@ -205,9 +219,8 @@ LIBS="$LIBS $GTK_LIBS"
 AC_CHECK_FUNCS(bind_textdomain_codeset)
 LIBS=$syl_save_LIBS
 
 AC_CHECK_FUNCS(bind_textdomain_codeset)
 LIBS=$syl_save_LIBS
 
-dnl for i18n
-IT_PROG_INTLTOOL
-ALL_LINGUAS="bg ca cs de en_GB eo es fi fr he hu id_ID it ja lt nl pl pt_BR pt_PT ru sk sv uk zh_CN zh_TW"
+dnl for gettext
+ALL_LINGUAS="ca cs da de en_GB es fi fr hu id_ID it ja nb nl pl pt_BR ro ru sk sv tr zh_TW"
 GETTEXT_PACKAGE=claws-mail
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
 GETTEXT_PACKAGE=claws-mail
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
@@ -279,17 +292,21 @@ AC_ARG_ENABLE(valgrind,
                [  --disable-valgrind              Do not build valgrind support for debugging],
                [enable_valgrind=$enableval], [enable_valgrind=yes])
 
                [  --disable-valgrind              Do not build valgrind support for debugging],
                [enable_valgrind=$enableval], [enable_valgrind=yes])
 
-AC_ARG_ENABLE(new-addrbook,
-               [  --enable-new-addrbook           Build new external address book support],
-               [enable_new_addrbook=$enableval], [enable_new_addrbook=no])
+AC_ARG_ENABLE(alternate-addressbook,
+               [  --enable-alternate-addressbook  Build alternate external address book support],
+               [enable_alternate_addressbook=$enableval], [enable_alternate_addressbook=no])
 
 AC_ARG_ENABLE(gtk3,
                [  --enable-gtk3                   Build GTK3 support],
                [enable_gtk3=$enableval], [enable_gtk3=no])
 
 
 AC_ARG_ENABLE(gtk3,
                [  --enable-gtk3                   Build GTK3 support],
                [enable_gtk3=$enableval], [enable_gtk3=no])
 
-AC_ARG_ENABLE(deprecated,
-               [  --disable-deprecated            Disable deprecated GTK functions],
-               [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
+AC_ARG_ENABLE(svg,
+        [  --disable-svg                   Do not build SVG support],
+        [enable_svg=$enableval], [enable_svg=yes])
+
+AC_ARG_ENABLE(tests,
+                               [ --enable-tests                   Build unit tests],
+                               [enable_tests=$enableval], [enable_tests=no])
 
 manualdir='${docdir}/manual'
 AC_ARG_WITH(manualdir,
 
 manualdir='${docdir}/manual'
 AC_ARG_WITH(manualdir,
@@ -382,18 +399,6 @@ AC_CHECK_HEADERS(fcntl.h sys/file.h unistd.h paths.h \
 AC_CHECK_HEADER([execinfo.h], [AC_DEFINE(HAVE_BACKTRACE,1,[Has backtrace*() needed for retrieving stack traces])])
 AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
 
 AC_CHECK_HEADER([execinfo.h], [AC_DEFINE(HAVE_BACKTRACE,1,[Has backtrace*() needed for retrieving stack traces])])
 AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
 
-dnl alf - Check for apache installation f*ck up. apache may also install an
-dnl fnmatch, which includes their own regex stuff if USE_HSREGEX is defined
-AC_TRY_COMPILE([#include <stdlib.h>
-               #include <fnmatch.h>],
-       [int x = USE_HSREGEX;],
-       ac_cv_have_apache_fnmatch=yes, ac_cv_have_apache_fnmatch=no)
-if test $ac_cv_have_apache_fnmatch = yes; then
-       AC_DEFINE(HAVE_APACHE_FNMATCH, 1, Define if you need to work around apache regex/fnmatch !KLUDGE!)
-fi
-AC_MSG_CHECKING([whether to use Apache regex header kludge])
-AC_MSG_RESULT($ac_cv_have_apache_fnmatch)
-
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_OFF_T
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_OFF_T
@@ -422,16 +427,16 @@ AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr \
               uname flock lockf inet_aton inet_addr \
               fchmod mkstemp truncate getuid regcomp)
 
               uname flock lockf inet_aton inet_addr \
               fchmod mkstemp truncate getuid regcomp)
 
-AC_CHECK_FUNCS(fgets_unlocked fwrite_unlocked)
+AC_CHECK_FUNCS(fgets_unlocked fgetc_unlocked fputs_unlocked fputc_unlocked fread_unlocked fwrite_unlocked feof_unlocked ferror_unlocked fmemopen)
 
 dnl *****************
 dnl ** common code **
 dnl *****************
 
 dnl check for glib
 
 dnl *****************
 dnl ** common code **
 dnl *****************
 
 dnl check for glib
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.20 gmodule-2.0 >= 2.20 gobject-2.0 >= 2.20 gthread-2.0 >= 2.20)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28 gmodule-2.0 >= 2.28 gobject-2.0 >= 2.28 gthread-2.0 >= 2.28)
 
 
-GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
+GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
 AC_SUBST(GLIB_GENMARSHAL)
 
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_GENMARSHAL)
 
 AC_SUBST(GLIB_CFLAGS)
@@ -449,13 +454,23 @@ AC_MSG_CHECKING([whether to use IPv6])
 if test x"$enable_ipv6" = xyes; then
        AC_MSG_RESULT(yes)
        AC_MSG_CHECKING([for IPv6 support])
 if test x"$enable_ipv6" = xyes; then
        AC_MSG_RESULT(yes)
        AC_MSG_CHECKING([for IPv6 support])
-       AC_CACHE_VAL(ac_cv_ipv6,[
-               AC_TRY_COMPILE([#define INET6
-                               #include <sys/types.h>
-                               #include <netinet/in.h>],
-                       [int x = IPPROTO_IPV6; struct in6_addr a;],
-                       ac_cv_ipv6=yes, ac_cv_ipv6=no)
-       ])
+       if test x"$platform_win32" = xyes; then
+               AC_CACHE_VAL(ac_cv_ipv6,[
+                       AC_TRY_COMPILE([
+                                       #include <ws2tcpip.h>
+                               ], [struct in6_addr a;],
+                               ac_cv_ipv6=yes, ac_cv_ipv6=no)
+               ])
+       else
+               AC_CACHE_VAL(ac_cv_ipv6,[
+                       AC_TRY_COMPILE([
+                                       #define INET6
+                                       #include <sys/types.h>
+                                       #include <netinet/in.h>
+                               ], [int x = IPPROTO_IPV6; struct in6_addr a;],
+                               ac_cv_ipv6=yes, ac_cv_ipv6=no)
+               ])
+       fi
        AC_MSG_RESULT($ac_cv_ipv6)
        if test $ac_cv_ipv6 = yes; then
                AC_DEFINE(INET6, 1, Define if you want IPv6 support.)
        AC_MSG_RESULT($ac_cv_ipv6)
        if test $ac_cv_ipv6 = yes; then
                AC_DEFINE(INET6, 1, Define if you want IPv6 support.)
@@ -485,27 +500,17 @@ if test "x$enable_gnutls" != "xno"; then
                ])
         ],
         [
                ])
         ],
         [
-                echo "Building without gnutls"
-               enable_gnutls=no
+                echo "Building without GnuTLS"
+               AC_MSG_RESULT([*** GnuTLS support is recommended ])
+               AC_MSG_RESULT([*** You can use --disable-gnutls if you don't need it.])
+               AC_MSG_ERROR([GnuTLS not found])
         ])
         AC_SUBST(GNUTLS_LIBS)
         AC_SUBST(GNUTLS_CFLAGS)
 fi
 
         ])
         AC_SUBST(GNUTLS_LIBS)
         AC_SUBST(GNUTLS_CFLAGS)
 fi
 
-dnl password encryption
-OLDLIBS=$LIBS
-LIBS=
-case $host_os in
-       *dragonfly*)
-               AC_SEARCH_LIBS(encrypt, cipher, [], AC_MSG_ERROR(['encrypt'-function not found.]))
-       ;;
-       *)
-               AC_SEARCH_LIBS(encrypt, crypt, [], AC_MSG_ERROR(['encrypt'-function not found.]))
-       ;;
-esac
-CRYPT_LIBS=$LIBS
-AC_SUBST(CRYPT_LIBS)
-LIBS=$OLDLIBS
+PKG_CHECK_MODULES(NETTLE, nettle)
+AC_SUBST(NETTLE_LIBS)
 
 AC_ARG_WITH(passcrypt-key, [  --with-passcrypt-key=KEY     Key used to encode passwords (8 byte string)],
            with_passcrypt_key="$withval", with_passcrypt_key="passkey0")
 
 AC_ARG_WITH(passcrypt-key, [  --with-passcrypt-key=KEY     Key used to encode passwords (8 byte string)],
            with_passcrypt_key="$withval", with_passcrypt_key="passkey0")
@@ -513,12 +518,51 @@ AC_SUBST(PASSCRYPT_KEY, $with_passcrypt_key)
 
 dnl RC dir (will be default at a certain point in time)
 AC_ARG_WITH(config-dir,    [  --with-config-dir=RCDIR      Local configuration dir (default: .claws-mail)],
 
 dnl RC dir (will be default at a certain point in time)
 AC_ARG_WITH(config-dir,    [  --with-config-dir=RCDIR      Local configuration dir (default: .claws-mail)],
-             ac_cv_with_config_dir="$withval", ac_cv_with_config_dir=".claws-mail")
+             ac_cv_with_config_dir="$withval", ac_cv_with_config_dir="")
+
+dnl Set correct default value based on platform
 if test x"$ac_cv_with_config_dir" = x""; then
 if test x"$ac_cv_with_config_dir" = x""; then
-       ac_cv_with_config_dir=".claws-mail"
+       if test x"$platform_win32" = xyes; then
+               ac_cv_with_config_dir="Claws-mail"
+       else
+               ac_cv_with_config_dir=".claws-mail"
+       fi
 fi
 AC_DEFINE_UNQUOTED(CFG_RC_DIR, "$ac_cv_with_config_dir", Configuration directory)
 
 fi
 AC_DEFINE_UNQUOTED(CFG_RC_DIR, "$ac_cv_with_config_dir", Configuration directory)
 
+AC_ARG_WITH(password-encryption, [  --with-password-encryption=PROVIDER    Which cryptographic library to use for encrypting stored passwords (gnutls, old, default)],
+                                               pwd_crypto="$withval", pwd_crypto="default")
+
+if test x"$pwd_crypto" = xdefault; then
+       if test x"$enable_gnutls" = xyes; then
+               if `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
+                       pwd_crypto="gnutls"
+               fi
+       fi
+fi
+if test x"$pwd_crypto" = xdefault; then
+       pwd_crypto="old"
+fi
+
+case $pwd_crypto in
+       gnutls)
+               if test x"$enable_gnutls" = xno; then
+                       AC_MSG_ERROR([GnuTLS password encryption requested but GnuTLS is not available.])
+               fi
+               if ! `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
+                       AC_MSG_ERROR([GnuTLS version at least 3.0 is required for password encryption.])
+               fi
+               AC_DEFINE(PASSWORD_CRYPTO_GNUTLS, 1, Use GnuTLS for stored password encryption)
+               ;;
+       old)
+               AC_DEFINE(PASSWORD_CRYPTO_OLD, 1, Use old insecure method for stored password encryption)
+               ;;
+       *)
+               AC_MSG_ERROR([Unknown password encryption provider requested.])
+               ;;
+esac
+
+
 dnl ************************
 dnl ** GTK user interface **
 dnl ************************
 dnl ************************
 dnl ** GTK user interface **
 dnl ************************
@@ -531,8 +575,15 @@ if test x"$enable_gtk3" = x"yes"; then
        AM_CONDITIONAL(GTK3, true)
        AM_CONDITIONAL(GTK2, false)
 else
        AM_CONDITIONAL(GTK3, true)
        AM_CONDITIONAL(GTK2, false)
 else
-       PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16)
+       PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.24)
 fi
 fi
+AC_ARG_ENABLE(deprecated,
+               [  --disable-deprecated            Disable deprecated GTK functions],
+               [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
+
+dnl Make sure the code does not regress to using deprecated GTK stuff...
+GTK_CFLAGS="$GTK_CFLAGS -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE"
+
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
@@ -540,16 +591,23 @@ dnl enchant is used for spell checking
 AC_MSG_CHECKING([whether to use enchant])
 AC_MSG_RESULT($enable_enchant)
 if test $enable_enchant = yes; then
 AC_MSG_CHECKING([whether to use enchant])
 AC_MSG_RESULT($enable_enchant)
 if test $enable_enchant = yes; then
-       PKG_CHECK_MODULES(ENCHANT, enchant >= 1.0.0,
+       PKG_CHECK_MODULES(ENCHANT, enchant >= 1.4.0,
        [
                AC_DEFINE(USE_ENCHANT, 1, enchant)
                echo "Building with enchant"
                enable_enchant=yes
        [
                AC_DEFINE(USE_ENCHANT, 1, enchant)
                echo "Building with enchant"
                enable_enchant=yes
-               CFLAGS="$CFLAGS `$PKG_CONFIG --cflags enchant`"
        ],
        [
        ],
        [
-               echo "Building without enchant-notification"
-               enable_enchant=no
+               PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0,
+               [
+                       AC_DEFINE(USE_ENCHANT, 1, enchant-2)
+                       echo "Building with enchant-2"
+                       enable_enchant=yes
+               ],
+               [
+                       echo "Building without enchant-notification"
+                       enable_enchant=no
+               ])
        ])
        AC_SUBST(ENCHANT_CFLAGS)
        AC_SUBST(ENCHANT_LIBS)
        ])
        AC_SUBST(ENCHANT_CFLAGS)
        AC_SUBST(ENCHANT_LIBS)
@@ -672,11 +730,11 @@ if test "x$enable_dbus" = "xyes"; then
        PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
        [
                AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
        PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
        [
                AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
-               enable_dbus_glib=yes
+               enable_dbus=yes
        ],
        [
                echo "D-Bus requirements not met. D-Bus support not activated."
        ],
        [
                echo "D-Bus requirements not met. D-Bus support not activated."
-               enable_dbus_glib=no
+               enable_dbus=no
        ])
        AC_SUBST(DBUS_CFLAGS)
        AC_SUBST(DBUS_LIBS)
        ])
        AC_SUBST(DBUS_CFLAGS)
        AC_SUBST(DBUS_LIBS)
@@ -687,37 +745,37 @@ dnl # Configure address book support
 dnl #######################################################################
 
 dnl #######################################################################
 dnl #######################################################################
 
 dnl #######################################################################
-dnl # Check for new address book support
+dnl # Check for alternate address book support
 dnl #######################################################################
 dnl #######################################################################
-AC_MSG_CHECKING([whether DBUS support for new address book is present])
-if test x"$enable_dbus_glib" = xyes; then
+AC_MSG_CHECKING([whether DBUS support for alternate address book is present])
+if test x"$enable_dbus" = xyes; then
        AC_MSG_RESULT([yes])
        AC_MSG_RESULT([yes])
-       AC_MSG_CHECKING([whether to enable new address book])
-       if test x"$enable_new_addrbook" = xyes; then
+       AC_MSG_CHECKING([whether to enable alternate address book])
+       if test x"$enable_alternate_addressbook" = xyes; then
                AC_MSG_RESULT([yes])
                PKG_CHECK_MODULES(CONTACTS, [claws-contacts],
                [
                AC_MSG_RESULT([yes])
                PKG_CHECK_MODULES(CONTACTS, [claws-contacts],
                [
-                       AC_DEFINE(USE_NEW_ADDRBOOK, 1, [Define if new address book is to be activated.])
-                       enable_new_addrbook=yes
+                       AC_DEFINE(USE_ALT_ADDRBOOK, 1, [Define if alternate address book is to be activated.])
+                       enable_alternate_addressbook=yes
                        AC_SUBST(CONTACTS_CFLAGS)
                        AC_SUBST(CONTACTS_LIBS)
                ],
                [
                        AC_SUBST(CONTACTS_CFLAGS)
                        AC_SUBST(CONTACTS_LIBS)
                ],
                [
-                       enable_new_addrbook=no
+                       enable_alternate_addressbook=no
                ])
        else
                AC_MSG_RESULT([no])
                ])
        else
                AC_MSG_RESULT([no])
-               enable_new_addrbook=no
+               enable_alternate_addressbook=no
        fi
 else
        AC_MSG_RESULT([no])
        fi
 else
        AC_MSG_RESULT([no])
-       enable_new_addrbook=no
+       enable_alternate_addressbook=no
 fi
 
 dnl #######################################################################
 dnl # Check for old address book support
 dnl #######################################################################
 fi
 
 dnl #######################################################################
 dnl # Check for old address book support
 dnl #######################################################################
-if test x"$enable_new_addrbook" = xno; then
+if test x"$enable_alternate_addressbook" = xno; then
        dnl for LDAP support in addressbook
        dnl no check for libraries; dynamically loaded
        AC_MSG_CHECKING([whether to use LDAP])
        dnl for LDAP support in addressbook
        dnl no check for libraries; dynamically loaded
        AC_MSG_CHECKING([whether to use LDAP])
@@ -823,14 +881,14 @@ if test x"$enable_new_addrbook" = xno; then
        fi
 fi
 
        fi
 fi
 
-AM_CONDITIONAL(BUILD_NEWADDRBOOK, test x"$enable_new_addrbook" = x"yes")
+AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes")
 
 dnl #######################################################################
 dnl # Check for NetworkManager support
 dnl #######################################################################
 
 dnl #######################################################################
 dnl # Check for NetworkManager support
 dnl #######################################################################
-if test x"$enable_dbus_glib" = xyes; then
+if test x"$enable_dbus" = xyes; then
        if test x"$enable_networkmanager" = xyes; then
        if test x"$enable_networkmanager" = xyes; then
-               PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, NetworkManager >= 0.6.2,
+               PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, libnm,
                [
                        AC_DEFINE(HAVE_NETWORKMANAGER_SUPPORT, 1, [Define if NetworkManager support is to be included.])
                        echo "Building with NetworkManager support"
                [
                        AC_DEFINE(HAVE_NETWORKMANAGER_SUPPORT, 1, [Define if NetworkManager support is to be included.])
                        echo "Building with NetworkManager support"
@@ -866,12 +924,8 @@ if test x"$enable_libetpan" = xyes; then
        if test "x$libetpan_result" = "xyes"; then
           LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
           LIBETPAN_LIBS="`$libetpanconfig --libs`"
        if test "x$libetpan_result" = "xyes"; then
           LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
           LIBETPAN_LIBS="`$libetpanconfig --libs`"
-           LIBETPAN_STABLE=`$libetpanconfig --version | grep -v ^0`
-          LIBETPAN_VERSION=`$libetpanconfig --version | sed "s/\.//g" | sed "s/-.*$//"`
-           if test x"$LIBETPAN_STABLE" != "x"; then
-                LIBETPAN_VERSION="100"
-           fi
-          if test "$LIBETPAN_VERSION" -lt "057"; then
+          LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 100) + $2}'`
+          if test "$LIBETPAN_VERSION" -lt "57"; then
                AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/])
                AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
                 AC_MSG_ERROR([libetpan 0.57 not found])
                AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/])
                AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
                 AC_MSG_ERROR([libetpan 0.57 not found])
@@ -889,6 +943,25 @@ else
 fi
 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
 
 fi
 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
 
+dnl librsvg
+AC_MSG_CHECKING([whether to use librsvg])
+if test x"$enable_svg" = xyes; then
+       AC_MSG_RESULT(yes)
+    PKG_CHECK_MODULES([SVG], [librsvg-2.0 >= 2.39.0 cairo >= 1.0.0],
+    [
+        AC_SUBST(SVG_CFLAGS)
+        AC_SUBST(SVG_LIBS)
+               AC_DEFINE(HAVE_SVG, 1, [Define if librsvg2 is available for SVG support])
+               enable_svg=yes
+       ],
+       [
+               AC_MSG_NOTICE([SVG support deactivated as librsvg2 >= 2.39.0 was not found])
+               enable_svg=no
+       ])
+else
+       AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING([whether to use valgrind])
 if test x$enable_valgrind = xyes; then
        AC_MSG_RESULT(yes)
 AC_MSG_CHECKING([whether to use valgrind])
 if test x$enable_valgrind = xyes; then
        AC_MSG_RESULT(yes)
@@ -904,6 +977,14 @@ else
 fi
 AM_CONDITIONAL(CLAWS_VALGRIND, test x"$enable_valgrind" = x"yes")
 
 fi
 AM_CONDITIONAL(CLAWS_VALGRIND, test x"$enable_valgrind" = x"yes")
 
+AC_MSG_CHECKING([whether to build unit tests])
+if test x$enable_tests = xyes; then
+       AC_MSG_RESULT(yes)
+else
+       AC_MSG_RESULT(no)
+fi
+AM_CONDITIONAL(BUILD_TESTS, test "x$enable_tests" = "xyes")
+
 dnl *************************
 dnl ** section for plugins **
 dnl *************************
 dnl *************************
 dnl ** section for plugins **
 dnl *************************
@@ -950,6 +1031,10 @@ AC_ARG_ENABLE(clamd-plugin,
                [  --disable-clamd-plugin          Do not build clamd plugin],
                [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
 
                [  --disable-clamd-plugin          Do not build clamd plugin],
                [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
 
+AC_ARG_ENABLE(dillo-plugin,
+               [  --disable-dillo-plugin          Do not build dillo plugin],
+               [enable_dillo_plugin=$enableval], [enable_dillo_plugin=auto])
+
 AC_ARG_ENABLE(fancy-plugin,
                [  --disable-fancy-plugin          Do not build fancy plugin],
                [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
 AC_ARG_ENABLE(fancy-plugin,
                [  --disable-fancy-plugin          Do not build fancy plugin],
                [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
@@ -962,10 +1047,6 @@ AC_ARG_ENABLE(gdata-plugin,
                [  --disable-gdata-plugin          Do not build gdata plugin],
                [enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
 
                [  --disable-gdata-plugin          Do not build gdata plugin],
                [enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
 
-AC_ARG_ENABLE(geolocation-plugin,
-               [  --disable-geolocation-plugin    Do not build geolocation plugin],
-               [enable_geolocation_plugin=$enableval], [enable_geolocation_plugin=auto])
-
 AC_ARG_ENABLE(libravatar-plugin,
                [  --disable-libravatar-plugin     Do not build libravatar  plugin],
                [enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
 AC_ARG_ENABLE(libravatar-plugin,
                [  --disable-libravatar-plugin     Do not build libravatar  plugin],
                [enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
@@ -974,6 +1055,10 @@ AC_ARG_ENABLE(mailmbox-plugin,
                [  --disable-mailmbox-plugin       Do not build mailmbox plugin],
                [enable_mailmbox_plugin=$enableval], [enable_mailmbox_plugin=auto])
 
                [  --disable-mailmbox-plugin       Do not build mailmbox plugin],
                [enable_mailmbox_plugin=$enableval], [enable_mailmbox_plugin=auto])
 
+AC_ARG_ENABLE(managesieve-plugin,
+               [  --disable-managesieve-plugin    Do not build managesieve plugin],
+               [enable_managesieve_plugin=$enableval], [enable_managesieve_plugin=auto])
+
 AC_ARG_ENABLE(newmail-plugin,
                [  --disable-newmail-plugin        Do not build newmail plugin],
                [enable_newmail_plugin=$enableval], [enable_newmail_plugin=auto])
 AC_ARG_ENABLE(newmail-plugin,
                [  --disable-newmail-plugin        Do not build newmail plugin],
                [enable_newmail_plugin=$enableval], [enable_newmail_plugin=auto])
@@ -1032,12 +1117,12 @@ AC_ARG_ENABLE(vcalendar-plugin,
 
 dnl disabled by default
 AC_ARG_ENABLE(demo-plugin,
 
 dnl disabled by default
 AC_ARG_ENABLE(demo-plugin,
-               [  --enable-demo-plugin         Build demo plugin],
+               [  --enable-demo-plugin            Build demo plugin],
                [enable_demo_plugin=$enableval], [enable_demo_plugin=no])
 
 
 dnl Then we check (unconditionnaly) for plugins dependencies
                [enable_demo_plugin=$enableval], [enable_demo_plugin=no])
 
 
 dnl Then we check (unconditionnaly) for plugins dependencies
-dnl Some dependencies are optional, some mandatories. This is taken care of
+dnl Some dependencies are optional, some mandatory. This is taken care of
 dnl later.
 dnl
 dnl During this dependancy check we do the checks themselves, define HAVE_X to
 dnl later.
 dnl
 dnl During this dependancy check we do the checks themselves, define HAVE_X to
@@ -1046,9 +1131,9 @@ dnl either yes or no, and do the AC_SUBST calls.
 dnl Archive:           libarchive
 dnl Fancy:             Webkit, curl, optionally libsoup-gnome
 dnl Gdata:             libgdata
 dnl Archive:           libarchive
 dnl Fancy:             Webkit, curl, optionally libsoup-gnome
 dnl Gdata:             libgdata
-dnl Geolocation:       libchamplain, libsoup
 dnl Libravatar:                libcurl
 dnl Libravatar:                libcurl
-dnl Notification:      optionally libnotify libindicate libcanberra_gtk hotkey
+dnl Notification:      optionally libnotify  unity/messaging-menu
+dnl                               libcanberra_gtk hotkey
 dnl Pdf-Viewer:                libpoppler
 dnl Perl:              sed perl
 dnl PGP/Core:          libgpgme
 dnl Pdf-Viewer:                libpoppler
 dnl Perl:              sed perl
 dnl PGP/Core:          libgpgme
@@ -1056,22 +1141,34 @@ dnl PGP/Mime:           pgpcore libgpgme
 dnl PGP/Inline:                pgpcore libgpgme
 dnl S/Mime:            pgpcore libgpgme
 dnl Python:            Python
 dnl PGP/Inline:                pgpcore libgpgme
 dnl S/Mime:            pgpcore libgpgme
 dnl Python:            Python
-dnl RSSyl:             libxml2 libcurl
+dnl RSSyl:             expat libcurl
 dnl SpamReport:                libcurl
 dnl SpamReport:                libcurl
-dnl vCalendar:         libcurl
+dnl vCalendar:         libcurl, libical
+dnl tnef_parse:        libytnef
 
 dnl libcurl ********************************************************************
 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
 AC_SUBST(CURL_LIBS)
 AC_SUBST(CURL_CFLAGS)
 
 
 dnl libcurl ********************************************************************
 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
 AC_SUBST(CURL_LIBS)
 AC_SUBST(CURL_CFLAGS)
 
-dnl libxml2 ********************************************************************
-PKG_CHECK_MODULES(LIBXML, libxml-2.0, HAVE_LIBXML=yes, HAVE_LIBXML=no)
-AC_SUBST(LIBXML_LIBS)
-AC_SUBST(LIBXML_CFLAGS)
+dnl expat **********************************************************************
+PKG_CHECK_MODULES(EXPAT, expat, HAVE_EXPAT=yes, HAVE_EXPAT=no)
+
+if test x"$HAVE_EXPAT" = xno; then
+       AC_CHECK_HEADER(expat.h, [expat_header=yes], [expat_header=no])
+       AC_CHECK_LIB(expat, XML_ParserCreate, [expat_lib=yes], [expat_lib=no])
+       if test x"$expat_header" = xyes -a x"$expat_lib"=xyes; then
+               HAVE_EXPAT=yes
+               EXPAT_CFLAGS=""
+               EXPAT_LIBS="-lexpat"
+       fi
+fi
+
+AC_SUBST(EXPAT_CFLAGS)
+AC_SUBST(EXPAT_LIBS)
 
 dnl webkit *********************************************************************
 
 dnl webkit *********************************************************************
-PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.1.14, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
+PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.10.0, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
 AC_SUBST(WEBKIT_LIBS)
 AC_SUBST(WEBKIT_CFLAGS)
 
 AC_SUBST(WEBKIT_LIBS)
 AC_SUBST(WEBKIT_CFLAGS)
 
@@ -1092,33 +1189,26 @@ AC_SUBST(LIBSOUP_GNOME_CFLAGS)
 AC_SUBST(LIBSOUP_GNOME_LIBS)
 
 dnl libarchive *****************************************************************
 AC_SUBST(LIBSOUP_GNOME_LIBS)
 
 dnl libarchive *****************************************************************
-AC_SEARCH_LIBS([archive_read_new], [archive],
+PKG_CHECK_MODULES(LIBARCHIVE, libarchive, HAVE_ARCHIVE=yes, HAVE_ARCHIVE=no)
+AC_SUBST(ARCHIVE_LIBS)
+AC_SUBST(ARCHIVE_CFLAGS)
+AC_CHECK_LIB([archive], [archive_read_new],
                       ARCHIVE_LIBS=-larchive
                       HAVE_ARCHIVE=yes
                       ARCHIVE_LIBS=-larchive
                       HAVE_ARCHIVE=yes
-                      AC_SUBST(ARCHIVE_LIBS),
+                      AC_SUBST(ARCHIVE_LIBS,$ARCHIVE_CFLAGS),
                       HAVE_ARCHIVE=no
                       )
 
 dnl libgdata *******************************************************************
                       HAVE_ARCHIVE=no
                       )
 
 dnl libgdata *******************************************************************
-dnl Plugin handles compatibility back to 0.6.4 so there are multiple checks.
-PKG_CHECK_MODULES(GDATA, libgdata >= 0.9.1, HAVE_GDATA=yes, HAVE_GDATA=no)
-if test x"$HAVE_GDATA" = xyes; then
-       AC_DEFINE(HAVE_GDATA_VERSION_0_9_1, 1, [at least version 0.9.1 of libgdata is available])
-       AC_DEFINE(HAVE_GDATA_VERSION_0_9, 1, [at least version 0.9 of libgdata is available])
-else
-       PKG_CHECK_MODULES(GDATA, libgdata >= 0.9, HAVE_GDATA=yes, HAVE_GDATA=no)
-fi
-if test x"$HAVE_GDATA" = xyes; then
-       AC_DEFINE(HAVE_GDATA_VERSION_0_9, 1, [at least version 0.9 of libgdata is available])
-else
-       PKG_CHECK_MODULES(GDATA, libgdata >= 0.6.4, HAVE_GDATA=yes, HAVE_GDATA=no)
-fi
-if test x"$HAVE_GDATA" = xyes; then
-       AC_DEFINE(CM_GDATA_CLIENT_ID, ["Claws Mail GData plugin"], [client id])
-fi
+PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.2, HAVE_GDATA=yes, HAVE_GDATA=no)
 AC_SUBST(GDATA_CFLAGS)
 AC_SUBST(GDATA_LIBS)
 
 AC_SUBST(GDATA_CFLAGS)
 AC_SUBST(GDATA_LIBS)
 
+dnl libical ********************************************************************
+PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
+AC_SUBST(LIBICAL_CFLAGS)
+AC_SUBST(LIBICAL_LIBS)
+
 dnl Poppler ********************************************************************
 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
 AC_SUBST(POPPLER_LIBS)
 dnl Poppler ********************************************************************
 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
 AC_SUBST(POPPLER_LIBS)
@@ -1153,10 +1243,10 @@ if test x"$HAVE_PERL" = xyes; then
        AC_MSG_CHECKING(for Perl compile flags)
        PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
        PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
        AC_MSG_CHECKING(for Perl compile flags)
        PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
        PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
-       PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc//'`
+       PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc\>//'`
        AC_MSG_RESULT(ok)
        AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
        
        AC_MSG_RESULT(ok)
        AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
        
@@ -1209,7 +1299,7 @@ AM_PATH_PYTHON([2.5], [
                if test x"$platform_win32" = xno; then
                        # libpython.so
                        PYTHON_SHARED_LIB="libpython${PYTHON_VERSION}.so"
                if test x"$platform_win32" = xno; then
                        # libpython.so
                        PYTHON_SHARED_LIB="libpython${PYTHON_VERSION}.so"
-                       LIBS="-ldl"
+                       AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl"])
                        AC_MSG_CHECKING([whether to dlopen $PYTHON_SHARED_LIB works])
                        AC_RUN_IFELSE(
                                [AC_LANG_PROGRAM(
                        AC_MSG_CHECKING([whether to dlopen $PYTHON_SHARED_LIB works])
                        AC_RUN_IFELSE(
                                [AC_LANG_PROGRAM(
@@ -1257,18 +1347,13 @@ fi
 AC_SUBST(libcanberra_gtk_CFLAGS)
 AC_SUBST(libcanberra_gtk_LIBS)
 
 AC_SUBST(libcanberra_gtk_CFLAGS)
 AC_SUBST(libcanberra_gtk_LIBS)
 
-dnl libindicate ****************************************************************
-dnl We support either 0.3+ or 0.5+
-LIBINDICATE_MODULE=indicate
-LIBINDICATE_REQUIRED=0.3.0
-
-PKG_CHECK_EXISTS(indicate-0.5 >= 0.5.0, LIBINDICATE_MODULE=indicate-0.5)
-PKG_CHECK_MODULES(libindicate, $LIBINDICATE_MODULE >= $LIBINDICATE_REQUIRED, HAVE_LIBINDICATE=yes, HAVE_LIBINDICATE=no)
-if test x"$HAVE_LIBINDICATE" = xyes; then
-       AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for indicators])
+dnl unity/messaging-menu *******************************************************
+PKG_CHECK_MODULES(unity, unity messaging-menu, HAVE_UNITY=yes, HAVE_UNITY=no)
+if test x"$HAVE_UNITY" = xyes; then
+       AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for unity and messaging-menu])
 fi
 fi
-AC_SUBST(libindicate_CFLAGS)
-AC_SUBST(libindicate_LIBS)
+AC_SUBST(unity_CFLAGS)
+AC_SUBST(unity_LIBS)
 
 dnl hotkeys ********************************************************************
 PKG_CHECK_MODULES(CM_NP_HOTKEY, [gio-2.0 >= 2.15.6 gio-unix-2.0 >= 2.15.6], HAVE_HOTKEYS=yes, HAVE_HOTKEYS=no)
 
 dnl hotkeys ********************************************************************
 PKG_CHECK_MODULES(CM_NP_HOTKEY, [gio-2.0 >= 2.15.6 gio-unix-2.0 >= 2.15.6], HAVE_HOTKEYS=yes, HAVE_HOTKEYS=no)
@@ -1278,16 +1363,50 @@ fi
 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
 AC_SUBST(CM_NP_HOTKEY_LIBS)
 
 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
 AC_SUBST(CM_NP_HOTKEY_LIBS)
 
-dnl libchamplain ***************************************************************
-CHAMPLAIN_MODULE=champlain-gtk-0.4
-CHAMPLAIN_VERSION=0.4.0
-PKG_CHECK_EXISTS(champlain-gtk-0.6 > 0.6.0,[CHAMPLAIN_MODULE=champlain-gtk-0.6
-       CHAMPLAIN_VERSION=0.6.0], [])
-PKG_CHECK_EXISTS(champlain-gtk-0.8 > 0.8.0,[CHAMPLAIN_MODULE=champlain-gtk-0.8
-       CHAMPLAIN_VERSION=0.8.0], [])
-PKG_CHECK_MODULES(CHAMPLAIN, [$CHAMPLAIN_MODULE >= $CHAMPLAIN_VERSION clutter-gtk-0.10], HAVE_CHAMPLAIN=yes, HAVE_CHAMPLAIN=no)
-AC_SUBST(CHAMPLAIN_CFLAGS)
-AC_SUBST(CHAMPLAIN_LIBS)
+dnl libytnef *******************************************************************
+YTNEF_CFLAGS=""
+YTNEF_LIBS=""
+have_ytnef=0
+# Check both ytnef.h and libytnef/ytnef.h, and adjust YTNEF_CFLAGS
+# accordingly
+AC_CHECK_HEADER(ytnef.h, [have_ytnef=1], [have_ytnef=0])
+if test $have_ytnef -eq 0; then
+       AC_CHECK_HEADER(libytnef/ytnef.h,
+                                                                       [have_ytnef=1;
+                                                                        YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_H_SUBDIR"],
+                                                                       [have_ytnef=0])
+fi
+if test $have_ytnef -eq 1; then
+       AC_MSG_CHECKING([how libytnef's SwapDDWord() should be called])
+       # Now we have to figure out which libytnef version we're using,
+       # based on whether SwapDDWord takes one argument or two.
+       if test "x${YTNEF_CFLAGS}" = "x"; then
+               ytnef_include="#include <ytnef.h>"
+       else
+               ytnef_include="#include <libytnef/ytnef.h>"
+       fi
+       AC_TRY_COMPILE([#include <stdio.h>
+                                                                       ${ytnef_include}],
+                                                                       [SwapDDWord(0, 0);],
+                                                                       [have_ytnef=1],
+                                                                       [have_ytnef=0])
+       if test $have_ytnef -eq 0; then
+               AC_TRY_COMPILE([#include <stdio.h>
+                                                                               ${ytnef_include}],
+                                                                               [SwapDDWord(0);],
+                                                                               [have_ytnef=1;
+                                                                                YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_OLD_SWAPDDWORD"],
+                                                                               [have_ytnef=0])
+       fi
+       if test $have_ytnef -eq 1; then
+               YTNEF_LIBS="-lytnef"
+               AC_MSG_RESULT(ok)
+       else
+               AC_MSG_RESULT(no idea, unsupported libytnef version?)
+       fi
+fi
+AC_SUBST(YTNEF_CFLAGS)
+AC_SUBST(YTNEF_LIBS)
 
 dnl Third, we now cross the requested plugins and the available dependencies
 dnl If some dependencies are missing and the plugin was explicitely enabled,
 
 dnl Third, we now cross the requested plugins and the available dependencies
 dnl If some dependencies are missing and the plugin was explicitely enabled,
@@ -1390,6 +1509,15 @@ else
        AC_MSG_RESULT(no)
 fi
 
        AC_MSG_RESULT(no)
 fi
 
+AC_MSG_CHECKING([whether to build Dillo plugin])
+if test x"$enable_dillo_plugin" != xno; then
+       PLUGINS="$PLUGINS dillo"
+       AC_MSG_RESULT(yes)
+else
+       DISABLED_PLUGINS="$DISABLED_PLUGINS dillo"
+       AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING([whether to build fancy plugin])
 if test x"$enable_fancy_plugin" != xno; then
        dependencies_missing=""
 AC_MSG_CHECKING([whether to build fancy plugin])
 if test x"$enable_fancy_plugin" != xno; then
        dependencies_missing=""
@@ -1452,31 +1580,6 @@ else
        AC_MSG_RESULT(no)
 fi
 
        AC_MSG_RESULT(no)
 fi
 
-AC_MSG_CHECKING([whether to build geolocation plugin])
-if test x"$enable_geolocation_plugin" != xno; then
-       dependencies_missing=""
-
-       if test x"$HAVE_CHAMPLAIN" = xno; then
-               dependencies_missing="libchamplain $dependencies_missing"
-       fi
-
-       if test x"$dependencies_missing" = x; then
-               PLUGINS="$PLUGINS geolocation"
-               AC_MSG_RESULT(yes)
-       elif test x"$enable_geolocation_plugin" = xauto; then
-               AC_MSG_RESULT(no)
-               AC_MSG_WARN("Plugin geolocation will not be built; missing $dependencies_missing")
-               enable_geolocation_plugin=no
-               MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS geolocation"
-       else
-               AC_MSG_RESULT(no)
-               AC_MSG_ERROR("Plugin geolocation cannot be built; missing $dependencies_missing")
-       fi
-else
-       DISABLED_PLUGINS="$DISABLED_PLUGINS geolocation"
-       AC_MSG_RESULT(no)
-fi
-
 AC_MSG_CHECKING([whether to build libravatar plugin])
 if test x"$enable_libravatar_plugin" != xno; then
        dependencies_missing=""
 AC_MSG_CHECKING([whether to build libravatar plugin])
 if test x"$enable_libravatar_plugin" != xno; then
        dependencies_missing=""
@@ -1511,6 +1614,15 @@ else
        AC_MSG_RESULT(no)
 fi
 
        AC_MSG_RESULT(no)
 fi
 
+AC_MSG_CHECKING([whether to build managesieve plugin])
+if test x"$enable_managesieve_plugin" != xno; then
+       PLUGINS="$PLUGINS managesieve"
+       AC_MSG_RESULT(yes)
+else
+       DISABLED_PLUGINS="$DISABLED_PLUGINS managesieve"
+       AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING([whether to build newmail plugin])
 if test x"$enable_newmail_plugin" != xno; then
        PLUGINS="$PLUGINS newmail"
 AC_MSG_CHECKING([whether to build newmail plugin])
 if test x"$enable_newmail_plugin" != xno; then
        PLUGINS="$PLUGINS newmail"
@@ -1541,10 +1653,10 @@ if test x"$enable_notification_plugin" != xno; then
                notification_missing_dependencies="$notification_missing_dependencies hotkeys"
        fi
        notification_features="$notification_features lcdproc"
                notification_missing_dependencies="$notification_missing_dependencies hotkeys"
        fi
        notification_features="$notification_features lcdproc"
-       if test x"$HAVE_LIBINDICATE" = xyes; then
-               notification_features="$notification_features libindicate"
+       if test x"$HAVE_UNITY" = xyes; then
+               notification_features="$notification_features unity/messaging-menu"
        else
        else
-               notification_missing_dependencies="$notification_missing_dependencies libindicate"
+               notification_missing_dependencies="$notification_missing_dependencies unity/messaging-menu"
        fi
        if test x"$HAVE_LIBNOTIFY" = xyes; then
                notification_features="$notification_features libnotify"
        fi
        if test x"$HAVE_LIBNOTIFY" = xyes; then
                notification_features="$notification_features libnotify"
@@ -1722,8 +1834,8 @@ AC_MSG_CHECKING([whether to build rssyl plugin])
 if test x"$enable_rssyl_plugin" != xno; then
        dependencies_missing=""
 
 if test x"$enable_rssyl_plugin" != xno; then
        dependencies_missing=""
 
-       if test x"$HAVE_LIBXML" = xno; then
-               dependencies_missing="libxml2 $dependencies_missing"
+       if test x"$HAVE_EXPAT" = xno; then
+               dependencies_missing="expat $dependencies_missing"
        fi
        if test x"$HAVE_CURL" = xno; then
                dependencies_missing="libcurl $dependencies_missing"
        fi
        if test x"$HAVE_CURL" = xno; then
                dependencies_missing="libcurl $dependencies_missing"
@@ -1751,6 +1863,28 @@ if test x"$enable_spamassassin_plugin" != xno; then
        PLUGINS="$PLUGINS spamassassin"
        AC_MSG_RESULT(yes)
        AC_SPAMASSASSIN
        PLUGINS="$PLUGINS spamassassin"
        AC_MSG_RESULT(yes)
        AC_SPAMASSASSIN
+
+       dnl check for zlib (optional)
+       spamassassin_zlib=0
+       SPAMASSASSIN_CFLAGS=""
+       SPAMASSASSIN_LIBS=""
+       AC_CHECK_HEADER([zlib.h],
+                       [AC_DEFINE(HAVE_ZLIB_H,1,[optional zlib support for spamassassin plugin])]
+                       [spamassassin_zlib=1],
+                       [spamassassin_zlib=0])
+       if test $spamassassin_zlib -eq 1; then
+               AC_CHECK_LIB(z, deflate, [spamassassin_zlib=1], [spamassassin_zlib=0])
+               AC_MSG_CHECKING([whether to build spamassassin plugin with zlib support])
+               if test $spamassassin_zlib -eq 1; then
+                       AC_MSG_RESULT(yes)
+                       SPAMASSASSIN_CFLAGS="-DHAVE_LIBZ"
+                       SPAMASSASSIN_LIBS="-lz"
+               else
+                       AC_MSG_RESULT(no)
+               fi
+       fi
+       AC_SUBST(SPAMASSASSIN_CFLAGS)
+       AC_SUBST(SPAMASSASSIN_LIBS)
 else
        DISABLED_PLUGINS="$DISABLED_PLUGINS spamassassin"
        AC_MSG_RESULT(no)
 else
        DISABLED_PLUGINS="$DISABLED_PLUGINS spamassassin"
        AC_MSG_RESULT(no)
@@ -1811,13 +1945,30 @@ fi
 
 AC_MSG_CHECKING([whether to build tnef_parse plugin])
 if test x"$enable_tnef_parse_plugin" != xno; then
 
 AC_MSG_CHECKING([whether to build tnef_parse plugin])
 if test x"$enable_tnef_parse_plugin" != xno; then
-       PLUGINS="$PLUGINS tnef_parse"
-       AC_MSG_RESULT(yes)
+       dependencies_missing=""
+
+       if test $have_ytnef -eq 0; then
+               dependencies_missing="libytnef"
+       fi
+
+       if test x"$dependencies_missing" = x; then
+               PLUGINS="$PLUGINS tnef_parse"
+               AC_MSG_RESULT(yes)
+       elif test x"$enable_tnef_parse_plugin" = xauto; then
+               AC_MSG_RESULT(no)
+               AC_MSG_WARN(Plugin tnef_parse will not be built; missing $dependencies_missing")
+               enable_tnef_parse_plugin=no
+               MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS tnef_parse"
+       else
+               AC_MSG_RESULT(no)
+               AC_MSG_ERROR(Plugin tnef_parse will not be built; missing $dependencies_missing")
+       fi
 else
        DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
        AC_MSG_RESULT(no)
 fi
 
 else
        DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
        AC_MSG_RESULT(no)
 fi
 
+
 AC_MSG_CHECKING([whether to build vcalendar plugin])
 if test x"$enable_vcalendar_plugin" != xno; then
        dependencies_missing=""
 AC_MSG_CHECKING([whether to build vcalendar plugin])
 if test x"$enable_vcalendar_plugin" != xno; then
        dependencies_missing=""
@@ -1826,6 +1977,10 @@ if test x"$enable_vcalendar_plugin" != xno; then
                dependencies_missing="libcurl $dependencies_missing"
        fi
 
                dependencies_missing="libcurl $dependencies_missing"
        fi
 
+  if test x"$HAVE_LIBICAL" = xno; then
+    dependencies_missing="libical $dependencies_missing"
+  fi
+
        if test x"$HAVE_PERL" = xno; then
                dependencies_missing="perl $dependencies_missing"
        fi
        if test x"$HAVE_PERL" = xno; then
                dependencies_missing="perl $dependencies_missing"
        fi
@@ -1858,12 +2013,13 @@ AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN,         test x"$enable_bogofilter_plugin" != xn
 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,          test x"$enable_bsfilter_plugin" != xno)
 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,             test x"$enable_clamd_plugin" != xno)
 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,              test x"$enable_demo_plugin" != xno)
 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,          test x"$enable_bsfilter_plugin" != xno)
 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,             test x"$enable_clamd_plugin" != xno)
 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,              test x"$enable_demo_plugin" != xno)
+AM_CONDITIONAL(BUILD_DILLO_PLUGIN,             test x"$enable_dillo_plugin" != xno)
 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,             test x"$enable_fancy_plugin" != xno)
 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,         test x"$enable_fetchinfo_plugin" != xno)
 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,             test x"$enable_gdata_plugin" != xno)
 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,             test x"$enable_fancy_plugin" != xno)
 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,         test x"$enable_fetchinfo_plugin" != xno)
 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,             test x"$enable_gdata_plugin" != xno)
-AM_CONDITIONAL(BUILD_GEOLOCATION_PLUGIN,       test x"$enable_geolocation_plugin" != xno)
 AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN,                test x"$enable_libravatar_plugin" != xno)
 AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN,          test x"$enable_mailmbox_plugin" != xno)
 AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN,                test x"$enable_libravatar_plugin" != xno)
 AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN,          test x"$enable_mailmbox_plugin" != xno)
+AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN,               test x"$enable_managesieve_plugin" != xno)
 AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN,           test x"$enable_newmail_plugin" != xno)
 AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN,      test x"$enable_notification_plugin" != xno)
 AM_CONDITIONAL(BUILD_HOTKEYS,                  test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
 AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN,           test x"$enable_newmail_plugin" != xno)
 AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN,      test x"$enable_notification_plugin" != xno)
 AM_CONDITIONAL(BUILD_HOTKEYS,                  test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
@@ -1893,6 +2049,7 @@ src/common/version.h
 src/Makefile
 src/common/Makefile
 src/common/passcrypt.h
 src/Makefile
 src/common/Makefile
 src/common/passcrypt.h
+src/common/tests/Makefile
 src/gtk/Makefile
 src/etpan/Makefile
 src/plugins/Makefile
 src/gtk/Makefile
 src/etpan/Makefile
 src/plugins/Makefile
@@ -1906,12 +2063,13 @@ src/plugins/bsfilter/Makefile
 src/plugins/clamd/Makefile
 src/plugins/clamd/libclamd/Makefile
 src/plugins/demo/Makefile
 src/plugins/clamd/Makefile
 src/plugins/clamd/libclamd/Makefile
 src/plugins/demo/Makefile
+src/plugins/dillo/Makefile
 src/plugins/fancy/Makefile
 src/plugins/fetchinfo/Makefile
 src/plugins/gdata/Makefile
 src/plugins/fancy/Makefile
 src/plugins/fetchinfo/Makefile
 src/plugins/gdata/Makefile
-src/plugins/geolocation/Makefile
 src/plugins/libravatar/Makefile
 src/plugins/mailmbox/Makefile
 src/plugins/libravatar/Makefile
 src/plugins/mailmbox/Makefile
+src/plugins/managesieve/Makefile
 src/plugins/newmail/Makefile
 src/plugins/notification/Makefile
 src/plugins/notification/gtkhotkey/Makefile
 src/plugins/newmail/Makefile
 src/plugins/notification/Makefile
 src/plugins/notification/gtkhotkey/Makefile
@@ -1924,16 +2082,15 @@ src/plugins/pgpcore/Makefile
 src/plugins/pgpmime/Makefile
 src/plugins/pgpinline/Makefile
 src/plugins/rssyl/Makefile
 src/plugins/pgpmime/Makefile
 src/plugins/pgpinline/Makefile
 src/plugins/rssyl/Makefile
+src/plugins/rssyl/tests/Makefile
+src/plugins/rssyl/libfeed/Makefile
+src/plugins/rssyl/libfeed/tests/Makefile
 src/plugins/smime/Makefile
 src/plugins/spamassassin/Makefile
 src/plugins/spam_report/Makefile
 src/plugins/tnef_parse/Makefile
 src/plugins/vcalendar/Makefile
 src/plugins/smime/Makefile
 src/plugins/spamassassin/Makefile
 src/plugins/spam_report/Makefile
 src/plugins/tnef_parse/Makefile
 src/plugins/vcalendar/Makefile
-src/plugins/vcalendar/libical/Makefile
-src/plugins/vcalendar/libical/libical/icalversion.h
-src/plugins/vcalendar/libical/libical/Makefile
-src/plugins/vcalendar/libical/design-data/Makefile
-src/plugins/vcalendar/libical/scripts/Makefile
+src/tests/Makefile
 doc/Makefile
 doc/man/Makefile
 tools/Makefile
 doc/Makefile
 doc/man/Makefile
 tools/Makefile
@@ -1951,24 +2108,12 @@ manual/fr/dist/pdf/Makefile
 manual/fr/dist/ps/Makefile
 manual/fr/dist/html/Makefile
 manual/fr/dist/txt/Makefile
 manual/fr/dist/ps/Makefile
 manual/fr/dist/html/Makefile
 manual/fr/dist/txt/Makefile
-manual/pl/Makefile
-manual/pl/dist/Makefile
-manual/pl/dist/pdf/Makefile
-manual/pl/dist/ps/Makefile
-manual/pl/dist/html/Makefile
-manual/pl/dist/txt/Makefile
 manual/es/Makefile
 manual/es/dist/Makefile
 manual/es/dist/pdf/Makefile
 manual/es/dist/ps/Makefile
 manual/es/dist/html/Makefile
 manual/es/dist/txt/Makefile
 manual/es/Makefile
 manual/es/dist/Makefile
 manual/es/dist/pdf/Makefile
 manual/es/dist/ps/Makefile
 manual/es/dist/html/Makefile
 manual/es/dist/txt/Makefile
-manual/de/Makefile
-manual/de/dist/Makefile
-manual/de/dist/pdf/Makefile
-manual/de/dist/ps/Makefile
-manual/de/dist/html/Makefile
-manual/de/dist/txt/Makefile
 claws-mail.pc
 ])
 
 claws-mail.pc
 ])
 
@@ -1976,10 +2121,10 @@ dnl Output the configuration summary
 echo ""
 echo "$PACKAGE $VERSION"
 echo ""
 echo ""
 echo "$PACKAGE $VERSION"
 echo ""
-if test x"$enable_new_addrbook" = xyes; then
-       echo "Using Address Book : New experimental interface"
+if test x"$enable_alternate_addressbook" = xyes; then
+       echo "Using Address Book : Alternate experimental interface"
 else
 else
-       echo "Using Address Book : Old stable interface"
+       echo "Using Address Book : Original stable interface"
        echo "JPilot             : $enable_jpilot"
        echo "LDAP               : $enable_ldap"
 fi
        echo "JPilot             : $enable_jpilot"
        echo "LDAP               : $enable_ldap"
 fi
@@ -1996,7 +2141,10 @@ echo "DBUS               : $enable_dbus"
 echo "NetworkManager     : $enable_networkmanager"
 echo "Manual             : $enable_manual"
 echo "Generic UMPC code  : $enable_generic_umpc"
 echo "NetworkManager     : $enable_networkmanager"
 echo "Manual             : $enable_manual"
 echo "Generic UMPC code  : $enable_generic_umpc"
+echo "SVG support        : $enable_svg"
 echo "Config dir         : $ac_cv_with_config_dir"
 echo "Config dir         : $ac_cv_with_config_dir"
+echo "Password crypto    : $pwd_crypto"
+echo "Unit tests         : $enable_tests"
 
 echo "Plugins"
 echo "   Built:"
 
 echo "Plugins"
 echo "   Built:"