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%%.*}
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
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
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
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=
LIBS=$syl_save_LIBS
dnl for gettext
-ALL_LINGUAS="bg ca cs de en_GB eo es fi fr he hu it lt nb nl pt_BR 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 pt_PT 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.])
[ --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(svg,
+ [ --disable-svg Do not build SVG support],
+ [enable_svg=$enableval], [enable_svg=yes])
-AC_ARG_ENABLE(deprecated,
- [ --disable-deprecated Disable deprecated GTK functions],
- [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
+AC_ARG_ENABLE(tests,
+ [ --enable-tests Build unit tests],
+ [enable_tests=$enableval], [enable_tests=no])
manualdir='${docdir}/manual'
AC_ARG_WITH(manualdir,
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 library functions.
AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr \
+AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr strcasestr \
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)
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"
])
],
[
- 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")
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
- 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)
+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 Checks for GTK
-AM_CONDITIONAL(GTK3, false)
-AM_CONDITIONAL(GTK2, true)
-if test x"$enable_gtk3" = x"yes"; then
- PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.0 cairo)
- AM_CONDITIONAL(GTK3, true)
- AM_CONDITIONAL(GTK2, false)
-else
- PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16)
-fi
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.24)
+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_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)
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)
dnl #######################################################################
dnl #######################################################################
-dnl # Check for new address book support
+dnl # Check for alternate address book support
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_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_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)
],
[
- enable_new_addrbook=no
+ enable_alternate_addressbook=no
])
else
AC_MSG_RESULT([no])
- enable_new_addrbook=no
+ enable_alternate_addressbook=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 #######################################################################
-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])
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 #######################################################################
-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"
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])
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)
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 *************************
[ --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])
[ --disable-libravatar-plugin Do not build libravatar plugin],
[enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
+AC_ARG_ENABLE(litehtml_viewer-plugin,
+ [ --disable-litehtml_viewer-plugin Do not build litehtml_viewer plugin],
+ [enable_litehtml_viewer_plugin=$enableval], [enable_litehtml_viewer_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],
+ [ --disable-managesieve-plugin Do not build managesieve plugin],
[enable_managesieve_plugin=$enableval], [enable_managesieve_plugin=auto])
AC_ARG_ENABLE(newmail-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
dnl Archive: libarchive
dnl Fancy: Webkit, curl, optionally libsoup-gnome
dnl Gdata: libgdata
+dnl Litehtml a C++ compiler, >=glib-2.36, cairo, fontconfig, gumbo, curl
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 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)
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)
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 cairo **********************************************************************
+PKG_CHECK_MODULES(CAIRO, cairo, HAVE_CAIRO=yes, HAVE_CAIRO=no)
+AC_SUBST(CAIRO_CFLAGS)
+AC_SUBST(CAIRO_LIBS)
+
+dnl fontconfig *****************************************************************
+PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
+AC_SUBST(FONTCONFIG_CFLAGS)
+AC_SUBST(FONTCONFIG_LIBS)
+
+dnl gumbo **********************************************************************
+PKG_CHECK_MODULES(LIBGUMBO, gumbo >= 0.10, HAVE_LIBGUMBO=yes, HAVE_LIBGUMBO=no)
+AC_SUBST(LIBGUMBO_CFLAGS)
+AC_SUBST(LIBGUMBO_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)
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}])
fi
dnl Python *********************************************************************
+missing_python=""
AM_PATH_PYTHON([2.5], [
AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
if test x"$PYTHON_CONFIG" = x"" ; then
else
AC_MSG_WARN(python-config not found. Maybe you need to install development packages for Python.)
HAVE_PYTHON=no
+ missing_python="python-config"
fi
if test x"$HAVE_PYTHON" = xyes; then
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_RESULT(no)
AC_MSG_WARN(Could not find Python shared libary: ${PYTHON_SHARED_LIB}. Maybe you need to install development packages for Python.)
HAVE_PYTHON=no
+ missing_python="libpython"
else
AC_MSG_RESULT(yes)
fi
fi
if test x"$HAVE_PYTHON" = xyes; then
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.10.3, [AC_DEFINE(ENABLE_PYTHON, [1], [Enable Python support])], HAVE_PYTHON=no)
+ if test x"$HAVE_PYTHON" = xno; then
+ missing_python="pygtk-2.0 >= 2.10.3"
+ fi
fi
+], [
+ HAVE_PYTHON=no
+ missing_python="python interpreter"
])
AC_SUBST(PYTHON_SHARED_LIB)
AC_SUBST(PYTHON_CFLAGS)
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)
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 <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 we error out, else we only inform.
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_RESULT(no)
fi
+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
+ if test x"$HAVE_FONTCONFIG" = xno; then
+ dependencies_missing="fontconfig $dependencies_missing"
+ fi
+ 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"
+ AC_MSG_RESULT(yes)
+ elif test x"$enable_litehtml_viewer_plugin" = xauto; then
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN("Plugin litehtml_viewer will not be built; missing $dependencies_missing")
+ enable_litehtml_viewer_plugin=no
+ MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS litehtml_viewer"
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR("Plugin litehtml_viewer cannot be built; missing $dependencies_missing")
+ fi
+else
+ DISABLED_PLUGINS="$DISABLED_PLUGINS litehtml_viewer"
+ AC_MSG_RESULT(no)
+fi
+
AC_MSG_CHECKING([whether to build mailmbox plugin])
if test x"$enable_mailmbox_plugin" != xno; then
PLUGINS="$PLUGINS mailmbox"
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"
dependencies_missing=""
if test x"$HAVE_PYTHON" = xno; then
- dependencies_missing="python $dependencies_missing"
+ dependencies_missing="$missing_python $dependencies_missing"
fi
if test x"$dependencies_missing" = x; 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)
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=""
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
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_LIBRAVATAR_PLUGIN, test x"$enable_libravatar_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)
src/Makefile
src/common/Makefile
src/common/passcrypt.h
+src/common/tests/Makefile
src/gtk/Makefile
src/etpan/Makefile
src/plugins/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/litehtml_viewer/Makefile
+src/plugins/litehtml_viewer/litehtml/Makefile
src/plugins/libravatar/Makefile
src/plugins/mailmbox/Makefile
src/plugins/managesieve/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
+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
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/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
])
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
- echo "Using Address Book : Old stable interface"
+ echo "Using Address Book : Original stable interface"
echo "JPilot : $enable_jpilot"
echo "LDAP : $enable_ldap"
fi
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:"