Fix possibly non-null-terminated string
[claws.git] / configure.ac
index 9bbd9aec7bd53f4cc57732e3c7d6f4d904d768a6..98f9273f9297da4a56ebee95015ea27272caa11f 100644 (file)
@@ -178,10 +178,10 @@ case "$target" in
        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.
-        pthread_name=pthreadGC2
+        pthread_name=pthread
        CFLAGS="$CFLAGS -mms-bitfields"
        LIBS="$LIBS -l${pthread_name} -lws2_32 -lregex"
        ;;
@@ -206,7 +206,7 @@ AC_CHECK_FUNCS(bind_textdomain_codeset)
 LIBS=$syl_save_LIBS
 
 dnl for gettext
-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"
+ALL_LINGUAS="bg ca cs de en_GB eo es fi fr he hu id_ID lt nb nl pl pt_BR sk sv"
 GETTEXT_PACKAGE=claws-mail
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
@@ -428,7 +428,7 @@ dnl ** common code **
 dnl *****************
 
 dnl check for glib
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6 gmodule-2.0 >= 2.6 gobject-2.0 >= 2.6 gthread-2.0 >= 2.6)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.20 gmodule-2.0 >= 2.20 gobject-2.0 >= 2.20 gthread-2.0 >= 2.20)
 
 GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
 AC_SUBST(GLIB_GENMARSHAL)
@@ -448,13 +448,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])
-       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.)
@@ -474,17 +484,18 @@ if test "x$enable_gnutls" != "xno"; then
         [
                 AC_DEFINE(USE_GNUTLS, 1, gnutls)
                 echo "Building with GnuTLS"
+               PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11,
+               [
+                       dnl No linking against libgcrypt needed
+               ],
+               [
+                       dnl linking against libgcrypt *is* needed
+                       GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
+               ])
         ],
         [
                 echo "Building without gnutls"
-        ])
-        PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11,
-        [
-                dnl No linking against libgcrypt needed
-        ],
-        [
-                dnl linking against libgcrypt *is* needed
-                GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
+               enable_gnutls=no
         ])
         AC_SUBST(GNUTLS_LIBS)
         AC_SUBST(GNUTLS_CFLAGS)
@@ -960,14 +971,18 @@ AC_ARG_ENABLE(gdata-plugin,
                [  --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(mailmbox-plugin,
                [  --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])
@@ -1040,7 +1055,8 @@ 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 Geolocation                libchamplain, libsoup
+dnl Geolocation:       libchamplain, libsoup
+dnl Libravatar:                libcurl
 dnl Notification:      optionally libnotify libindicate libcanberra_gtk hotkey
 dnl Pdf-Viewer:                libpoppler
 dnl Perl:              sed perl
@@ -1049,7 +1065,7 @@ dnl PGP/Mime:             pgpcore libgpgme
 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 vCalendar:         libcurl
 
@@ -1058,10 +1074,21 @@ 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 *********************************************************************
 PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.1.14, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
@@ -1085,7 +1112,7 @@ AC_SUBST(LIBSOUP_GNOME_CFLAGS)
 AC_SUBST(LIBSOUP_GNOME_LIBS)
 
 dnl libarchive *****************************************************************
-AC_SEARCH_LIBS([archive_read_new], [archive],
+AC_CHECK_LIB([archive], [archive_read_new],
                       ARCHIVE_LIBS=-larchive
                       HAVE_ARCHIVE=yes
                       AC_SUBST(ARCHIVE_LIBS),
@@ -1093,22 +1120,7 @@ AC_SEARCH_LIBS([archive_read_new], [archive],
                       )
 
 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.1, HAVE_GDATA=yes, HAVE_GDATA=no)
 AC_SUBST(GDATA_CFLAGS)
 AC_SUBST(GDATA_LIBS)
 
@@ -1251,11 +1263,13 @@ AC_SUBST(libcanberra_gtk_CFLAGS)
 AC_SUBST(libcanberra_gtk_LIBS)
 
 dnl libindicate ****************************************************************
-dnl We support either 0.3+ or 0.5+
+dnl We support either 0.3+ or 0.5+ or 0.6+ or 0.7+
 LIBINDICATE_MODULE=indicate
 LIBINDICATE_REQUIRED=0.3.0
 
 PKG_CHECK_EXISTS(indicate-0.5 >= 0.5.0, LIBINDICATE_MODULE=indicate-0.5)
+PKG_CHECK_EXISTS(indicate-0.6 >= 0.6.0, LIBINDICATE_MODULE=indicate-0.6)
+PKG_CHECK_EXISTS(indicate-0.7 >= 0.7.0, LIBINDICATE_MODULE=indicate-0.7)
 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])
@@ -1445,28 +1459,28 @@ else
        AC_MSG_RESULT(no)
 fi
 
-AC_MSG_CHECKING([whether to build geolocation plugin])
-if test x"$enable_geolocation_plugin" != xno; then
+AC_MSG_CHECKING([whether to build libravatar plugin])
+if test x"$enable_libravatar_plugin" != xno; then
        dependencies_missing=""
 
-       if test x"$HAVE_CHAMPLAIN" = xno; then
-               dependencies_missing="libchamplain $dependencies_missing"
+       if test x"$HAVE_CURL" = xno; then
+               dependencies_missing="libcurl $dependencies_missing"
        fi
 
        if test x"$dependencies_missing" = x; then
-               PLUGINS="$PLUGINS geolocation"
+               PLUGINS="$PLUGINS libravatar"
                AC_MSG_RESULT(yes)
-       elif test x"$enable_geolocation_plugin" = xauto; then
+       elif test x"$enable_libravatar_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"
+               AC_MSG_WARN("Plugin libravatar will not be built; missing $dependencies_missing")
+               enable_libravatar_plugin=no
+               MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS libravatar"
        else
                AC_MSG_RESULT(no)
-               AC_MSG_ERROR("Plugin geolocation cannot be built; missing $dependencies_missing")
+               AC_MSG_ERROR("Plugin libravatar cannot be built; missing $dependencies_missing")
        fi
 else
-       DISABLED_PLUGINS="$DISABLED_PLUGINS geolocation"
+       DISABLED_PLUGINS="$DISABLED_PLUGINS libravatar"
        AC_MSG_RESULT(no)
 fi
 
@@ -1479,6 +1493,15 @@ else
        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"
@@ -1690,8 +1713,8 @@ AC_MSG_CHECKING([whether to build rssyl plugin])
 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"
@@ -1829,8 +1852,9 @@ AM_CONDITIONAL(BUILD_DEMO_PLUGIN,         test x"$enable_demo_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_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)
@@ -1876,8 +1900,9 @@ src/plugins/demo/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/managesieve/Makefile
 src/plugins/newmail/Makefile
 src/plugins/notification/Makefile
 src/plugins/notification/gtkhotkey/Makefile
@@ -1890,6 +1915,7 @@ src/plugins/pgpcore/Makefile
 src/plugins/pgpmime/Makefile
 src/plugins/pgpinline/Makefile
 src/plugins/rssyl/Makefile
+src/plugins/rssyl/libfeed/Makefile
 src/plugins/smime/Makefile
 src/plugins/spamassassin/Makefile
 src/plugins/spam_report/Makefile