Document the new hidden preference 'hide_timezone'
[claws.git] / configure.ac
blob596535730c9453066e56bf00bdba5e53aaf1d33f
2 AC_PREREQ(2.59)
3 AC_INIT(src/main.c)
4 AC_CONFIG_AUX_DIR(config)
5 AC_CONFIG_MACRO_DIR([m4])
7 PACKAGE=claws-mail
9 dnl version number
10 INTERFACE_AGE=0
11 BINARY_AGE=0
12 EXTRA_RELEASE=
13 EXTRA_GTK2_VERSION=
15 if test \( -d .git \); then
16     AC_CHECK_PROG([GIT], [git], [yes], [no], [$PATH])
17     if test \( "$GIT" = "no" \); then
18         AC_MSG_ERROR([*** git not found. See http://git-scm.com/])
19     else
20         GIT_VERSION=`git describe --abbrev=6 --dirty --always`
21         echo "echo ${GIT_VERSION}" > ./version
22     fi
23 else
24     GIT_VERSION=`sh -c ". ./$srcdir/version"`
26 MAJOR_VERSION=${GIT_VERSION%%.*}
27 MINOR_VERSION=${GIT_VERSION#*.}
28 MINOR_VERSION=${MINOR_VERSION%%.*}
29 MICRO_VERSION=${GIT_VERSION##*.}
30 MICRO_VERSION=${MICRO_VERSION%%-*}
31 EXTRA_VERSION=${GIT_VERSION#*-}
32 EXTRA_VERSION=${EXTRA_VERSION%%-*}
34 if test \( "x$EXTRA_VERSION" != "x" -a `echo -n $EXTRA_VERSION | wc -c` -lt 5 \); then
35     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}git${EXTRA_VERSION}
36 else
37     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
38     EXTRA_VERSION=0
41 if test \( "x$EXTRA_RELEASE" != "x" \); then
42     VERSION=${VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
45 dnl set $target
46 AC_CANONICAL_SYSTEM
48 dnl
49 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
50 dnl AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
51 dnl AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
52 AC_SUBST(PACKAGE)
53 AC_SUBST(VERSION)
54 AC_SUBST(MAJOR_VERSION)
55 AC_SUBST(MINOR_VERSION)
56 AC_SUBST(MICRO_VERSION)
57 AC_SUBST(EXTRA_VERSION)
58 AC_SUBST(GIT_VERSION)
60 AC_CHECK_PROG(HAVE_GTK_ICON_CACHE, gtk-update-icon-cache, yes, no)
61 AM_CONDITIONAL(UPDATE_GTK_ICON_CACHE, test x"$HAVE_GTK_ICON_CACHE" = xyes)
63 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
64 if test x$PKG_CONFIG = xno ; then
65   AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
68 dnl libtool versioning
69 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
70 LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
71 LT_REVISION=$INTERFACE_AGE
72 LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
73 AC_SUBST(LT_RELEASE)
74 AC_SUBST(LT_CURRENT)
75 AC_SUBST(LT_REVISION)
76 AC_SUBST(LT_AGE)
78 dnl Specify a header configuration file
79 AC_CONFIG_HEADERS(config.h)
80 AC_CONFIG_HEADERS(claws-features.h)
82 AM_MAINTAINER_MODE
84 dnl Checks for programs.
85 dnl AC_ARG_PROGRAM
86 AC_PROG_CC
87 AC_ISC_POSIX
88 AC_PROG_INSTALL
89 AC_PROG_LN_S
90 AC_PROG_MAKE_SET
91 AC_PROG_CPP
92 dnl AC_PROG_RANLIB
93 AM_PROG_LEX
94 AC_PROG_YACC
95 AC_LIB_PREFIX
96 AC_LIBTOOL_WIN32_DLL
97 LT_INIT
98 LT_AC_PROG_RC
99 AC_LIBTOOL_RC
100 AC_PROG_LIBTOOL
101 AC_PROG_AWK
103 AC_SYS_LARGEFILE
105 dnl ******************************
106 dnl Checks for host
107 dnl Not needed anymore because we
108 dnl do AC_CANONICAL_SYSTEM above
109 dnl ******************************
110 dnl AC_CANONICAL_HOST
112 dnl Copied from the official gtk+-2 configure.in
113 AC_MSG_CHECKING([for host platform])
114 case "$host" in
115   *-*-mingw*|*-*-cygwin*)
116     platform_win32=yes
117     LDFLAGS="$LDFLAGS -mwindows -Wl,--export-all-symbols"
118     ;;
119         *-apple-*)
120                 platform_osx=yes
121                 LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
122                 ;;
123   *)
124     platform_win32=no
125                 platform_osx=no
126                 LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
127     ;;
128 esac
129 AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = x"yes")
130 AM_CONDITIONAL(PLATFORM_OSX, test x"$platform_osx" = x"yes")
131 AC_MSG_RESULT([$host])
133 AC_MSG_CHECKING([for native Win32])
134 case "$host" in
135   *-*-mingw*)
136     os_win32=yes
137     ;;
138   *)
139     os_win32=no
140     ;;
141 esac
142 AC_MSG_RESULT([$os_win32])
143 AM_CONDITIONAL(OS_WIN32, test x"$os_win32" = x"yes")
145 AC_MSG_CHECKING([for Cygwin])
146 case "$host" in
147   *-*-cygwin*)
148     env_cygwin=yes
149     ;;
150   *)
151     env_cygwin=no
152     ;;
153 esac
154 AC_MSG_RESULT([$env_cygwin])
155 AM_CONDITIONAL(CYGWIN, test x"$env_cygwin" = x"yes")
157 if test "$GCC" = "yes"
158 then
159         CFLAGS="$CFLAGS -Wno-unused-function"
160         #CFLAGS="-g -Wall -Wno-unused-function"
163 AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
164 _gcc_cflags_save=$CFLAGS
165 CFLAGS="-Wno-pointer-sign"
166 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],_gcc_psign=yes,_gcc_psign=no)
167 AC_MSG_RESULT($_gcc_psign)
168 CFLAGS=$_gcc_cflags_save;
169 if test x"$_gcc_psign" = xyes ; then
170         CFLAGS="$CFLAGS -Wno-pointer-sign"
173 CFLAGS="$CFLAGS -Wall"
175 if test $USE_MAINTAINER_MODE = yes; then
176         CFLAGS="-g -Wall -Wno-pointer-sign -DUSE_MAINTAINER_MODE"
179 pthread_name=
180 case "$target" in
181 *-darwin*)
182         CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
183         ;;
184 *-*-mingw*)
185         # Note that we need to link to pthread in all cases. This
186         # is because some locking is used even when pthread support is
187         # disabled.
188         pthread_name=pthread
189         CFLAGS="$CFLAGS -mms-bitfields"
190         LIBS="$LIBS -l${pthread_name} -lws2_32 -lregex"
191         ;;
192 *-*-solaris*)
193         CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
194         CFLAGS="$CFLAGS -std=gnu99 -DSOLARIS"
195         ;;
196 esac
198 dnl Checks for iconv
199 AM_ICONV
201 dnl floor and ceil are  in -lm
202 LIBS="$LIBS -lm"
205 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
207 syl_save_LIBS=$LIBS
208 LIBS="$LIBS $GTK_LIBS"
209 AC_CHECK_FUNCS(bind_textdomain_codeset)
210 LIBS=$syl_save_LIBS
212 dnl for gettext
213 ALL_LINGUAS="ca cs da de en_GB es fi fr he hu id_ID it nb nl pt_BR ru sk sv tr zh_TW"
214 GETTEXT_PACKAGE=claws-mail
215 AC_SUBST(GETTEXT_PACKAGE)
216 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
218 AM_GNU_GETTEXT_VERSION([0.18])
219 AM_GNU_GETTEXT([external])
221 AC_ARG_ENABLE(manual,
222                 [  --disable-manual                Do not build user manual],
223                 [enable_manual=$enableval], [enable_manual=yes])
225 AC_ARG_ENABLE(libsm,
226                 [  --disable-libsm                 Do not build libSM support for session management],
227                 [enable_libsm=$enableval], [enable_libsm=yes])
229 AC_ARG_ENABLE(ipv6,
230                 [  --disable-ipv6                  Do not build IPv6 support],
231                 [enable_ipv6=$enableval], [enable_ipv6=yes])
233 AC_ARG_ENABLE(gnutls,
234                 [  --disable-gnutls                Do not build GnuTLS support for SSL/TLS],
235                     [enable_gnutls=$enableval], [enable_gnutls=yes])
237 AC_ARG_ENABLE(enchant,
238                 [  --disable-enchant               Do not build Enchant support for spell-checking],
239                 [enable_enchant=$enableval], [enable_enchant=yes])
241 AC_ARG_ENABLE(crash-dialog,
242                 [  --enable-crash-dialog           Build crash dialog],
243                 [enable_crash_dialog=$enableval], [enable_crash_dialog=no])
245 AC_ARG_ENABLE(generic-umpc,
246                 [  --enable-generic-umpc           Build generic UMPC code],
247                 [enable_generic_umpc=$enableval], [enable_generic_umpc=no])
249 AC_ARG_ENABLE(compface,
250                 [  --disable-compface              Do not build compface support for X-Face],
251                 [enable_compface=$enableval], [enable_compface=yes])
253 AC_ARG_ENABLE(pthread,
254                 [  --disable-pthread               Do not build pthread support],
255                 [enable_pthread=$enableval], [enable_pthread=yes])
257 AC_ARG_ENABLE(startup-notification,
258                 [  --disable-startup-notification  Do not startup notification support],
259                 [enable_startup_notification=$enableval], [enable_startup_notification=yes])
261 AC_ARG_ENABLE(dbus,
262                 [  --disable-dbus                  Do not build DBUS support],
263                 [enable_dbus=$enableval], [enable_dbus=yes])
265 AC_ARG_ENABLE(ldap,
266                 [  --disable-ldap                  Do not build LDAP support],
267                 [enable_ldap=$enableval], [enable_ldap=yes])
269 AC_ARG_ENABLE(jpilot,
270                 [  --disable-jpilot                Do not build JPilot support],
271                 [enable_jpilot=$enableval], [enable_jpilot=yes])
273 AC_ARG_ENABLE(networkmanager,
274                 [  --disable-networkmanager        Do not build NetworkManager support],
275                 [enable_networkmanager=$enableval], [enable_networkmanager=yes])
277 AC_ARG_ENABLE(libetpan,
278                 [  --disable-libetpan              Do not build libetpan support for IMAP4/NNTP],
279                 [enable_libetpan=$enableval], [enable_libetpan=yes])
281 AC_ARG_ENABLE(valgrind,
282                 [  --disable-valgrind              Do not build valgrind support for debugging],
283                 [enable_valgrind=$enableval], [enable_valgrind=yes])
285 AC_ARG_ENABLE(alternate-addressbook,
286                 [  --enable-alternate-addressbook  Build alternate external address book support],
287                 [enable_alternate_addressbook=$enableval], [enable_alternate_addressbook=no])
289 AC_ARG_ENABLE(gtk3,
290                 [  --enable-gtk3                   Build GTK3 support],
291                 [enable_gtk3=$enableval], [enable_gtk3=no])
293 AC_ARG_ENABLE(deprecated,
294                 [  --disable-deprecated            Disable deprecated GTK functions],
295                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
297 manualdir='${docdir}/manual'
298 AC_ARG_WITH(manualdir,
299         [  --with-manualdir=DIR    Manual directory],
300         [manualdir="$withval"])
301 AC_SUBST(manualdir)
303 dnl ******************************
304 dnl ** Check for required tools **
305 dnl ** to build manuals         **
306 dnl ******************************
308 AC_PATH_PROG(DOCBOOK2HTML, docbook2html)
309 AC_PATH_PROG(DOCBOOK2TXT, docbook2txt)
310 AC_PATH_PROG(DOCBOOK2PS, docbook2ps)
311 AC_PATH_PROG(DOCBOOK2PDF, docbook2pdf)
313 AM_CONDITIONAL(MANUAL_HTML, test -n "$DOCBOOK2HTML")
314 AM_CONDITIONAL(MANUAL_TXT, test -n "$DOCBOOK2TXT")
315 AM_CONDITIONAL(MANUAL_PDF, test -n "$DOCBOOK2PDF")
316 AM_CONDITIONAL(MANUAL_PS, test -n "$DOCBOOK2PS")
318 if test x"$enable_manual" = x"yes"; then
319     if test -n "$DOCBOOK2TXT" -o -n "$DOCBOOK2HTML" \
320         -o -n "$DOCBOOK2PS" -o -n "$DOCBOOK2PDF"; then
321             enable_manual=yes
322         else
323             enable_manual=no
324     fi
327 AM_CONDITIONAL(BUILD_MANUAL, test x"$enable_manual" = xyes)
329 dnl Set PACKAGE_DATA_DIR in config.h.
330 if test "x${datarootdir}" = 'x${prefix}/share'; then
331         if test "x${prefix}" = "xNONE"; then
332                 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}",[PACKAGE_DATA_DIR])
333         else
334                 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}",[PACKAGE_DATA_DIR])
335         fi
336 else
337         AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datarootdir}/${PACKAGE}",[PACKAGE_DATA_DIR])
340 AC_CHECK_LIB(xpg4, setlocale)
342 SM_LIBS=""
343 dnl Check for LibSM
344 AC_MSG_CHECKING([whether to use LibSM])
345 if test x"$enable_libsm" = xyes; then
346         AC_MSG_RESULT(yes)
347         AC_CHECK_LIB(SM, SmcSaveYourselfDone,
348                 [SM_LIBS="$X_LIBS -lSM -lICE"],enable_libsm=no,
349                 $X_LIBS -lICE)
350         AC_CHECK_HEADERS(X11/SM/SMlib.h,,enable_libsm=no)
351         if test x"$enable_libsm" = xyes; then
352                 AC_DEFINE(HAVE_LIBSM, 1, [Define to 1 if you have libSM installed])
353         else
354                 AC_MSG_RESULT(not found)
355                 AC_MSG_WARN([*** LibSM will not be supported ***])
356         fi
357 else
358         AC_MSG_RESULT(no)
360 AC_SUBST(SM_LIBS)
362 dnl Check for d_type member in struct dirent
363 AC_MSG_CHECKING([whether struct dirent has d_type member])
364 AC_CACHE_VAL(ac_cv_dirent_d_type,[
365         AC_TRY_COMPILE([#include <dirent.h>],
366                        [struct dirent d; d.d_type = DT_REG;],
367                        ac_cv_dirent_d_type=yes, ac_cv_dirent_d_type=no)
369 AC_MSG_RESULT($ac_cv_dirent_d_type)
370 if test $ac_cv_dirent_d_type = yes; then
371         AC_DEFINE(HAVE_DIRENT_D_TYPE, 1,
372                   Define if `struct dirent' has `d_type' member.)
375 # Check whether mkdir does not take the permission argument.
376 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
378 dnl Checks for header files.
379 AC_HEADER_DIRENT
380 AC_HEADER_STDC
381 AC_HEADER_SYS_WAIT
382 AC_CHECK_HEADERS(fcntl.h sys/file.h unistd.h paths.h \
383                  sys/param.h sys/utsname.h sys/select.h \
384                  wchar.h wctype.h locale.h netdb.h)
385 AC_CHECK_HEADER([execinfo.h], [AC_DEFINE(HAVE_BACKTRACE,1,[Has backtrace*() needed for retrieving stack traces])])
386 AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
388 dnl Checks for typedefs, structures, and compiler characteristics.
389 AC_C_CONST
390 AC_TYPE_OFF_T
391 AC_TYPE_PID_T
392 AC_TYPE_SIZE_T
393 AC_STRUCT_TM
395 dnl AC_CHECK_TYPE(wint_t, unsigned int) does not work because wint_t
396 dnl may be defined only in wchar.h (this happens with gcc-2.96).
397 dnl So we need to use this extended macro.
398 CLAWS_CHECK_TYPE(wint_t, unsigned int,
400 #if HAVE_WCHAR_H
401 #include <wchar.h>
402 #endif
403 ], Define to `unsigned int' if <stddef.h> or <wchar.h> doesn't define.)
405 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF, Used to test for a u32 typedef)
406 AC_CHECK_SIZEOF(unsigned short, 2)
407 AC_CHECK_SIZEOF(unsigned int, 4)
408 AC_CHECK_SIZEOF(unsigned long, 4)
410 dnl Checks for library functions.
411 AC_FUNC_ALLOCA
412 AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr \
413                uname flock lockf inet_aton inet_addr \
414                fchmod mkstemp truncate getuid regcomp)
416 AC_CHECK_FUNCS(fgets_unlocked fwrite_unlocked)
418 dnl *****************
419 dnl ** common code **
420 dnl *****************
422 dnl check for glib
423 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.20 gmodule-2.0 >= 2.20 gobject-2.0 >= 2.20 gthread-2.0 >= 2.20)
425 GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
426 AC_SUBST(GLIB_GENMARSHAL)
428 AC_SUBST(GLIB_CFLAGS)
429 AC_SUBST(GLIB_LIBS)
431 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
432 syl_save_LIBS=$LIBS
433 LIBS="$LIBS $GTK_LIBS"
434 AC_CHECK_FUNCS(bind_textdomain_codeset)
435 LIBS=$syl_save_LIBS
437 dnl check for IPv6 option
438 dnl automated checks for IPv6 support.
439 AC_MSG_CHECKING([whether to use IPv6])
440 if test x"$enable_ipv6" = xyes; then
441         AC_MSG_RESULT(yes)
442         AC_MSG_CHECKING([for IPv6 support])
443         if test x"$platform_win32" = xyes; then
444                 AC_CACHE_VAL(ac_cv_ipv6,[
445                         AC_TRY_COMPILE([
446                                         #include <ws2tcpip.h>
447                                 ], [struct in6_addr a;],
448                                 ac_cv_ipv6=yes, ac_cv_ipv6=no)
449                 ])
450         else
451                 AC_CACHE_VAL(ac_cv_ipv6,[
452                         AC_TRY_COMPILE([
453                                         #define INET6
454                                         #include <sys/types.h>
455                                         #include <netinet/in.h>
456                                 ], [int x = IPPROTO_IPV6; struct in6_addr a;],
457                                 ac_cv_ipv6=yes, ac_cv_ipv6=no)
458                 ])
459         fi
460         AC_MSG_RESULT($ac_cv_ipv6)
461         if test $ac_cv_ipv6 = yes; then
462                 AC_DEFINE(INET6, 1, Define if you want IPv6 support.)
463         else
464                 AC_MSG_WARN(*** IPv6 will not be supported ***)
465                 enable_ipv6=no
466         fi
467 else
468         AC_MSG_RESULT(no)
471 dnl GNUTLS
472 AC_MSG_CHECKING([whether to use GnuTLS])
473 AC_MSG_RESULT($enable_gnutls)
474 if test "x$enable_gnutls" != "xno"; then
475         PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.2,
476         [
477                 AC_DEFINE(USE_GNUTLS, 1, gnutls)
478                 echo "Building with GnuTLS"
479                 PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11,
480                 [
481                         dnl No linking against libgcrypt needed
482                 ],
483                 [
484                         dnl linking against libgcrypt *is* needed
485                         GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
486                 ])
487         ],
488         [
489                 echo "Building without gnutls"
490                 enable_gnutls=no
491         ])
492         AC_SUBST(GNUTLS_LIBS)
493         AC_SUBST(GNUTLS_CFLAGS)
496 dnl password encryption
497 OLDLIBS=$LIBS
498 LIBS=
499 case $host_os in
500         *dragonfly*)
501                 AC_SEARCH_LIBS(encrypt, cipher, [], AC_MSG_ERROR(['encrypt'-function not found.]))
502         ;;
503         *)
504                 AC_SEARCH_LIBS(encrypt, crypt, [], AC_MSG_ERROR(['encrypt'-function not found.]))
505         ;;
506 esac
507 CRYPT_LIBS=$LIBS
508 AC_SUBST(CRYPT_LIBS)
509 LIBS=$OLDLIBS
511 AC_ARG_WITH(passcrypt-key, [  --with-passcrypt-key=KEY     Key used to encode passwords (8 byte string)],
512             with_passcrypt_key="$withval", with_passcrypt_key="passkey0")
513 AC_SUBST(PASSCRYPT_KEY, $with_passcrypt_key)
515 dnl RC dir (will be default at a certain point in time)
516 AC_ARG_WITH(config-dir,    [  --with-config-dir=RCDIR      Local configuration dir (default: .claws-mail)],
517               ac_cv_with_config_dir="$withval", ac_cv_with_config_dir="")
519 dnl Set correct default value based on platform
520 if test x"$ac_cv_with_config_dir" = x""; then
521         if test x"$platform_win32" = xyes; then
522                 ac_cv_with_config_dir="Claws-mail"
523         else
524                 ac_cv_with_config_dir=".claws-mail"
525         fi
527 AC_DEFINE_UNQUOTED(CFG_RC_DIR, "$ac_cv_with_config_dir", Configuration directory)
529 AC_ARG_WITH(password-encryption, [  --with-password-encryption=PROVIDER    Which cryptographic library to use for encrypting stored passwords (gnutls, old, default)],
530                                                 pwd_crypto="$withval", pwd_crypto="default")
532 if test x"$pwd_crypto" = xdefault; then
533         if test x"$enable_gnutls" = xyes; then
534                 if `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
535                         pwd_crypto="gnutls"
536                 fi
537         fi
539 if test x"$pwd_crypto" = xdefault; then
540         pwd_crypto="old"
543 case $pwd_crypto in
544         gnutls)
545                 if test x"$enable_gnutls" = xno; then
546                         AC_MSG_ERROR([GnuTLS password encryption requested but GnuTLS is not available.])
547                 fi
548                 if ! `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
549                         AC_MSG_ERROR([GnuTLS version at least 3.0 is required for password encryption.])
550                 fi
551                 AC_DEFINE(PASSWORD_CRYPTO_GNUTLS, 1, Use GnuTLS for stored password encryption)
552                 ;;
553         old)
554                 AC_DEFINE(PASSWORD_CRYPTO_OLD, 1, Use old insecure method for stored password encryption)
555                 ;;
556         *)
557                 AC_MSG_ERROR([Unknown password encryption provider requested.])
558                 ;;
559 esac
562 dnl ************************
563 dnl ** GTK user interface **
564 dnl ************************
566 dnl Checks for GTK
567 AM_CONDITIONAL(GTK3, false)
568 AM_CONDITIONAL(GTK2, true)
569 if test x"$enable_gtk3" = x"yes"; then
570         PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.0 cairo)
571         AM_CONDITIONAL(GTK3, true)
572         AM_CONDITIONAL(GTK2, false)
573 else
574         PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16)
576 AC_SUBST(GTK_CFLAGS)
577 AC_SUBST(GTK_LIBS)
579 dnl enchant is used for spell checking
580 AC_MSG_CHECKING([whether to use enchant])
581 AC_MSG_RESULT($enable_enchant)
582 if test $enable_enchant = yes; then
583         PKG_CHECK_MODULES(ENCHANT, enchant >= 1.0.0,
584         [
585                 AC_DEFINE(USE_ENCHANT, 1, enchant)
586                 echo "Building with enchant"
587                 enable_enchant=yes
588                 CFLAGS="$CFLAGS `$PKG_CONFIG --cflags enchant`"
589         ],
590         [
591                 echo "Building without enchant-notification"
592                 enable_enchant=no
593         ])
594         AC_SUBST(ENCHANT_CFLAGS)
595         AC_SUBST(ENCHANT_LIBS)
598 dnl want crash dialog
599 if test $enable_crash_dialog = yes; then
600 dnl check if GDB is somewhere
601         AC_CHECK_PROG(enable_crash_dialog, gdb, yes, no)
602         AC_MSG_CHECKING([whether to use crash dialog])
603         if test $enable_crash_dialog = yes; then
604                 AC_DEFINE(CRASH_DIALOG, 1, Pop up crash dialog)
605         fi
606         AC_MSG_RESULT($enable_crash_dialog)
609 dnl generic umpc
610 if test $enable_generic_umpc = yes; then
611         AC_DEFINE(GENERIC_UMPC, 1, Generic UMPC code)
612         AC_MSG_RESULT($enable_generic_umpc)
615 dnl Check for X-Face support
616 AC_MSG_CHECKING([whether to use compface])
617 if test x"$enable_compface" = xyes; then
618         AC_MSG_RESULT(yes)
619         AC_CHECK_LIB(compface, uncompface,
620                 [AC_DEFINE(HAVE_LIBCOMPFACE, 1, Define if you want compface support.)],
621                 [enable_compface=no])
622         if test x"$enable_compface" = xyes; then
623                 COMPFACE_LIBS="-lcompface"
624         else
625                 COMPFACE_LIBS=""
626         fi
627         AC_SUBST(COMPFACE_LIBS)
628 else
629         AC_MSG_RESULT(no)
632 dnl check for pthread support
633 AC_MSG_CHECKING([whether to use pthread])
634 if test x$enable_pthread = xno; then
635         AC_MSG_RESULT(no)
636 else
637         AC_MSG_RESULT(yes)
639         # For W32 we need to use a special ptrhead lib. In this case we can't
640         # use AC_CHECK_LIB because it has no means of checking for a
641         # library installed under a different name.  Checking for the
642         # header is okay.
643         if test -n "${pthread_name}" ; then
644            enable_pthread=yes
645         else
646         AC_CHECK_LIB(pthread, pthread_create, :, enable_pthread=no)
647         fi
648         AC_CHECK_HEADERS(pthread.h, :, enable_pthread=no)
650         if test x$enable_pthread = xyes; then
651                 AC_DEFINE(USE_PTHREAD, 1, Define if you have pthread)
652                 if test -z "${pthread_name}" ; then
653                 PTHREAD_LIBS="-lpthread"
654         fi
655         fi
658 AC_SUBST(PTHREAD_LIBS)
661 dnl Check whether we need to pass -lresolv
662 dnl We know that we don't need it for W32.
664 if test x$os_win32 = xno; then
665   t_oldLibs="$LIBS"
666   LIBS="$LIBS"
667   ac_cv_var__res_options=no
668   AC_TRY_LINK([#include <sys/types.h>
669              #include <sys/socket.h>
670              #include <netinet/in.h>
671              #include <arpa/nameser.h>
672              #include <resolv.h>],
673                 [_res.options = RES_INIT;],
674                 ac_cv_var__res_options=yes);
675   if test "$ac_cv_var__res_options" != "yes"; then
676         LIBRESOLV="-lresolv"
677   fi
678   LIBS="$t_oldLibs"
680   if test "x$LIBRESOLV" = "x"; then
681         AC_CHECK_LIB(resolv, res_query, [LIBRESOLV=-lresolv])
682         LIBS="$t_oldLibs"
683   fi
685 AC_SUBST(LIBRESOLV)
687 LIBS="$LIBS $LIBRESOLV"
689 dnl #######################################################################
690 dnl # Check for startup notification
691 dnl #######################################################################
692 if test "x$enable_startup_notification" = "xyes"; then
693         PKG_CHECK_MODULES(STARTUP_NOTIFICATION, libstartup-notification-1.0 >= 0.5,
694         [
695                 AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, [Define if we're using libstartup-notification.])
696                 echo "Building with libstartup-notification"
697                 enable_startup_notification=yes
698         ],
699         [
700                 echo "Building without libstartup-notification"
701                 enable_startup_notification=no
702         ])
704         AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
705         AC_SUBST(STARTUP_NOTIFICATION_LIBS)
708 dnl #######################################################################
709 dnl # Check for D-Bus support
710 dnl #######################################################################
711 if test "x$enable_dbus" = "xyes"; then
712         PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
713         [
714                 AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
715                 enable_dbus_glib=yes
716         ],
717         [
718                 echo "D-Bus requirements not met. D-Bus support not activated."
719                 enable_dbus_glib=no
720         ])
721         AC_SUBST(DBUS_CFLAGS)
722         AC_SUBST(DBUS_LIBS)
725 dnl #######################################################################
726 dnl # Configure address book support
727 dnl #######################################################################
729 dnl #######################################################################
730 dnl # Check for alternate address book support
731 dnl #######################################################################
732 AC_MSG_CHECKING([whether DBUS support for alternate address book is present])
733 if test x"$enable_dbus_glib" = xyes; then
734         AC_MSG_RESULT([yes])
735         AC_MSG_CHECKING([whether to enable alternate address book])
736         if test x"$enable_alternate_addressbook" = xyes; then
737                 AC_MSG_RESULT([yes])
738                 PKG_CHECK_MODULES(CONTACTS, [claws-contacts],
739                 [
740                         AC_DEFINE(USE_ALT_ADDRBOOK, 1, [Define if alternate address book is to be activated.])
741                         enable_alternate_addressbook=yes
742                         AC_SUBST(CONTACTS_CFLAGS)
743                         AC_SUBST(CONTACTS_LIBS)
744                 ],
745                 [
746                         enable_alternate_addressbook=no
747                 ])
748         else
749                 AC_MSG_RESULT([no])
750                 enable_alternate_addressbook=no
751         fi
752 else
753         AC_MSG_RESULT([no])
754         enable_alternate_addressbook=no
757 dnl #######################################################################
758 dnl # Check for old address book support
759 dnl #######################################################################
760 if test x"$enable_alternate_addressbook" = xno; then
761         dnl for LDAP support in addressbook
762         dnl no check for libraries; dynamically loaded
763         AC_MSG_CHECKING([whether to use LDAP])
764         if test x"$enable_ldap" = xno; then
765                 AC_MSG_RESULT(no)
766         elif test x"$enable_ldap" = xyes -a x"$enable_pthread" = xno; then
767                 AC_MSG_RESULT(no - LDAP support needs pthread support)
769                 enable_ldap=no
770         elif test x"$platform_win32" = xyes; then
771                 AC_MSG_RESULT(yes)
772                 AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
773                 LDAP_LIBS="-lwldap32"
774                 AC_SUBST(LDAP_LIBS)
775         else
776                 AC_MSG_RESULT(yes)
778                 dnl check for available libraries, and pull them in
779                 AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv")
780                 AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket")
781                 AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl")
782                 AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",,
783                                  $LDAP_LIBS)
785                 AC_CHECK_HEADERS(ldap.h lber.h,
786                                  [ enable_ldap=yes ],
787                                  [ enable_ldap=no ])
789                 if test "$enable_ldap" = yes; then
790                         AC_CHECK_LIB(ldap, ldap_open,
791                                          [ enable_ldap=yes ],
792                                          [ enable_ldap=no ],
793                                          $LDAP_LIBS)
795                         AC_CHECK_LIB(ldap, ldap_start_tls_s,
796                                              [ ac_cv_have_tls=yes ],
797                                              [ ac_cv_have_tls=no ])
799                 fi
801                 AC_MSG_CHECKING([whether ldap library is available])
802                 AC_MSG_RESULT($enable_ldap)
804                 AC_MSG_CHECKING([whether TLS library is available])
805                 AC_MSG_RESULT($ac_cv_have_tls)
807                 if test "$enable_ldap" = yes; then
808                         AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
809                         LDAP_LIBS="$LDAP_LIBS -lldap"
810                         AC_SUBST(LDAP_LIBS)
811                         if test "$ac_cv_have_tls" = yes; then
812                                 AC_DEFINE(USE_LDAP_TLS, 1, Define if you want LDAP TLS support in addressbook.)
813                         fi
814                         dnl As of OpenLDAP API version 3000 a number of functions has
815                         dnl been deprecated. As Claws-mail compiles and runs on many
816                         dnl platforms and many versions of OpenLDAP we need to be able
817                         dnl to switch between the old and new API because new API has
818                         dnl added new functions replacing old ones and at the same time
819                         dnl old functions has been changed.
820                         dnl If cross-compiling defaults to enable deprecated features
821                         dnl for maximum portability
822                         AC_MSG_CHECKING([The API version of OpenLDAP])
823                         AC_RUN_IFELSE(
824                                 [AC_LANG_PROGRAM(
825                                  [#include <ldap.h>],
826                                  [if (LDAP_API_VERSION >= 3000)
827                                                 return 1
828                                 ])],
829                                 [AC_MSG_RESULT([version < 3000])
830                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)],
831                                 [AC_MSG_RESULT([version >= 3000])
832                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 1, Define if OpenLDAP API is at least version 3000.)],
833                                 [AC_MSG_RESULT([Enabling deprecated features in OpenLDAP])
834                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)
835                                  AC_DEFINE(LDAP_DEPRECATED, 1, Define to activate deprecated features in OpenLDAP)]
836                         )
837                 fi
838         fi
840         dnl for JPilot support in addressbook
841         dnl no check for libraries; these are dynamically loaded
842         AC_MSG_CHECKING([whether to use JPilot])
843         if test "$enable_jpilot" = yes; then
844                 AC_MSG_RESULT(yes)
845                 AC_CHECK_HEADERS(pi-args.h pi-appinfo.h pi-address.h pi-version.h,
846                                  [ AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ],
847                                  [ enable_jpilot=no ])
848                 if test "$enable_jpilot" = no; then
849                         AC_CHECK_HEADERS(libpisock/pi-args.h libpisock/pi-appinfo.h libpisock/pi-address.h libpisock/pi-version.h,
850                                          [ enable_jpilot=yes
851                                            AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ])
852                 fi
854                 AC_CHECK_LIB(pisock, unpack_Address, [JPILOT_LIBS="-lpisock"], [JPILOT_LIBS="" enable_jpilot="no"])
855                 if test x"$enable_jpilot" = xyes; then
856                         AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.)
857                 else
858                         AC_MSG_NOTICE([JPilot support not available])
859                 fi
860                 AC_SUBST(JPILOT_LIBS)
861         else
862                 AC_MSG_RESULT(no)
863         fi
866 AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes")
868 dnl #######################################################################
869 dnl # Check for NetworkManager support
870 dnl #######################################################################
871 if test x"$enable_dbus_glib" = xyes; then
872         if test x"$enable_networkmanager" = xyes; then
873                 PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, NetworkManager >= 0.6.2,
874                 [
875                         AC_DEFINE(HAVE_NETWORKMANAGER_SUPPORT, 1, [Define if NetworkManager support is to be included.])
876                         echo "Building with NetworkManager support"
877                         enable_networkmanager=yes
878                 ],
879                 [
880                         echo "NetworkManager not found."
881                         enable_networkmanager=no
882                 ])
883                 AC_SUBST(NETWORKMANAGER_SUPPORT_CFLAGS)
884         fi
885 else
886         echo "NetworkManager support deactivated as D-Bus requirements were not met."
887         enable_networkmanager=no
890 dnl Libetpan
891 AC_MSG_CHECKING([whether to use libetpan])
892 if test x"$enable_libetpan" = xyes; then
893         AC_MSG_RESULT(yes)
894         libetpan_result=no
895         AC_PATH_PROG(libetpanconfig, [libetpan-config])
896         if test "x$libetpanconfig" != "x"; then
897           CPPFLAGS="$CPPFLAGS `$libetpanconfig --cflags 2>/dev/null`"
898           AC_CHECK_HEADER(libetpan/libetpan.h, [libetpan_result=yes])
899           if test "x$libetpan_result" = "xyes"; then
900             AC_MSG_CHECKING([whether libetpan-config hints compiles and links fine])
901             LIBS="$LIBS `$libetpanconfig --libs 2>/dev/null`"
902             AC_TRY_LINK([#include <libetpan/dbstorage.h>], [db_mailstorage_init(NULL, NULL);], [libetpan_result=yes], [libetpan_result=no])
903             AC_MSG_RESULT([$libetpan_result])
904           fi
905         fi
906         if test "x$libetpan_result" = "xyes"; then
907            LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
908            LIBETPAN_LIBS="`$libetpanconfig --libs`"
909            LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 100) + $2}'`
910            if test "$LIBETPAN_VERSION" -lt "57"; then
911                 AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/])
912                 AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
913                 AC_MSG_ERROR([libetpan 0.57 not found])
914            fi
915            AC_SUBST(LIBETPAN_FLAGS)
916            AC_SUBST(LIBETPAN_LIBS)
917            AC_DEFINE(HAVE_LIBETPAN, 1, Define if you want IMAP and/or NNTP support.)
918         else
919            AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/ ])
920            AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
921            AC_MSG_ERROR([libetpan 0.57 not found])
922         fi
923 else
924         AC_MSG_RESULT(no)
926 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
928 AC_MSG_CHECKING([whether to use valgrind])
929 if test x$enable_valgrind = xyes; then
930         AC_MSG_RESULT(yes)
931         PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
932                           enable_valgrind=yes, enable_valgrind=no)
933         if test x"$enable_valgrind" = xyes; then
934                 AC_DEFINE(HAVE_VALGRIND, 1, Define if you want valgrind support)
935         else
936                 AC_MSG_RESULT(not found)
937         fi
938 else
939         AC_MSG_RESULT(no)
941 AM_CONDITIONAL(CLAWS_VALGRIND, test x"$enable_valgrind" = x"yes")
943 dnl *************************
944 dnl ** section for plugins **
945 dnl *************************
947 PLUGINS=""
948 DISABLED_PLUGINS=""
949 MISSING_DEPS_PLUGINS=""
951 dnl First we set the enabled status - either enabled (yes), auto-enabled (auto)
952 dnl or (auto-)disabled (no for both)
954 dnl All plugins are auto-enabled except for Demo which is just there to help
955 dnl potential plugins writers.
957 AC_ARG_ENABLE(acpi_notifier-plugin,
958                 [  --disable-acpi_notifier-plugin  Do not build acpi_notifier plugin],
959                 [enable_acpi_notifier_plugin=$enableval], [enable_acpi_notifier_plugin=auto])
961 AC_ARG_ENABLE(address_keeper-plugin,
962                 [  --disable-address_keeper-plugin Do not build address_keeper plugin],
963                 [enable_address_keeper_plugin=$enableval], [enable_address_keeper_plugin=auto])
965 AC_ARG_ENABLE(archive-plugin,
966                 [  --disable-archive-plugin        Do not build archive plugin],
967                 [enable_archive_plugin=$enableval], [enable_archive_plugin=auto])
969 AC_ARG_ENABLE(att_remover-plugin,
970                 [  --disable-att_remover-plugin    Do not build att_remover plugin],
971                 [enable_att_remover_plugin=$enableval], [enable_att_remover_plugin=auto])
973 AC_ARG_ENABLE(attachwarner-plugin,
974                 [  --disable-attachwarner-plugin   Do not build attachwarner plugin],
975                 [enable_attachwarner_plugin=$enableval], [enable_attachwarner_plugin=auto])
977 AC_ARG_ENABLE(bogofilter-plugin,
978                 [  --disable-bogofilter-plugin     Do not build bogofilter plugin],
979                 [enable_bogofilter_plugin=$enableval], [enable_bogofilter_plugin=auto])
981 AC_ARG_ENABLE(bsfilter-plugin,
982                 [  --disable-bsfilter-plugin       Do not build bsfilter plugin],
983                 [enable_bsfilter_plugin=$enableval], [enable_bsfilter_plugin=auto])
985 AC_ARG_ENABLE(clamd-plugin,
986                 [  --disable-clamd-plugin          Do not build clamd plugin],
987                 [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
989 AC_ARG_ENABLE(fancy-plugin,
990                 [  --disable-fancy-plugin          Do not build fancy plugin],
991                 [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
993 AC_ARG_ENABLE(fetchinfo-plugin,
994                 [  --disable-fetchinfo-plugin      Do not build fetchinfo plugin],
995                 [enable_fetchinfo_plugin=$enableval], [enable_fetchinfo_plugin=auto])
997 AC_ARG_ENABLE(gdata-plugin,
998                 [  --disable-gdata-plugin          Do not build gdata plugin],
999                 [enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
1001 AC_ARG_ENABLE(libravatar-plugin,
1002                 [  --disable-libravatar-plugin     Do not build libravatar  plugin],
1003                 [enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
1005 AC_ARG_ENABLE(mailmbox-plugin,
1006                 [  --disable-mailmbox-plugin       Do not build mailmbox plugin],
1007                 [enable_mailmbox_plugin=$enableval], [enable_mailmbox_plugin=auto])
1009 AC_ARG_ENABLE(managesieve-plugin,
1010                 [  --disable-managesieve-plugin    Do not build managesieve plugin],
1011                 [enable_managesieve_plugin=$enableval], [enable_managesieve_plugin=auto])
1013 AC_ARG_ENABLE(newmail-plugin,
1014                 [  --disable-newmail-plugin        Do not build newmail plugin],
1015                 [enable_newmail_plugin=$enableval], [enable_newmail_plugin=auto])
1017 AC_ARG_ENABLE(notification-plugin,
1018                 [  --disable-notification-plugin   Do not build notification plugin],
1019                 [enable_notification_plugin=$enableval], [enable_notification_plugin=auto])
1021 AC_ARG_ENABLE(pdf_viewer-plugin,
1022                 [  --disable-pdf_viewer-plugin     Do not build pdf_viewer plugin],
1023                 [enable_pdf_viewer_plugin=$enableval], [enable_pdf_viewer_plugin=auto])
1025 AC_ARG_ENABLE(perl-plugin,
1026                 [  --disable-perl-plugin           Do not build perl plugin],
1027                 [enable_perl_plugin=$enableval], [enable_perl_plugin=auto])
1029 AC_ARG_ENABLE(python-plugin,
1030                 [  --disable-python-plugin         Do not build python plugin],
1031                 [enable_python_plugin=$enableval], [enable_python_plugin=auto])
1033 AC_ARG_ENABLE(pgpcore-plugin,
1034                 [  --disable-pgpcore-plugin        Do not build pgpcore plugin],
1035                 [enable_pgpcore_plugin=$enableval], [enable_pgpcore_plugin=auto])
1037 AC_ARG_ENABLE(pgpmime-plugin,
1038                 [  --disable-pgpmime-plugin        Do not build pgpmime plugin],
1039                 [enable_pgpmime_plugin=$enableval], [enable_pgpmime_plugin=auto])
1041 AC_ARG_ENABLE(pgpinline-plugin,
1042                 [  --disable-pgpinline-plugin      Do not build pgpinline plugin],
1043                 [enable_pgpinline_plugin=$enableval], [enable_pgpinline_plugin=auto])
1045 AC_ARG_ENABLE(rssyl-plugin,
1046                 [  --disable-rssyl-plugin          Do not build rssyl plugin],
1047                 [enable_rssyl_plugin=$enableval], [enable_rssyl_plugin=auto])
1049 AC_ARG_ENABLE(smime-plugin,
1050                 [  --disable-smime-plugin          Do not build smime plugin],
1051                 [enable_smime_plugin=$enableval], [enable_smime_plugin=auto])
1053 AC_ARG_ENABLE(spamassassin-plugin,
1054                 [  --disable-spamassassin-plugin   Do not build spamassassin plugin],
1055                 [enable_spamassassin_plugin=$enableval], [enable_spamassassin_plugin=auto])
1057 AC_ARG_ENABLE(spam_report-plugin,
1058                 [  --disable-spam_report-plugin    Do not build spam_report plugin],
1059                 [enable_spam_report_plugin=$enableval], [enable_spam_report_plugin=auto])
1061 AC_ARG_ENABLE(tnef_parse-plugin,
1062                 [  --disable-tnef_parse-plugin     Do not build tnef_parse plugin],
1063                 [enable_tnef_parse_plugin=$enableval], [enable_tnef_parse_plugin=auto])
1065 AC_ARG_ENABLE(vcalendar-plugin,
1066                 [  --disable-vcalendar-plugin      Do not build vcalendar plugin],
1067                 [enable_vcalendar_plugin=$enableval], [enable_vcalendar_plugin=auto])
1069 dnl disabled by default
1070 AC_ARG_ENABLE(demo-plugin,
1071                 [  --enable-demo-plugin         Build demo plugin],
1072                 [enable_demo_plugin=$enableval], [enable_demo_plugin=no])
1075 dnl Then we check (unconditionnaly) for plugins dependencies
1076 dnl Some dependencies are optional, some mandatories. This is taken care of
1077 dnl later.
1079 dnl During this dependancy check we do the checks themselves, define HAVE_X to
1080 dnl either yes or no, and do the AC_SUBST calls.
1082 dnl Archive:            libarchive
1083 dnl Fancy:              Webkit, curl, optionally libsoup-gnome
1084 dnl Gdata:              libgdata
1085 dnl Libravatar:         libcurl
1086 dnl Notification:       optionally libnotify libindicate libcanberra_gtk hotkey
1087 dnl Pdf-Viewer:         libpoppler
1088 dnl Perl:               sed perl
1089 dnl PGP/Core:           libgpgme
1090 dnl PGP/Mime:           pgpcore libgpgme
1091 dnl PGP/Inline:         pgpcore libgpgme
1092 dnl S/Mime:             pgpcore libgpgme
1093 dnl Python:             Python
1094 dnl RSSyl:              expat libcurl
1095 dnl SpamReport:         libcurl
1096 dnl vCalendar:          libcurl
1098 dnl libcurl ********************************************************************
1099 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
1100 AC_SUBST(CURL_LIBS)
1101 AC_SUBST(CURL_CFLAGS)
1103 dnl expat **********************************************************************
1104 PKG_CHECK_MODULES(EXPAT, expat, HAVE_EXPAT=yes, HAVE_EXPAT=no)
1106 if test x"$HAVE_EXPAT" = xno; then
1107         AC_CHECK_HEADER(expat.h, [expat_header=yes], [expat_header=no])
1108         AC_CHECK_LIB(expat, XML_ParserCreate, [expat_lib=yes], [expat_lib=no])
1109         if test x"$expat_header" = xyes -a x"$expat_lib"=xyes; then
1110                 HAVE_EXPAT=yes
1111                 EXPAT_CFLAGS=""
1112                 EXPAT_LIBS="-lexpat"
1113         fi
1116 AC_SUBST(EXPAT_CFLAGS)
1117 AC_SUBST(EXPAT_LIBS)
1119 dnl webkit *********************************************************************
1120 PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.1.14, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
1121 AC_SUBST(WEBKIT_LIBS)
1122 AC_SUBST(WEBKIT_CFLAGS)
1124 dnl libsoup ********************************************************************
1125 PKG_CHECK_MODULES(LIBSOUP, libsoup-2.4, HAVE_LIBSOUP=yes, HAVE_LIBSOUP=no)
1126 if test x"$HAVE_LIBSOUP" = xyes; then
1127         AC_DEFINE(HAVE_LIBSOUP, 1, [Define if libsoup is available])
1129 AC_SUBST(LIBSOUP_CFLAGS)
1130 AC_SUBST(LIBSOUP_LIBS)
1132 dnl libsoup-gnome **************************************************************
1133 PKG_CHECK_MODULES(LIBSOUP_GNOME, libsoup-gnome-2.4 >= 2.26, HAVE_LIBSOUP_GNOME=yes, HAVE_LIBSOUP_GNOME=no)
1134 if test x"$HAVE_LIBSOUP_GNOME" = xyes; then
1135         AC_DEFINE(HAVE_LIBSOUP_GNOME, 1, [Define if libsoup_gnome is available])
1137 AC_SUBST(LIBSOUP_GNOME_CFLAGS)
1138 AC_SUBST(LIBSOUP_GNOME_LIBS)
1140 dnl libarchive *****************************************************************
1141 AC_CHECK_LIB([archive], [archive_read_new],
1142                        ARCHIVE_LIBS=-larchive
1143                        HAVE_ARCHIVE=yes
1144                        AC_SUBST(ARCHIVE_LIBS),
1145                        HAVE_ARCHIVE=no
1146                        )
1148 dnl libgdata *******************************************************************
1149 PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.1, HAVE_GDATA=yes, HAVE_GDATA=no)
1150 AC_SUBST(GDATA_CFLAGS)
1151 AC_SUBST(GDATA_LIBS)
1153 dnl Poppler ********************************************************************
1154 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
1155 AC_SUBST(POPPLER_LIBS)
1156 AC_SUBST(POPPLER_CFLAGS)
1158 dnl check for Poppler extra features that we conditionally support
1159 if test x"$HAVE_POPPLER" = xyes; then
1160         OLD_CFLAGS=$CFLAGS
1161         CFLAGS="$POPPLER_CFLAGS $GTK_CFLAGS $GLIB_CFLAGS"
1162         AC_CHECK_DECL(POPPLER_DEST_NAMED,
1163                 [AC_DEFINE([HAVE_POPPLER_DEST_NAMED], [], [Description])],
1164                 ,[#include <poppler-action.h>])
1165         AC_CHECK_DECL(POPPLER_DEST_XYZ,
1166                 [AC_DEFINE([HAVE_POPPLER_DEST_XYZ], [], [Description])],
1167                 ,[#include <poppler-action.h>])
1168         CFLAGS=$OLD_CFLAGS
1171 dnl perl ***********************************************************************
1172 AC_CHECK_PROG(HAVE_PERL, perl, yes, no)
1173 if test x"$HAVE_PERL" = xyes; then
1174         AC_MSG_CHECKING(for perl >= 5.8.0)
1175         PERL_VER=`perl -e 'print $] > 5.0079999?"yes":"no"'`
1176         if test "$PERL_VER" = "yes"; then
1177                 AC_MSG_RESULT(yes)
1178         else
1179                 AC_MSG_RESULT(no)
1180                 HAVE_PERL=no
1181         fi
1183 if test x"$HAVE_PERL" = xyes; then
1184         AC_MSG_CHECKING(for Perl compile flags)
1185         PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
1186         PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
1187         PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm//'`
1188         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb//'`
1189         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm//'`
1190         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc//'`
1191         AC_MSG_RESULT(ok)
1192         AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
1193         
1194         if test x"$HAVE_PERL" = xyes; then
1195                 AC_CHECK_LIB(perl,perl_alloc,[AC_DEFINE(HAVE_LIBPERL, 1, Check for libperl.)], 
1196                                              [ HAVE_LIBPERL=no ])
1197         fi
1198         if test x"$HAVE_LIBPERL" = xno; then
1199                 LIBPERL_PREFIX=`perl -MExtUtils::Embed -e perl_inc`
1200                 LIBPERL_PREFIX=`echo $LIBPERL_PREFIX |sed 's/-I//'`
1201                 AC_MSG_CHECKING([for libperl.so])
1202                 if test -f "$LIBPERL_PREFIX/libperl.so"; then
1203                         AC_MSG_RESULT(yes)
1204                         HAVE_LIBPERL=yes
1205                 else
1206                         AC_MSG_RESULT(no)
1207                 fi      
1208         fi
1209         PERL="perl"
1210         AC_SUBST(PERL)
1211         AC_SUBST(PERL_CFLAGS)
1212         AC_SUBST(PERL_LDFLAGS)
1215 dnl Gpgme **********************************************************************
1216 AM_PATH_GPGME(1.0.0, HAVE_GPGME=yes, HAVE_GPGME=no)
1217 if test x"$HAVE_GPGME" = xyes; then
1218         AC_DEFINE(USE_GPGME, 1, Define if you use GPGME to support OpenPGP.)
1219         AM_PATH_GPGME(1.1.1, AC_DEFINE(HAVE_GPGME_PKA_TRUST, 1, [Define if GPGME supports PKA.]))
1222 dnl Python *********************************************************************
1223 AM_PATH_PYTHON([2.5], [
1224         AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
1225         if test x"$PYTHON_CONFIG" = x"" ; then
1226                 AC_PATH_PROG(PYTHON_CONFIG, python-config)
1227         fi
1228         if test x"$PYTHON_CONFIG" != x""; then
1229                 PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
1230                 PYTHON_LIBS=`$PYTHON_CONFIG --libs`
1231                 PYTHON_PREFIX=`$PYTHON_CONFIG --prefix`
1232                 HAVE_PYTHON=yes
1233         else
1234                 AC_MSG_WARN(python-config not found. Maybe you need to install development packages for Python.)
1235                 HAVE_PYTHON=no
1236         fi
1238         if test x"$HAVE_PYTHON" = xyes; then
1239                 _save_libs="$LIBS"
1240                 if test x"$platform_win32" = xno; then
1241                         # libpython.so
1242                         PYTHON_SHARED_LIB="libpython${PYTHON_VERSION}.so"
1243                         AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl"])
1244                         AC_MSG_CHECKING([whether to dlopen $PYTHON_SHARED_LIB works])
1245                         AC_RUN_IFELSE(
1246                                 [AC_LANG_PROGRAM(
1247                                         [#include <dlfcn.h>
1248                                          #define PYTHON_SO_FILE "${PYTHON_SHARED_LIB}"
1249                                         ],
1250                                         [if (!dlopen(PYTHON_SO_FILE, RTLD_NOW | RTLD_GLOBAL)) return 1; return 0;])
1251                                 ],
1252                                 [found_libpython_so="yes"],
1253                                 [found_libpython_so="no"],
1254                                 [AC_MSG_FAILURE([cross-compiling not supported])])
1255                 fi
1256                 if test x"$found_libpython_so" != x"yes"; then
1257                         AC_MSG_RESULT(no)
1258                         AC_MSG_WARN(Could not find Python shared libary: ${PYTHON_SHARED_LIB}. Maybe you need to install development packages for Python.)
1259                         HAVE_PYTHON=no
1260                 else
1261                         AC_MSG_RESULT(yes)
1262                 fi
1263                 LIBS="$_save_libs";
1264         fi
1265         if test x"$HAVE_PYTHON" = xyes; then
1266                 PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.10.3, [AC_DEFINE(ENABLE_PYTHON, [1], [Enable Python support])], HAVE_PYTHON=no)
1267         fi
1269 AC_SUBST(PYTHON_SHARED_LIB)
1270 AC_SUBST(PYTHON_CFLAGS)
1271 AC_SUBST(PYTHON_LIBS)
1272 AC_SUBST(PYGTK_CFLAGS)
1273 AC_SUBST(PYGTK_LIBS)
1275 dnl libnotify ******************************************************************
1276 PKG_CHECK_MODULES(libnotify, libnotify >= 0.4.3, HAVE_LIBNOTIFY=yes, HAVE_LIBNOTIFY=no)
1277 if test x"$HAVE_LIBNOTIFY" = xyes; then
1278         AC_DEFINE(HAVE_LIBNOTIFY, 1, [Define if libnotify support is enabled])
1280 AC_SUBST(libnotify_CFLAGS)
1281 AC_SUBST(libnotify_LIBS)
1283 dnl libcanberra-gtk ************************************************************
1284 PKG_CHECK_MODULES(libcanberra_gtk, libcanberra-gtk >= 0.6, HAVE_LIBCANBERRA_GTK=yes, HAVE_LIBCANBERRA_GTK=no)
1285 if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1286         AC_DEFINE(HAVE_LIBCANBERRA_GTK, 1, [Define if libcanberra-gtk support is enabled])
1288 AC_SUBST(libcanberra_gtk_CFLAGS)
1289 AC_SUBST(libcanberra_gtk_LIBS)
1291 dnl libindicate ****************************************************************
1292 dnl We support either 0.3+ or 0.5+ or 0.6+ or 0.7+
1293 LIBINDICATE_MODULE=indicate
1294 LIBINDICATE_REQUIRED=0.3.0
1296 PKG_CHECK_EXISTS(indicate-0.5 >= 0.5.0, LIBINDICATE_MODULE=indicate-0.5)
1297 PKG_CHECK_EXISTS(indicate-0.6 >= 0.6.0, LIBINDICATE_MODULE=indicate-0.6)
1298 PKG_CHECK_EXISTS(indicate-0.7 >= 0.7.0, LIBINDICATE_MODULE=indicate-0.7)
1299 PKG_CHECK_MODULES(libindicate, $LIBINDICATE_MODULE >= $LIBINDICATE_REQUIRED, HAVE_LIBINDICATE=yes, HAVE_LIBINDICATE=no)
1300 if test x"$HAVE_LIBINDICATE" = xyes; then
1301         AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for indicators])
1303 AC_SUBST(libindicate_CFLAGS)
1304 AC_SUBST(libindicate_LIBS)
1306 dnl hotkeys ********************************************************************
1307 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)
1308 if test x"$HAVE_HOTKEYS" = xyes; then
1309         AC_DEFINE(NOTIFICATION_HOTKEYS, 1, Activate support for global hotkeys)
1311 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
1312 AC_SUBST(CM_NP_HOTKEY_LIBS)
1314 dnl Third, we now cross the requested plugins and the available dependencies
1315 dnl If some dependencies are missing and the plugin was explicitely enabled,
1316 dnl we error out, else we only inform.
1318 AC_MSG_CHECKING([whether to build acpi_notifier plugin])
1319 if test x"$enable_acpi_notifier_plugin" != xno; then
1320         PLUGINS="$PLUGINS acpi_notifier"
1321         AC_MSG_RESULT(yes)
1322 else
1323         DISABLED_PLUGINS="$DISABLED_PLUGINS acpi_notifier"
1324         AC_MSG_RESULT(no)
1327 AC_MSG_CHECKING([whether to build address_keeper plugin])
1328 if test x"$enable_address_keeper_plugin" != xno; then
1329         PLUGINS="$PLUGINS address_keeper"
1330         AC_MSG_RESULT(yes)
1331 else
1332         DISABLED_PLUGINS="$DISABLED_PLUGINS address_keeper"
1333         AC_MSG_RESULT(no)
1336 AC_MSG_CHECKING([whether to build archive plugin])
1337 if test x"$enable_archive_plugin" != xno; then
1338         dependencies_missing=""
1340         if test x"$HAVE_ARCHIVE" = xno; then
1341                 dependencies_missing="libarchive $dependencies_missing"
1342         fi
1344         if test x"$dependencies_missing" = x; then
1345                 PLUGINS="$PLUGINS archive"
1346                 AC_MSG_RESULT(yes)
1347         elif test x"$enable_archive_plugin" = xauto; then
1348                 AC_MSG_RESULT(no)
1349                 AC_MSG_WARN("Plugin archive will not be built; missing $dependencies_missing")
1350                 enable_archive_plugin=no
1351                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS archive"
1352         else
1353                 AC_MSG_RESULT(no)
1354                 AC_MSG_ERROR("Plugin archive cannot be built; missing $dependencies_missing")
1355         fi
1356 else
1357         DISABLED_PLUGINS="$DISABLED_PLUGINS archive"
1358         AC_MSG_RESULT(no)
1361 AC_MSG_CHECKING([whether to build att_remover plugin])
1362 if test x"$enable_att_remover_plugin" != xno; then
1363         PLUGINS="$PLUGINS att_remover"
1364         AC_MSG_RESULT(yes)
1365 else
1366         DISABLED_PLUGINS="$DISABLED_PLUGINS att_remover"
1367         AC_MSG_RESULT(no)
1370 AC_MSG_CHECKING([whether to build attachwarner plugin])
1371 if test x"$enable_attachwarner_plugin" != xno; then
1372         PLUGINS="$PLUGINS attachwarner"
1373         AC_MSG_RESULT(yes)
1374 else
1375         DISABLED_PLUGINS="$DISABLED_PLUGINS attachwarner"
1376         AC_MSG_RESULT(no)
1379 AC_MSG_CHECKING([whether to build bogofilter plugin])
1380 if test x"$enable_bogofilter_plugin" != xno; then
1381         PLUGINS="$PLUGINS bogofilter"
1382         AC_MSG_RESULT(yes)
1383 else
1384         DISABLED_PLUGINS="$DISABLED_PLUGINS bogofilter"
1385         AC_MSG_RESULT(no)
1388 AC_MSG_CHECKING([whether to build bsfilter plugin])
1389 if test x"$enable_bsfilter_plugin" != xno; then
1390         PLUGINS="$PLUGINS bsfilter"
1391         AC_MSG_RESULT(yes)
1392 else
1393         DISABLED_PLUGINS="$DISABLED_PLUGINS bsfilter"
1394         AC_MSG_RESULT(no)
1397 AC_MSG_CHECKING([whether to build clamd plugin])
1398 if test x"$enable_clamd_plugin" != xno; then
1399         PLUGINS="$PLUGINS clamd"
1400         AC_MSG_RESULT(yes)
1401 else
1402         DISABLED_PLUGINS="$DISABLED_PLUGINS clamd"
1403         AC_MSG_RESULT(no)
1406 AC_MSG_CHECKING([whether to build demo plugin])
1407 if test x"$enable_demo_plugin" != xno; then
1408         PLUGINS="$PLUGINS demo"
1409         AC_MSG_RESULT(yes)
1410 else
1411         DISABLED_PLUGINS="$DISABLED_PLUGINS demo"
1412         AC_MSG_RESULT(no)
1415 AC_MSG_CHECKING([whether to build fancy plugin])
1416 if test x"$enable_fancy_plugin" != xno; then
1417         dependencies_missing=""
1419         if test x"$HAVE_WEBKIT" = xno; then
1420                 dependencies_missing="libwebkit-1.0 $dependencies_missing"
1421         fi
1422         if test x"$HAVE_CURL" = xno; then
1423                 dependencies_missing="libcurl $dependencies_missing"
1424         fi
1426         if test x"$dependencies_missing" = x; then
1427                 PLUGINS="$PLUGINS fancy"
1428                 AC_MSG_RESULT(yes)
1429         elif test x"$enable_fancy_plugin" = xauto; then
1430                 AC_MSG_RESULT(no)
1431                 AC_MSG_WARN("Plugin fancy will not be built; missing $dependencies_missing")
1432                 enable_fancy_plugin=no
1433                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS fancy"
1434         else
1435                 AC_MSG_RESULT(no)
1436                 AC_MSG_ERROR("Plugin fancy cannot be built; missing $dependencies_missing")
1437         fi
1438 else
1439         DISABLED_PLUGINS="$DISABLED_PLUGINS fancy"
1440         AC_MSG_RESULT(no)
1443 AC_MSG_CHECKING([whether to build fetchinfo plugin])
1444 if test x"$enable_fetchinfo_plugin" != xno; then
1445         PLUGINS="$PLUGINS fetchinfo"
1446         AC_MSG_RESULT(yes)
1447 else
1448         DISABLED_PLUGINS="$DISABLED_PLUGINS fetchinfo"
1449         AC_MSG_RESULT(no)
1452 AC_MSG_CHECKING([whether to build gdata plugin])
1453 if test x"$enable_gdata_plugin" != xno; then
1454         dependencies_missing=""
1456         if test x"$HAVE_GDATA" = xno; then
1457                 dependencies_missing="libgdata $dependencies_missing"
1458         fi
1460         if test x"$dependencies_missing" = x; then
1461                 PLUGINS="$PLUGINS gdata"
1462                 AC_MSG_RESULT(yes)
1463         elif test x"$enable_gdata_plugin" = xauto; then
1464                 AC_MSG_RESULT(no)
1465                 AC_MSG_WARN("Plugin gdata will not be built; missing $dependencies_missing")
1466                 enable_gdata_plugin=no
1467                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS gdata"
1468         else
1469                 AC_MSG_RESULT(no)
1470                 AC_MSG_ERROR("Plugin gdata cannot be built; missing $dependencies_missing")
1471         fi
1472 else
1473         DISABLED_PLUGINS="$DISABLED_PLUGINS gdata"
1474         AC_MSG_RESULT(no)
1477 AC_MSG_CHECKING([whether to build libravatar plugin])
1478 if test x"$enable_libravatar_plugin" != xno; then
1479         dependencies_missing=""
1481         if test x"$HAVE_CURL" = xno; then
1482                 dependencies_missing="libcurl $dependencies_missing"
1483         fi
1485         if test x"$dependencies_missing" = x; then
1486                 PLUGINS="$PLUGINS libravatar"
1487                 AC_MSG_RESULT(yes)
1488         elif test x"$enable_libravatar_plugin" = xauto; then
1489                 AC_MSG_RESULT(no)
1490                 AC_MSG_WARN("Plugin libravatar will not be built; missing $dependencies_missing")
1491                 enable_libravatar_plugin=no
1492                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS libravatar"
1493         else
1494                 AC_MSG_RESULT(no)
1495                 AC_MSG_ERROR("Plugin libravatar cannot be built; missing $dependencies_missing")
1496         fi
1497 else
1498         DISABLED_PLUGINS="$DISABLED_PLUGINS libravatar"
1499         AC_MSG_RESULT(no)
1502 AC_MSG_CHECKING([whether to build mailmbox plugin])
1503 if test x"$enable_mailmbox_plugin" != xno; then
1504         PLUGINS="$PLUGINS mailmbox"
1505         AC_MSG_RESULT(yes)
1506 else
1507         DISABLED_PLUGINS="$DISABLED_PLUGINS mailmbox"
1508         AC_MSG_RESULT(no)
1511 AC_MSG_CHECKING([whether to build managesieve plugin])
1512 if test x"$enable_managesieve_plugin" != xno; then
1513         PLUGINS="$PLUGINS managesieve"
1514         AC_MSG_RESULT(yes)
1515 else
1516         DISABLED_PLUGINS="$DISABLED_PLUGINS managesieve"
1517         AC_MSG_RESULT(no)
1520 AC_MSG_CHECKING([whether to build newmail plugin])
1521 if test x"$enable_newmail_plugin" != xno; then
1522         PLUGINS="$PLUGINS newmail"
1523         AC_MSG_RESULT(yes)
1524 else
1525         DISABLED_PLUGINS="$DISABLED_PLUGINS newmail"
1526         AC_MSG_RESULT(no)
1529 AC_MSG_CHECKING([whether to build notification plugin])
1530 if test x"$enable_notification_plugin" != xno; then
1531         PLUGINS="$PLUGINS notification"
1532         AC_MSG_RESULT(yes)
1534         AC_DEFINE(NOTIFICATION_POPUP, 1, Activate notification popup)
1535         AC_DEFINE(NOTIFICATION_BANNER, 1, Activate notification banner)
1536         AC_DEFINE(NOTIFICATION_COMMAND, 1, Activate notification shell command)
1537         AC_DEFINE(NOTIFICATION_TRAYICON, 1, Activate notification trayicon)
1538         if test x"$platform_win32" = xno; then
1539                 AC_DEFINE(NOTIFICATION_LCDPROC, 1, Activate lcdproc support)
1540         fi
1542         notification_features="banner command"
1543         notification_missing_dependencies=""
1544         if test x"$HAVE_HOTKEYS" = xyes; then
1545                 notification_features="$notification_features hotkeys"
1546         else
1547                 notification_missing_dependencies="$notification_missing_dependencies hotkeys"
1548         fi
1549         notification_features="$notification_features lcdproc"
1550         if test x"$HAVE_LIBINDICATE" = xyes; then
1551                 notification_features="$notification_features libindicate"
1552         else
1553                 notification_missing_dependencies="$notification_missing_dependencies libindicate"
1554         fi
1555         if test x"$HAVE_LIBNOTIFY" = xyes; then
1556                 notification_features="$notification_features libnotify"
1557         else
1558                 notification_missing_dependencies="$notification_missing_dependencies libnotify"
1559         fi
1560         if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1561                 notification_features="$notification_features libcanberra-gtk"
1562         else
1563                 notification_missing_dependencies="$notification_missing_dependencies libcanberra-gtk"
1564         fi
1565         notification_features="$notification_features popup trayicon"
1566 else
1567         DISABLED_PLUGINS="$DISABLED_PLUGINS notification"
1568         AC_MSG_RESULT(no)
1571 AC_MSG_CHECKING([whether to build pdf_viewer plugin])
1572 if test x"$enable_pdf_viewer_plugin" != xno; then
1573         dependencies_missing=""
1575         if test x"$HAVE_POPPLER" = xno; then
1576                 dependencies_missing="libpoppler-glib $dependencies_missing"
1577         fi
1579         if test x"$dependencies_missing" = x; then
1580                 PLUGINS="$PLUGINS pdf_viewer"
1581                 AC_MSG_RESULT(yes)
1582         elif test x"$enable_pdf_viewer_plugin" = xauto; then
1583                 AC_MSG_RESULT(no)
1584                 AC_MSG_WARN("Plugin pdf_viewer will not be built; missing $dependencies_missing")
1585                 enable_pdf_viewer_plugin=no
1586                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pdf_viewer"
1587         else
1588                 AC_MSG_RESULT(no)
1589                 AC_MSG_ERROR("Plugin pdf_viewer cannot be built; missing $dependencies_missing")
1590         fi
1591 else
1592         DISABLED_PLUGINS="$DISABLED_PLUGINS pdf_viewer"
1593         AC_MSG_RESULT(no)
1596 AC_MSG_CHECKING([whether to build perl plugin])
1597 if test x"$enable_perl_plugin" != xno; then
1598         dependencies_missing=""
1600         if test x"$HAVE_LIBPERL" = xno; then
1601                 dependencies_missing="libperl $dependencies_missing"
1602         fi
1604         if test x"$dependencies_missing" = x; then
1605                 PLUGINS="$PLUGINS perl"
1606                 AC_MSG_RESULT(yes)
1607         elif test x"$enable_perl_plugin" = xauto; then
1608                 AC_MSG_RESULT(no)
1609                 AC_MSG_WARN("Plugin perl will not be built; missing $dependencies_missing")
1610                 enable_perl_plugin=no
1611                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS perl"
1612         else
1613                 AC_MSG_RESULT(no)
1614                 AC_MSG_ERROR("Plugin perl cannot be built; missing $dependencies_missing")
1615         fi
1616 else
1617         DISABLED_PLUGINS="$DISABLED_PLUGINS perl"
1618         AC_MSG_RESULT(no)
1621 AC_MSG_CHECKING([whether to build python plugin])
1622 if test x"$enable_python_plugin" != xno; then
1623         dependencies_missing=""
1625         if test x"$HAVE_PYTHON" = xno; then
1626                 dependencies_missing="python $dependencies_missing"
1627         fi
1629         if test x"$dependencies_missing" = x; then
1630                 PLUGINS="$PLUGINS python"
1631                 AC_MSG_RESULT(yes)
1632         elif test x"$enable_python_plugin" = xauto; then
1633                 AC_MSG_RESULT(no)
1634                 AC_MSG_WARN("Plugin python will not be built; missing $dependencies_missing")
1635                 enable_python_plugin=no
1636                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS python"
1637         else
1638                 AC_MSG_RESULT(no)
1639                 AC_MSG_ERROR("Plugin python cannot be built; missing $dependencies_missing")
1640         fi
1641 else
1642         DISABLED_PLUGINS="$DISABLED_PLUGINS python"
1643         AC_MSG_RESULT(no)
1646 AC_MSG_CHECKING([whether to build pgpcore plugin])
1647 if test x"$enable_pgpcore_plugin" != xno; then
1648         dependencies_missing=""
1650         if test x"$HAVE_GPGME" = xno; then
1651                 dependencies_missing="libgpgme $dependencies_missing"
1652         fi
1654         if test x"$dependencies_missing" = x; then
1655                 PLUGINS="$PLUGINS pgpcore"
1656                 AC_MSG_RESULT(yes)
1657         elif test x"$enable_pgpcore_plugin" = xauto; then
1658                 AC_MSG_RESULT(no)
1659                 AC_MSG_WARN("Plugin pgpcore will not be built; missing $dependencies_missing")
1660                 enable_pgpcore_plugin=no
1661                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpcore"
1662         else
1663                 AC_MSG_RESULT(no)
1664                 AC_MSG_ERROR("Plugin pgpcore cannot be built; missing $dependencies_missing")
1665         fi
1666 else
1667         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpcore"
1668         AC_MSG_RESULT(no)
1671 AC_MSG_CHECKING([whether to build pgpmime plugin])
1672 if test x"$enable_pgpmime_plugin" != xno; then
1673         dependencies_missing=""
1675         if test x"$HAVE_GPGME" = xno; then
1676                 dependencies_missing="libgpgme $dependencies_missing"
1677         fi
1678         if test x"$enable_pgpcore_plugin" = xno; then
1679                 dependencies_missing="pgpcore plugin $dependencies_missing"
1680         fi
1682         if test x"$dependencies_missing" = x; then
1683                 PLUGINS="$PLUGINS pgpmime"
1684                 AC_MSG_RESULT(yes)
1685         elif test x"$enable_pgpmime_plugin" = xauto; then
1686                 AC_MSG_RESULT(no)
1687                 AC_MSG_WARN("Plugin pgpmime will not be built; missing $dependencies_missing")
1688                 enable_pgpmime_plugin=no
1689                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpmime"
1690         else
1691                 AC_MSG_RESULT(no)
1692                 AC_MSG_ERROR("Plugin pgpmime cannot be built; missing $dependencies_missing")
1693         fi
1694 else
1695         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpmime"
1696         AC_MSG_RESULT(no)
1699 AC_MSG_CHECKING([whether to build pgpinline plugin])
1700 if test x"$enable_pgpinline_plugin" != xno; then
1701         dependencies_missing=""
1703         if test x"$HAVE_GPGME" = xno; then
1704                 dependencies_missing="libgpgme $dependencies_missing"
1705         fi
1706         if test x"$enable_pgpcore_plugin" = xno; then
1707                 dependencies_missing="pgpcore plugin $dependencies_missing"
1708         fi
1710         if test x"$dependencies_missing" = x; then
1711                 PLUGINS="$PLUGINS pgpinline"
1712                 AC_MSG_RESULT(yes)
1713         elif test x"$enable_pgpinline_plugin" = xauto; then
1714                 AC_MSG_RESULT(no)
1715                 AC_MSG_WARN("Plugin pgpinline will not be built; missing $dependencies_missing")
1716                 enable_pgpinline_plugin=no
1717                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpinline"
1718         else
1719                 AC_MSG_RESULT(no)
1720                 AC_MSG_ERROR("Plugin pgpinline cannot be built; missing $dependencies_missing")
1721         fi
1722 else
1723         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpinline"
1724         AC_MSG_RESULT(no)
1727 AC_MSG_CHECKING([whether to build rssyl plugin])
1728 if test x"$enable_rssyl_plugin" != xno; then
1729         dependencies_missing=""
1731         if test x"$HAVE_EXPAT" = xno; then
1732                 dependencies_missing="expat $dependencies_missing"
1733         fi
1734         if test x"$HAVE_CURL" = xno; then
1735                 dependencies_missing="libcurl $dependencies_missing"
1736         fi
1738         if test x"$dependencies_missing" = x; then
1739                 PLUGINS="$PLUGINS rssyl"
1740                 AC_MSG_RESULT(yes)
1741         elif test x"$enable_rssyl_plugin" = xauto; then
1742                 AC_MSG_RESULT(no)
1743                 AC_MSG_WARN("Plugin rssyl will not be built; missing $dependencies_missing")
1744                 enable_rssyl_plugin=no
1745                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS rssyl"
1746         else
1747                 AC_MSG_RESULT(no)
1748                 AC_MSG_ERROR("Plugin rssyl cannot be built; missing $dependencies_missing")
1749         fi
1750 else
1751         DISABLED_PLUGINS="$DISABLED_PLUGINS rssyl"
1752         AC_MSG_RESULT(no)
1755 AC_MSG_CHECKING([whether to build spamassassin plugin])
1756 if test x"$enable_spamassassin_plugin" != xno; then
1757         PLUGINS="$PLUGINS spamassassin"
1758         AC_MSG_RESULT(yes)
1759         AC_SPAMASSASSIN
1760 else
1761         DISABLED_PLUGINS="$DISABLED_PLUGINS spamassassin"
1762         AC_MSG_RESULT(no)
1765 AC_MSG_CHECKING([whether to build smime plugin])
1766 if test x"$enable_smime_plugin" != xno; then
1767         dependencies_missing=""
1769         if test x"$HAVE_GPGME" = xno; then
1770                 dependencies_missing="libgpgme $dependencies_missing"
1771         fi
1772         if test x"$enable_pgpcore_plugin" = xno; then
1773                 dependencies_missing="pgpcore plugin $dependencies_missing"
1774         fi
1776         if test x"$dependencies_missing" = x; then
1777                 PLUGINS="$PLUGINS smime"
1778                 AC_MSG_RESULT(yes)
1779         elif test x"$enable_smime_plugin" = xauto; then
1780                 AC_MSG_RESULT(no)
1781                 AC_MSG_WARN("Plugin smime will not be built; missing $dependencies_missing")
1782                 enable_smime_plugin=no
1783                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS smime"
1784         else
1785                 AC_MSG_RESULT(no)
1786                 AC_MSG_ERROR("Plugin smime cannot be built; missing $dependencies_missing")
1787         fi
1788 else
1789         DISABLED_PLUGINS="$DISABLED_PLUGINS smime"
1790         AC_MSG_RESULT(no)
1793 AC_MSG_CHECKING([whether to build spam_report plugin])
1794 if test x"$enable_spam_report_plugin" != xno; then
1795         dependencies_missing=""
1797         if test x"$HAVE_CURL" = xno; then
1798                 dependencies_missing="libcurl $dependencies_missing"
1799         fi
1801         if test x"$dependencies_missing" = x; then
1802                 PLUGINS="$PLUGINS spam_report"
1803                 AC_MSG_RESULT(yes)
1804         elif test x"$enable_spam_report_plugin" = xauto; then
1805                 AC_MSG_RESULT(no)
1806                 AC_MSG_WARN("Plugin spam_report will not be built; missing $dependencies_missing")
1807                 enable_spam_report_plugin=no
1808                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS spam_report"
1809         else
1810                 AC_MSG_RESULT(no)
1811                 AC_MSG_ERROR("Plugin spam_report cannot be built; missing $dependencies_missing")
1812         fi
1813 else
1814         DISABLED_PLUGINS="$DISABLED_PLUGINS spam_report"
1815         AC_MSG_RESULT(no)
1818 AC_MSG_CHECKING([whether to build tnef_parse plugin])
1819 if test x"$enable_tnef_parse_plugin" != xno; then
1820         PLUGINS="$PLUGINS tnef_parse"
1821         AC_MSG_RESULT(yes)
1822 else
1823         DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
1824         AC_MSG_RESULT(no)
1827 AC_MSG_CHECKING([whether to build vcalendar plugin])
1828 if test x"$enable_vcalendar_plugin" != xno; then
1829         dependencies_missing=""
1831         if test x"$HAVE_CURL" = xno; then
1832                 dependencies_missing="libcurl $dependencies_missing"
1833         fi
1835         if test x"$HAVE_PERL" = xno; then
1836                 dependencies_missing="perl $dependencies_missing"
1837         fi
1839         if test x"$dependencies_missing" = x; then
1840                 PLUGINS="$PLUGINS vcalendar"
1841                 AC_MSG_RESULT(yes)
1842         elif test x"$enable_vcalendar_plugin" = xauto; then
1843                 AC_MSG_RESULT(no)
1844                 AC_MSG_WARN("Plugin vcalendar will not be built; missing $dependencies_missing")
1845                 enable_vcalendar_plugin=no
1846                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS vcalendar"
1847         else
1848                 AC_MSG_RESULT(no)
1849                 AC_MSG_ERROR("Plugin vcalendar cannot be built; missing $dependencies_missing")
1850         fi
1851 else
1852         DISABLED_PLUGINS="$DISABLED_PLUGINS vcalendar"
1853         AC_MSG_RESULT(no)
1856 dnl And finally the automake conditionals.
1858 AM_CONDITIONAL(BUILD_ACPI_NOTIFIER_PLUGIN,      test x"$enable_acpi_notifier_plugin" != xno)
1859 AM_CONDITIONAL(BUILD_ADDRESS_KEEPER_PLUGIN,     test x"$enable_address_keeper_plugin" != xno)
1860 AM_CONDITIONAL(BUILD_ARCHIVE_PLUGIN,            test x"$enable_archive_plugin" != xno)
1861 AM_CONDITIONAL(BUILD_ATT_REMOVER_PLUGIN,        test x"$enable_att_remover_plugin" != xno)
1862 AM_CONDITIONAL(BUILD_ATTACHWARNER_PLUGIN,       test x"$enable_attachwarner_plugin" != xno)
1863 AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN,         test x"$enable_bogofilter_plugin" != xno)
1864 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,           test x"$enable_bsfilter_plugin" != xno)
1865 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,              test x"$enable_clamd_plugin" != xno)
1866 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,               test x"$enable_demo_plugin" != xno)
1867 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,              test x"$enable_fancy_plugin" != xno)
1868 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,          test x"$enable_fetchinfo_plugin" != xno)
1869 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,              test x"$enable_gdata_plugin" != xno)
1870 AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN,         test x"$enable_libravatar_plugin" != xno)
1871 AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN,           test x"$enable_mailmbox_plugin" != xno)
1872 AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN,                test x"$enable_managesieve_plugin" != xno)
1873 AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN,            test x"$enable_newmail_plugin" != xno)
1874 AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN,       test x"$enable_notification_plugin" != xno)
1875 AM_CONDITIONAL(BUILD_HOTKEYS,                   test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
1876 AM_CONDITIONAL(BUILD_PDF_VIEWER_PLUGIN,         test x"$enable_pdf_viewer_plugin" != xno)
1877 AM_CONDITIONAL(BUILD_PERL_PLUGIN,               test x"$enable_perl_plugin" != xno)
1878 AM_CONDITIONAL(BUILD_PYTHON_PLUGIN,             test x"$enable_python_plugin" != xno)
1879 AM_CONDITIONAL(BUILD_PGPCORE_PLUGIN,            test x"$enable_pgpcore_plugin" != xno)
1880 AM_CONDITIONAL(BUILD_PGPMIME_PLUGIN,            test x"$enable_pgpmime_plugin" != xno)
1881 AM_CONDITIONAL(BUILD_PGPINLINE_PLUGIN,          test x"$enable_pgpinline_plugin" != xno)
1882 AM_CONDITIONAL(BUILD_RSSYL_PLUGIN,              test x"$enable_rssyl_plugin" != xno)
1883 AM_CONDITIONAL(BUILD_SMIME_PLUGIN,              test x"$enable_smime_plugin" != xno)
1884 AM_CONDITIONAL(BUILD_SPAMASSASSIN_PLUGIN,       test x"$enable_spamassassin_plugin" != xno)
1885 AM_CONDITIONAL(BUILD_SPAM_REPORT_PLUGIN,        test x"$enable_spam_report_plugin" != xno)
1886 AM_CONDITIONAL(BUILD_TNEF_PARSE_PLUGIN,         test x"$enable_tnef_parse_plugin" != xno)
1887 AM_CONDITIONAL(BUILD_VCALENDAR_PLUGIN,          test x"$enable_vcalendar_plugin" != xno)
1890 dnl ****************************
1891 dnl ** Final configure output **
1892 dnl ****************************
1894 AC_OUTPUT([
1895 Makefile
1896 m4/Makefile
1897 po/Makefile.in
1898 src/common/version.h
1899 src/Makefile
1900 src/common/Makefile
1901 src/common/passcrypt.h
1902 src/gtk/Makefile
1903 src/etpan/Makefile
1904 src/plugins/Makefile
1905 src/plugins/acpi_notifier/Makefile
1906 src/plugins/address_keeper/Makefile
1907 src/plugins/archive/Makefile
1908 src/plugins/att_remover/Makefile
1909 src/plugins/attachwarner/Makefile
1910 src/plugins/bogofilter/Makefile
1911 src/plugins/bsfilter/Makefile
1912 src/plugins/clamd/Makefile
1913 src/plugins/clamd/libclamd/Makefile
1914 src/plugins/demo/Makefile
1915 src/plugins/fancy/Makefile
1916 src/plugins/fetchinfo/Makefile
1917 src/plugins/gdata/Makefile
1918 src/plugins/libravatar/Makefile
1919 src/plugins/mailmbox/Makefile
1920 src/plugins/managesieve/Makefile
1921 src/plugins/newmail/Makefile
1922 src/plugins/notification/Makefile
1923 src/plugins/notification/gtkhotkey/Makefile
1924 src/plugins/pdf_viewer/Makefile
1925 src/plugins/perl/Makefile
1926 src/plugins/perl/tools/Makefile
1927 src/plugins/python/Makefile
1928 src/plugins/python/examples/Makefile
1929 src/plugins/pgpcore/Makefile
1930 src/plugins/pgpmime/Makefile
1931 src/plugins/pgpinline/Makefile
1932 src/plugins/rssyl/Makefile
1933 src/plugins/rssyl/libfeed/Makefile
1934 src/plugins/smime/Makefile
1935 src/plugins/spamassassin/Makefile
1936 src/plugins/spam_report/Makefile
1937 src/plugins/tnef_parse/Makefile
1938 src/plugins/vcalendar/Makefile
1939 src/plugins/vcalendar/libical/Makefile
1940 src/plugins/vcalendar/libical/libical/icalversion.h
1941 src/plugins/vcalendar/libical/libical/Makefile
1942 src/plugins/vcalendar/libical/design-data/Makefile
1943 src/plugins/vcalendar/libical/scripts/Makefile
1944 doc/Makefile
1945 doc/man/Makefile
1946 tools/Makefile
1947 config/Makefile
1948 manual/Makefile
1949 manual/dtd/Makefile
1950 manual/dist/Makefile
1951 manual/dist/pdf/Makefile
1952 manual/dist/ps/Makefile
1953 manual/dist/html/Makefile
1954 manual/dist/txt/Makefile
1955 manual/fr/Makefile
1956 manual/fr/dist/Makefile
1957 manual/fr/dist/pdf/Makefile
1958 manual/fr/dist/ps/Makefile
1959 manual/fr/dist/html/Makefile
1960 manual/fr/dist/txt/Makefile
1961 manual/es/Makefile
1962 manual/es/dist/Makefile
1963 manual/es/dist/pdf/Makefile
1964 manual/es/dist/ps/Makefile
1965 manual/es/dist/html/Makefile
1966 manual/es/dist/txt/Makefile
1967 claws-mail.pc
1970 dnl Output the configuration summary
1971 echo ""
1972 echo "$PACKAGE $VERSION"
1973 echo ""
1974 if test x"$enable_alternate_addressbook" = xyes; then
1975         echo "Using Address Book : Alternate experimental interface"
1976 else
1977         echo "Using Address Book : Original stable interface"
1978         echo "JPilot             : $enable_jpilot"
1979         echo "LDAP               : $enable_ldap"
1981 echo "gnuTLS             : $enable_gnutls"
1982 echo "iconv              : $am_cv_func_iconv"
1983 echo "compface           : $enable_compface"
1984 echo "IPv6               : $enable_ipv6"
1985 echo "enchant            : $enable_enchant"
1986 echo "IMAP4              : $enable_libetpan"
1987 echo "NNTP               : $enable_libetpan"
1988 echo "Crash dialog       : $enable_crash_dialog"
1989 echo "LibSM              : $enable_libsm"
1990 echo "DBUS               : $enable_dbus"
1991 echo "NetworkManager     : $enable_networkmanager"
1992 echo "Manual             : $enable_manual"
1993 echo "Generic UMPC code  : $enable_generic_umpc"
1994 echo "Config dir         : $ac_cv_with_config_dir"
1995 echo "Password crypto    : $pwd_crypto"
1997 echo "Plugins"
1998 echo "   Built:"
1999 for plugin in $PLUGINS; do
2000 echo "            - $plugin"
2001 if test x"$plugin" = xnotification; then
2002         echo "                Features:"
2003         for notif_feature in $notification_features; do
2004                 echo "                    $notif_feature"
2005         done;
2006         if test "x$notification_missing_dependencies" != x; then
2007                 echo "                Disabled due to missing dependencies:"
2008                 for notif_miss_dep in $notification_missing_dependencies; do
2009                         echo "                    $notif_miss_dep"
2010                 done;
2011         fi
2013 done;
2014 if test "x$DISABLED_PLUGINS" != x; then
2015 echo "   Disabled:"
2016 for plugin in $DISABLED_PLUGINS; do
2017 echo "            - $plugin"
2018 done;
2021 if test "x$MISSING_DEPS_PLUGINS" != x; then
2022 echo "   Disabled due to missing dependencies:"
2023 for plugin in $MISSING_DEPS_PLUGINS; do
2024 echo "            - $plugin"
2025 done;
2027 echo ""
2028 echo "The binary will be installed in $prefix/bin"
2029 echo ""
2030 echo "Configure finished, type 'make' to build."