X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=configure.ac;h=a5f1bc95d3e871a386b8fe6739e72a5e1238e084;hp=03f8718b9c6ef63959f55a291a9bf90fa914f651;hb=bfc95529975d50e8cda7a85b439aab23f2021c53;hpb=643edf05442da249656aabe85a41194c5cd62b89 diff --git a/configure.ac b/configure.ac index 03f8718b9..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 @@ -170,7 +180,7 @@ 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="$CFLAGS -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE" @@ -294,6 +304,10 @@ 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], @@ -413,7 +427,7 @@ 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 ** @@ -422,7 +436,7 @@ 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) -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) @@ -486,29 +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.])) - ;; - freebsd*) - ;; # not used - *) - 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") @@ -578,6 +580,10 @@ 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) @@ -590,11 +596,18 @@ if test $enable_enchant = yes; then 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) @@ -875,7 +888,7 @@ dnl # Check for NetworkManager support dnl ####################################################################### 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" @@ -964,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 ************************* @@ -1096,7 +1117,7 @@ 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]) @@ -1147,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) @@ -1842,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) @@ -2006,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 @@ -2038,12 +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/tests/Makefile doc/Makefile doc/man/Makefile tools/Makefile @@ -2097,6 +2144,7 @@ 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:"