X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=configure.ac;h=a5f1bc95d3e871a386b8fe6739e72a5e1238e084;hp=8bc3db4ebab824895257eb3aa5ef6419a718ccee;hb=bfc95529975d50e8cda7a85b439aab23f2021c53;hpb=d4fa90e495fe3c6c6d04391c0beb1f7745bb3741 diff --git a/configure.ac b/configure.ac index 8bc3db4eb..a5f1bc95d 100644 --- a/configure.ac +++ b/configure.ac @@ -21,8 +21,13 @@ if test \( -d .git \); then echo "echo ${GIT_VERSION}" > ./version fi else - GIT_VERSION=`sh -c ". ./$srcdir/version"` + GIT_VERSION=`sh -c ". $srcdir/version"` 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%%.*} @@ -60,10 +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_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 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 @@ -110,18 +120,25 @@ dnl ****************************** 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 - LDFLAGS="$LDFLAGS -mwindows" + LDFLAGS="$LDFLAGS -mwindows -Wl,--export-all-symbols" ;; + *-apple-*) + platform_osx=yes + LDFLAGS="$LDFLAGS -Wl,-export_dynamic" + ;; *) platform_win32=no + platform_osx=no + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" ;; esac -AC_MSG_RESULT([$platform_win32]) 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 @@ -163,10 +180,10 @@ if test x"$_gcc_psign" = xyes ; then CFLAGS="$CFLAGS -Wno-pointer-sign" fi -CFLAGS="$CFLAGS -Wall" +CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE" 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= @@ -203,7 +220,7 @@ AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS=$syl_save_LIBS dnl for gettext -ALL_LINGUAS="ca cs de en_GB es fi fr he hu it lt nb nl pt_BR ru sk sv zh_TW" +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.]) @@ -283,9 +300,13 @@ 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, @@ -406,16 +427,16 @@ AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr \ 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 -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) @@ -479,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 -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") @@ -519,6 +530,39 @@ if test x"$ac_cv_with_config_dir" = x""; then 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 ************************ @@ -531,8 +575,15 @@ if test x"$enable_gtk3" = x"yes"; then 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 +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) @@ -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 - 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 - 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) @@ -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]) - enable_dbus_glib=yes + enable_dbus=yes ], [ 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) @@ -690,7 +748,7 @@ dnl ####################################################################### dnl # Check for alternate address book support dnl ####################################################################### AC_MSG_CHECKING([whether DBUS support for alternate address book is present]) -if test x"$enable_dbus_glib" = xyes; then +if test x"$enable_dbus" = xyes; then AC_MSG_RESULT([yes]) AC_MSG_CHECKING([whether to enable alternate address book]) if test x"$enable_alternate_addressbook" = xyes; then @@ -828,9 +886,9 @@ AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes" 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 - 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" @@ -885,6 +943,25 @@ else 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) @@ -900,6 +977,14 @@ else 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 ************************* @@ -946,6 +1031,10 @@ AC_ARG_ENABLE(clamd-plugin, [ --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]) @@ -1028,12 +1117,12 @@ AC_ARG_ENABLE(vcalendar-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 -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 @@ -1043,7 +1132,8 @@ dnl Archive: libarchive dnl Fancy: Webkit, curl, optionally libsoup-gnome dnl Gdata: libgdata 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 @@ -1053,7 +1143,8 @@ dnl S/Mime: pgpcore libgpgme dnl Python: Python dnl RSSyl: expat 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) @@ -1077,7 +1168,7 @@ 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) +PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.10.0, HAVE_WEBKIT=yes, HAVE_WEBKIT=no) AC_SUBST(WEBKIT_LIBS) AC_SUBST(WEBKIT_CFLAGS) @@ -1098,18 +1189,26 @@ AC_SUBST(LIBSOUP_GNOME_CFLAGS) AC_SUBST(LIBSOUP_GNOME_LIBS) dnl libarchive ***************************************************************** +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 - AC_SUBST(ARCHIVE_LIBS), + AC_SUBST(ARCHIVE_LIBS,$ARCHIVE_CFLAGS), HAVE_ARCHIVE=no ) dnl libgdata ******************************************************************* -PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.1, HAVE_GDATA=yes, HAVE_GDATA=no) +PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.2, HAVE_GDATA=yes, HAVE_GDATA=no) 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) @@ -1144,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]]*//'` - 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}]) @@ -1200,7 +1299,7 @@ AM_PATH_PYTHON([2.5], [ 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( @@ -1248,20 +1347,13 @@ fi AC_SUBST(libcanberra_gtk_CFLAGS) AC_SUBST(libcanberra_gtk_LIBS) -dnl libindicate **************************************************************** -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]) +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 -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) @@ -1271,6 +1363,51 @@ fi AC_SUBST(CM_NP_HOTKEY_CFLAGS) AC_SUBST(CM_NP_HOTKEY_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 " + else + ytnef_include="#include " + fi + AC_TRY_COMPILE([#include + ${ytnef_include}], + [SwapDDWord(0, 0);], + [have_ytnef=1], + [have_ytnef=0]) + if test $have_ytnef -eq 0; then + AC_TRY_COMPILE([#include + ${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 we error out, else we only inform. @@ -1372,6 +1509,15 @@ else 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="" @@ -1507,10 +1653,10 @@ if test x"$enable_notification_plugin" != xno; then 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 - 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" @@ -1717,6 +1863,28 @@ if test x"$enable_spamassassin_plugin" != xno; then 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) @@ -1777,13 +1945,30 @@ fi 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 + AC_MSG_CHECKING([whether to build vcalendar plugin]) if test x"$enable_vcalendar_plugin" != xno; then dependencies_missing="" @@ -1792,6 +1977,10 @@ if test x"$enable_vcalendar_plugin" != xno; then 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 @@ -1824,6 +2013,7 @@ 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_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) @@ -1859,6 +2049,7 @@ src/common/version.h src/Makefile src/common/Makefile src/common/passcrypt.h +src/common/tests/Makefile src/gtk/Makefile src/etpan/Makefile src/plugins/Makefile @@ -1872,6 +2063,7 @@ src/plugins/bsfilter/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 @@ -1890,17 +2082,15 @@ src/plugins/pgpcore/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/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 @@ -1951,7 +2141,10 @@ echo "DBUS : $enable_dbus" 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 "Password crypto : $pwd_crypto" +echo "Unit tests : $enable_tests" echo "Plugins" echo " Built:"