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
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 ******************************
CFLAGS="$CFLAGS -Wno-pointer-sign"
fi
-CFLAGS="$CFLAGS -Wall"
+CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
if test $USE_MAINTAINER_MODE = yes; then
CFLAGS="$CFLAGS -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE"
LIBS=$syl_save_LIBS
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"
+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.])
[ --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(tests,
+ [ --enable-tests Build unit tests],
+ [enable_tests=$enableval], [enable_tests=no])
+
manualdir='${docdir}/manual'
AC_ARG_WITH(manualdir,
[ --with-manualdir=DIR Manual directory],
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.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`
+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"
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.24)
-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 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 | $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")
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-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])
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 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 unity/messaging-menu
dnl libcanberra_gtk hotkey
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)
)
dnl libgdata *******************************************************************
-PKG_CHECK_MODULES(GDATA, libgdata >= 0.6.4, 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)
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
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_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"
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
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/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/tests/Makefile
doc/Makefile
doc/man/Makefile
tools/Makefile
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:"