Python 2 EOL: migrate vcard2xml.py to Python 3
[claws.git] / configure.ac
index 6b4b9464159e819401284ba5d487356d706a361d..8ab4136579cdd544ad1ff19157bf9dee745bda84 100644 (file)
@@ -109,7 +109,16 @@ LT_AC_PROG_RC
 AC_LIBTOOL_RC
 AC_PROG_LIBTOOL
 AC_PROG_AWK
+
+dnl AC_PROG_CXX will set CXX=g++ even if it finds no useable C++
+dnl compiler, so we have to check whether the program named by
+dnl CXX exists.
 AC_PROG_CXX
+AC_PATH_PROG(REAL_CXX, $CXX)
+HAVE_CXX=no
+if test -n "$REAL_CXX"; then
+       HAVE_CXX=yes
+fi
 
 AC_SYS_LARGEFILE
 
@@ -431,7 +440,7 @@ dnl ** common code **
 dnl *****************
 
 dnl check for glib
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28 gmodule-2.0 >= 2.28 gobject-2.0 >= 2.28 gthread-2.0 >= 2.28)
+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`
 AC_SUBST(GLIB_GENMARSHAL)
@@ -439,6 +448,8 @@ AC_SUBST(GLIB_GENMARSHAL)
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
 
+PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0 >= 2.26])
+
 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
 syl_save_LIBS=$LIBS
 LIBS="$LIBS $GTK_LIBS"
@@ -897,38 +908,62 @@ fi
 dnl Libetpan
 AC_MSG_CHECKING([whether to use libetpan])
 if test x"$enable_libetpan" = xyes; then
-       AC_MSG_RESULT(yes)
-       libetpan_result=no
-       AC_PATH_PROG(libetpanconfig, [libetpan-config])
-       if test "x$libetpanconfig" != "x"; then
-         CPPFLAGS="$CPPFLAGS `$libetpanconfig --cflags 2>/dev/null`"
-         AC_CHECK_HEADER(libetpan/libetpan.h, [libetpan_result=yes])
-         if test "x$libetpan_result" = "xyes"; then
-           AC_MSG_CHECKING([whether libetpan-config hints compiles and links fine])
-           LIBS="$LIBS `$libetpanconfig --libs 2>/dev/null`"
-           AC_TRY_LINK([#include <libetpan/dbstorage.h>], [db_mailstorage_init(NULL, NULL);], [libetpan_result=yes], [libetpan_result=no])
-           AC_MSG_RESULT([$libetpan_result])
-         fi
-       fi
-       if test "x$libetpan_result" = "xyes"; then
-          LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
-          LIBETPAN_LIBS="`$libetpanconfig --libs`"
-          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_RESULT(yes)
+
+    libetpan_config=no
+    libetpan_result=no
+    libetpan_versiontype=0
+
+    # since 1.9.4, libetpan uses pkg-config
+    PKG_CHECK_MODULES([LIBETPAN], [libetpan >= 1.9.4],
+    [
+        LIBETPAN_VERSION=`pkg-config --modversion libetpan | $AWK -F. '{printf "%d", ($1 * 10000) + ($2 * 100) + $3}'`
+        libetpan_config=yes
+    ],
+    [
+        # before 1.9.4, libetpan uses its own libetpan-config script
+        AC_PATH_PROG(libetpanconfig, [libetpan-config])
+        if test "x$libetpanconfig" != "x"; then
+            LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
+            LIBETPAN_LIBS="`$libetpanconfig --libs`"
+            # support libetpan version like x.x and x.x.x
+            libetpan_versiontype=`$libetpanconfig --version | tr -dc . | wc -c`
+            if test $libetpan_versiontype -eq 1; then
+                LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 100) + $2}'`
+            else
+                LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 10000) + ($2 * 100) + $3}'`
+            fi
+            libetpan_config=yes
+        fi
+    ])
+    if test "x$libetpan_config" = "xyes"; then
+        CPPFLAGS="$CPPFLAGS $LIBETPAN_FLAGS"
+        AC_CHECK_HEADER(libetpan/libetpan.h, [libetpan_result=yes])
+        if test "x$libetpan_result" = "xyes"; then
+            AC_MSG_CHECKING([whether libetpan-config hints compiles and links fine])
+            LIBS="$LIBS $LIBETPAN_LIBS"
+            AC_TRY_LINK([#include <libetpan/dbstorage.h>], [db_mailstorage_init(NULL, NULL);], [libetpan_result=yes], [libetpan_result=no])
+            AC_MSG_RESULT([$libetpan_result])
+        fi
+    fi
+    if test "x$libetpan_result" = "xyes"; then
+        if test $libetpan_versiontype -eq 1; then
+            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])
-          fi
-          AC_SUBST(LIBETPAN_FLAGS)
-          AC_SUBST(LIBETPAN_LIBS)
-          AC_DEFINE(HAVE_LIBETPAN, 1, Define if you want IMAP and/or NNTP support.)
-       else
-          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])
-       fi
+            fi
+        fi
+        AC_SUBST(LIBETPAN_FLAGS)
+        AC_SUBST(LIBETPAN_LIBS)
+        AC_DEFINE(HAVE_LIBETPAN, 1, Define if you want IMAP and/or NNit TP support.)
+    else
+        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])
+    fi
 else
-       AC_MSG_RESULT(no)
+    AC_MSG_RESULT(no)
 fi
 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
 
@@ -1124,7 +1159,7 @@ 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 Litehtml           cairo, fontconfig, gumbo
+dnl Litehtml           a C++ compiler, >=glib-2.36, cairo, fontconfig, gumbo, curl
 dnl Libravatar:                libcurl
 dnl Notification:      optionally libnotify  unity/messaging-menu
 dnl                               libcanberra_gtk hotkey
@@ -1627,6 +1662,11 @@ AC_MSG_CHECKING([whether to build litehtml_viewer plugin])
 if test x"$enable_litehtml_viewer_plugin" != xno; then
         dependencies_missing=""
 
+        if test x"$HAVE_CXX" = xno; then
+                dependencies_missing="C++ compiler $dependencies_missing"
+        fi
+        PKG_CHECK_EXISTS([glib-2.0 >= 2.36], [],
+                [dependencies_missing="glib-2.0 >= 2.36 $dependencies_missing"])
         if test x"$HAVE_CAIRO" = xno; then
                 dependencies_missing="cairo $dependencies_missing"
         fi
@@ -1636,6 +1676,10 @@ if test x"$enable_litehtml_viewer_plugin" != xno; then
        if test x"$HAVE_LIBGUMBO" = xno; then
                dependencies_missing="libgumbo $dependencies_missing"
        fi
+        if test x"$HAVE_CURL" = xno; then
+                dependencies_missing="libcurl $dependencies_missing"
+        fi
+
 
         if test x"$dependencies_missing" = x; then
                 PLUGINS="$PLUGINS litehtml_viewer"
@@ -2067,9 +2111,9 @@ 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_LIBRAVATAR_PLUGIN,                test x"$enable_libravatar_plugin" != xno)
-AM_CONDITIONAL(BUILD_LITEHTML_PLUGIN,          test x"$enable_litehtml_viewer_plugin" != xno)
+AM_CONDITIONAL(BUILD_LITEHTML_VIEWER_PLUGIN,   test x"$enable_litehtml_viewer_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_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)
@@ -2131,6 +2175,7 @@ src/plugins/perl/tools/Makefile
 src/plugins/python/Makefile
 src/plugins/python/examples/Makefile
 src/plugins/pgpcore/Makefile
+src/plugins/pgpcore/tests/Makefile
 src/plugins/pgpmime/Makefile
 src/plugins/pgpinline/Makefile
 src/plugins/rssyl/Makefile