Don't call strncpy with mismatching length
[claws.git] / configure.ac
1
2 AC_PREREQ(2.59)
3 AC_INIT(src/main.c)
4 AC_CONFIG_AUX_DIR(config)
5 AC_CONFIG_MACRO_DIR([m4])
6
7 PACKAGE=claws-mail
8
9 dnl version number
10 INTERFACE_AGE=0
11 BINARY_AGE=0
12 EXTRA_RELEASE=
13 EXTRA_GTK2_VERSION=
14
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"`
25 fi
26
27 if test \( -z "$GIT_VERSION" \); then
28         AC_MSG_ERROR([*** could not determine program version])
29 fi
30
31 MAJOR_VERSION=${GIT_VERSION%%.*}
32 MINOR_VERSION=${GIT_VERSION#*.}
33 MINOR_VERSION=${MINOR_VERSION%%.*}
34 MICRO_VERSION=${GIT_VERSION##*.}
35 MICRO_VERSION=${MICRO_VERSION%%-*}
36 EXTRA_VERSION=${GIT_VERSION#*-}
37 EXTRA_VERSION=${EXTRA_VERSION%%-*}
38
39 if test \( "x$EXTRA_VERSION" != "x" -a `echo -n $EXTRA_VERSION | wc -c` -lt 5 \); then
40     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}git${EXTRA_VERSION}
41 else
42     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
43     EXTRA_VERSION=0
44 fi
45
46 if test \( "x$EXTRA_RELEASE" != "x" \); then
47     VERSION=${VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
48 fi
49
50 dnl set $target
51 AC_CANONICAL_SYSTEM
52
53 dnl
54 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
55 dnl AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
56 dnl AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
57 AC_SUBST(PACKAGE)
58 AC_SUBST(VERSION)
59 AC_SUBST(MAJOR_VERSION)
60 AC_SUBST(MINOR_VERSION)
61 AC_SUBST(MICRO_VERSION)
62 AC_SUBST(EXTRA_VERSION)
63 AC_SUBST(GIT_VERSION)
64
65 AC_CHECK_PROG(HAVE_GTK_ICON_CACHE, gtk-update-icon-cache, yes, no)
66 AM_CONDITIONAL(UPDATE_GTK_ICON_CACHE, test x"$HAVE_GTK_ICON_CACHE" = xyes)
67
68 dnl Require pkg-config
69 m4_ifndef([PKG_PROG_PKG_CONFIG],
70     [m4_fatal([Could not locate the pkg-config autoconf macros. These
71 are usually located in /usr/share/aclocal/pkg.m4. If your macros
72 are in a different location, try setting the environment variable
73 ACLOCAL_FLAGS before running ./autogen.sh or autoreconf again. E.g.:
74 export ACLOCAL_FLAGS="-I/other/macro/dir"])
75 ])
76 PKG_PROG_PKG_CONFIG
77
78 dnl libtool versioning
79 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
80 LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
81 LT_REVISION=$INTERFACE_AGE
82 LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
83 AC_SUBST(LT_RELEASE)
84 AC_SUBST(LT_CURRENT)
85 AC_SUBST(LT_REVISION)
86 AC_SUBST(LT_AGE)
87
88 dnl Specify a header configuration file
89 AC_CONFIG_HEADERS(config.h)
90 AC_CONFIG_HEADERS(claws-features.h)
91
92 AM_MAINTAINER_MODE
93
94 dnl Checks for programs.
95 dnl AC_ARG_PROGRAM
96 AC_PROG_CC
97 AC_ISC_POSIX
98 AC_PROG_INSTALL
99 AC_PROG_LN_S
100 AC_PROG_MAKE_SET
101 AC_PROG_CPP
102 dnl AC_PROG_RANLIB
103 AM_PROG_LEX
104 AC_PROG_YACC
105 AC_LIB_PREFIX
106 AC_LIBTOOL_WIN32_DLL
107 LT_INIT
108 LT_AC_PROG_RC
109 AC_LIBTOOL_RC
110 AC_PROG_LIBTOOL
111 AC_PROG_AWK
112
113 dnl AC_PROG_CXX will set CXX=g++ even if it finds no useable C++
114 dnl compiler, so we have to check whether the program named by
115 dnl CXX exists.
116 AC_PROG_CXX
117 AC_PATH_PROG(REAL_CXX, $CXX)
118 HAVE_CXX=no
119 if test -n "$REAL_CXX"; then
120         HAVE_CXX=yes
121 fi
122
123 AC_SYS_LARGEFILE
124
125 dnl ******************************
126 dnl Checks for host
127 dnl Not needed anymore because we
128 dnl do AC_CANONICAL_SYSTEM above
129 dnl ******************************
130 dnl AC_CANONICAL_HOST
131
132 dnl Copied from the official gtk+-2 configure.in
133 AC_MSG_CHECKING([for host platform])
134 case "$host" in
135   *-*-mingw*|*-*-cygwin*)
136     platform_win32=yes
137     LDFLAGS="$LDFLAGS -mwindows -Wl,--export-all-symbols"
138     ;;
139         *-apple-*)
140                 platform_osx=yes
141                 LDFLAGS="$LDFLAGS -Wl,-export_dynamic"
142                 ;;
143   *)
144     platform_win32=no
145                 platform_osx=no
146                 LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
147     ;;
148 esac
149 AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = x"yes")
150 AM_CONDITIONAL(PLATFORM_OSX, test x"$platform_osx" = x"yes")
151 AC_MSG_RESULT([$host])
152
153 AC_MSG_CHECKING([for native Win32])
154 case "$host" in
155   *-*-mingw*)
156     os_win32=yes
157     ;;
158   *)
159     os_win32=no
160     ;;
161 esac
162 AC_MSG_RESULT([$os_win32])
163 AM_CONDITIONAL(OS_WIN32, test x"$os_win32" = x"yes")
164
165 AC_MSG_CHECKING([for Cygwin])
166 case "$host" in
167   *-*-cygwin*)
168     env_cygwin=yes
169     ;;
170   *)
171     env_cygwin=no
172     ;;
173 esac
174 AC_MSG_RESULT([$env_cygwin])
175 AM_CONDITIONAL(CYGWIN, test x"$env_cygwin" = x"yes")
176
177 if test "$GCC" = "yes"
178 then
179         CFLAGS="$CFLAGS -Wno-unused-function"
180         #CFLAGS="-g -Wall -Wno-unused-function"
181 fi
182
183 AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
184 _gcc_cflags_save=$CFLAGS
185 CFLAGS="-Wno-pointer-sign"
186 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],_gcc_psign=yes,_gcc_psign=no)
187 AC_MSG_RESULT($_gcc_psign)
188 CFLAGS=$_gcc_cflags_save;
189 if test x"$_gcc_psign" = xyes ; then
190         CFLAGS="$CFLAGS -Wno-pointer-sign"
191 fi
192
193 CFLAGS="$CFLAGS -Wall -D_GNU_SOURCE"
194
195 if test $USE_MAINTAINER_MODE = yes; then
196         CFLAGS="$CFLAGS -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE"
197 fi
198
199 pthread_name=
200 case "$target" in
201 *-darwin*)
202         CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
203         ;;
204 *-*-mingw*)
205         # Note that we need to link to pthread in all cases. This
206         # is because some locking is used even when pthread support is
207         # disabled.
208         pthread_name=pthread
209         CFLAGS="$CFLAGS -mms-bitfields"
210         LIBS="$LIBS -l${pthread_name} -lws2_32 -lregex"
211         ;;
212 *-*-solaris*)
213         CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
214         CFLAGS="$CFLAGS -std=gnu99 -DSOLARIS"
215         ;;
216 esac
217
218 dnl Checks for iconv
219 AM_ICONV
220
221 dnl floor and ceil are  in -lm
222 LIBS="$LIBS -lm"
223
224 dnl
225 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
226 dnl
227 syl_save_LIBS=$LIBS
228 LIBS="$LIBS $GTK_LIBS"
229 AC_CHECK_FUNCS(bind_textdomain_codeset)
230 LIBS=$syl_save_LIBS
231
232 dnl for gettext
233 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"
234 GETTEXT_PACKAGE=claws-mail
235 AC_SUBST(GETTEXT_PACKAGE)
236 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
237
238 AM_GNU_GETTEXT_VERSION([0.18])
239 AM_GNU_GETTEXT([external])
240
241 AC_ARG_ENABLE(manual,
242                 [  --disable-manual                Do not build user manual],
243                 [enable_manual=$enableval], [enable_manual=yes])
244
245 AC_ARG_ENABLE(libsm,
246                 [  --disable-libsm                 Do not build libSM support for session management],
247                 [enable_libsm=$enableval], [enable_libsm=yes])
248
249 AC_ARG_ENABLE(ipv6,
250                 [  --disable-ipv6                  Do not build IPv6 support],
251                 [enable_ipv6=$enableval], [enable_ipv6=yes])
252
253 AC_ARG_ENABLE(gnutls,
254                 [  --disable-gnutls                Do not build GnuTLS support for SSL/TLS],
255                     [enable_gnutls=$enableval], [enable_gnutls=yes])
256
257 AC_ARG_ENABLE(enchant,
258                 [  --disable-enchant               Do not build Enchant support for spell-checking],
259                 [enable_enchant=$enableval], [enable_enchant=yes])
260
261 AC_ARG_ENABLE(crash-dialog,
262                 [  --enable-crash-dialog           Build crash dialog],
263                 [enable_crash_dialog=$enableval], [enable_crash_dialog=no])
264
265 AC_ARG_ENABLE(generic-umpc,
266                 [  --enable-generic-umpc           Build generic UMPC code],
267                 [enable_generic_umpc=$enableval], [enable_generic_umpc=no])
268
269 AC_ARG_ENABLE(compface,
270                 [  --disable-compface              Do not build compface support for X-Face],
271                 [enable_compface=$enableval], [enable_compface=yes])
272
273 AC_ARG_ENABLE(pthread,
274                 [  --disable-pthread               Do not build pthread support],
275                 [enable_pthread=$enableval], [enable_pthread=yes])
276
277 AC_ARG_ENABLE(startup-notification,
278                 [  --disable-startup-notification  Do not startup notification support],
279                 [enable_startup_notification=$enableval], [enable_startup_notification=yes])
280
281 AC_ARG_ENABLE(dbus,
282                 [  --disable-dbus                  Do not build DBUS support],
283                 [enable_dbus=$enableval], [enable_dbus=yes])
284
285 AC_ARG_ENABLE(ldap,
286                 [  --disable-ldap                  Do not build LDAP support],
287                 [enable_ldap=$enableval], [enable_ldap=yes])
288
289 AC_ARG_ENABLE(jpilot,
290                 [  --disable-jpilot                Do not build JPilot support],
291                 [enable_jpilot=$enableval], [enable_jpilot=yes])
292
293 AC_ARG_ENABLE(networkmanager,
294                 [  --disable-networkmanager        Do not build NetworkManager support],
295                 [enable_networkmanager=$enableval], [enable_networkmanager=yes])
296
297 AC_ARG_ENABLE(libetpan,
298                 [  --disable-libetpan              Do not build libetpan support for IMAP4/NNTP],
299                 [enable_libetpan=$enableval], [enable_libetpan=yes])
300
301 AC_ARG_ENABLE(valgrind,
302                 [  --disable-valgrind              Do not build valgrind support for debugging],
303                 [enable_valgrind=$enableval], [enable_valgrind=yes])
304
305 AC_ARG_ENABLE(alternate-addressbook,
306                 [  --enable-alternate-addressbook  Build alternate external address book support],
307                 [enable_alternate_addressbook=$enableval], [enable_alternate_addressbook=no])
308
309 AC_ARG_ENABLE(svg,
310         [  --disable-svg                   Do not build SVG support],
311         [enable_svg=$enableval], [enable_svg=yes])
312
313 AC_ARG_ENABLE(tests,
314                                 [  --enable-tests                   Build unit tests],
315                                 [enable_tests=$enableval], [enable_tests=no])
316
317 manualdir='${docdir}/manual'
318 AC_ARG_WITH(manualdir,
319         [  --with-manualdir=DIR    Manual directory],
320         [manualdir="$withval"])
321 AC_SUBST(manualdir)
322
323 dnl ******************************
324 dnl ** Check for required tools **
325 dnl ** to build manuals         **
326 dnl ******************************
327
328 AC_PATH_PROG(DOCBOOK2HTML, docbook2html)
329 AC_PATH_PROG(DOCBOOK2TXT, docbook2txt)
330 AC_PATH_PROG(DOCBOOK2PS, docbook2ps)
331 AC_PATH_PROG(DOCBOOK2PDF, docbook2pdf)
332
333 AM_CONDITIONAL(MANUAL_HTML, test -n "$DOCBOOK2HTML")
334 AM_CONDITIONAL(MANUAL_TXT, test -n "$DOCBOOK2TXT")
335 AM_CONDITIONAL(MANUAL_PDF, test -n "$DOCBOOK2PDF")
336 AM_CONDITIONAL(MANUAL_PS, test -n "$DOCBOOK2PS")
337
338 if test x"$enable_manual" = x"yes"; then
339     if test -n "$DOCBOOK2TXT" -o -n "$DOCBOOK2HTML" \
340         -o -n "$DOCBOOK2PS" -o -n "$DOCBOOK2PDF"; then
341             enable_manual=yes
342         else
343             enable_manual=no
344     fi
345 fi
346
347 AM_CONDITIONAL(BUILD_MANUAL, test x"$enable_manual" = xyes)
348
349 dnl Set PACKAGE_DATA_DIR in config.h.
350 if test "x${datarootdir}" = 'x${prefix}/share'; then
351         if test "x${prefix}" = "xNONE"; then
352                 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}",[PACKAGE_DATA_DIR])
353         else
354                 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}",[PACKAGE_DATA_DIR])
355         fi
356 else
357         AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datarootdir}/${PACKAGE}",[PACKAGE_DATA_DIR])
358 fi
359
360 AC_CHECK_LIB(xpg4, setlocale)
361
362 SM_LIBS=""
363 dnl Check for LibSM
364 AC_MSG_CHECKING([whether to use LibSM])
365 if test x"$enable_libsm" = xyes; then
366         AC_MSG_RESULT(yes)
367         AC_CHECK_LIB(SM, SmcSaveYourselfDone,
368                 [SM_LIBS="$X_LIBS -lSM -lICE"],enable_libsm=no,
369                 $X_LIBS -lICE)
370         AC_CHECK_HEADERS(X11/SM/SMlib.h,,enable_libsm=no)
371         if test x"$enable_libsm" = xyes; then
372                 AC_DEFINE(HAVE_LIBSM, 1, [Define to 1 if you have libSM installed])
373         else
374                 AC_MSG_RESULT(not found)
375                 AC_MSG_WARN([*** LibSM will not be supported ***])
376         fi
377 else
378         AC_MSG_RESULT(no)
379 fi
380 AC_SUBST(SM_LIBS)
381
382 dnl Check for d_type member in struct dirent
383 AC_MSG_CHECKING([whether struct dirent has d_type member])
384 AC_CACHE_VAL(ac_cv_dirent_d_type,[
385         AC_TRY_COMPILE([#include <dirent.h>],
386                        [struct dirent d; d.d_type = DT_REG;],
387                        ac_cv_dirent_d_type=yes, ac_cv_dirent_d_type=no)
388 ])
389 AC_MSG_RESULT($ac_cv_dirent_d_type)
390 if test $ac_cv_dirent_d_type = yes; then
391         AC_DEFINE(HAVE_DIRENT_D_TYPE, 1,
392                   Define if `struct dirent' has `d_type' member.)
393 fi
394
395 # Check whether mkdir does not take the permission argument.
396 GNUPG_FUNC_MKDIR_TAKES_ONE_ARG
397
398 dnl Checks for header files.
399 AC_HEADER_DIRENT
400 AC_HEADER_STDC
401 AC_HEADER_SYS_WAIT
402 AC_CHECK_HEADERS(fcntl.h sys/file.h unistd.h paths.h \
403                  sys/param.h sys/utsname.h sys/select.h \
404                  wchar.h wctype.h locale.h netdb.h)
405 AC_CHECK_HEADER([execinfo.h], [AC_DEFINE(HAVE_BACKTRACE,1,[Has backtrace*() needed for retrieving stack traces])])
406 AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
407
408 dnl Checks for typedefs, structures, and compiler characteristics.
409 AC_C_CONST
410 AC_TYPE_OFF_T
411 AC_TYPE_PID_T
412 AC_TYPE_SIZE_T
413 AC_STRUCT_TM
414
415 dnl AC_CHECK_TYPE(wint_t, unsigned int) does not work because wint_t
416 dnl may be defined only in wchar.h (this happens with gcc-2.96).
417 dnl So we need to use this extended macro.
418 CLAWS_CHECK_TYPE(wint_t, unsigned int,
419 [
420 #if HAVE_WCHAR_H
421 #include <wchar.h>
422 #endif
423 ], Define to `unsigned int' if <stddef.h> or <wchar.h> doesn't define.)
424
425 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF, Used to test for a u32 typedef)
426 AC_CHECK_SIZEOF(unsigned short, 2)
427 AC_CHECK_SIZEOF(unsigned int, 4)
428 AC_CHECK_SIZEOF(unsigned long, 4)
429
430 dnl Checks for library functions.
431 AC_FUNC_ALLOCA
432 AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr strcasestr \
433                uname flock lockf inet_aton inet_addr \
434                fchmod mkstemp truncate getuid regcomp)
435
436 AC_CHECK_FUNCS(fgets_unlocked fgetc_unlocked fputs_unlocked fputc_unlocked fread_unlocked fwrite_unlocked feof_unlocked ferror_unlocked fmemopen)
437
438 dnl *****************
439 dnl ** common code **
440 dnl *****************
441
442 dnl check for glib
443 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.28 gmodule-2.0 >= 2.28 gobject-2.0 >= 2.28 gthread-2.0 >= 2.28])
444
445 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
446 AC_SUBST(GLIB_GENMARSHAL)
447
448 AC_SUBST(GLIB_CFLAGS)
449 AC_SUBST(GLIB_LIBS)
450
451 PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0 >= 2.26])
452
453 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
454 syl_save_LIBS=$LIBS
455 LIBS="$LIBS $GTK_LIBS"
456 AC_CHECK_FUNCS(bind_textdomain_codeset)
457 LIBS=$syl_save_LIBS
458
459 dnl check for IPv6 option
460 dnl automated checks for IPv6 support.
461 AC_MSG_CHECKING([whether to use IPv6])
462 if test x"$enable_ipv6" = xyes; then
463         AC_MSG_RESULT(yes)
464         AC_MSG_CHECKING([for IPv6 support])
465         if test x"$platform_win32" = xyes; then
466                 AC_CACHE_VAL(ac_cv_ipv6,[
467                         AC_TRY_COMPILE([
468                                         #include <ws2tcpip.h>
469                                 ], [struct in6_addr a;],
470                                 ac_cv_ipv6=yes, ac_cv_ipv6=no)
471                 ])
472         else
473                 AC_CACHE_VAL(ac_cv_ipv6,[
474                         AC_TRY_COMPILE([
475                                         #define INET6
476                                         #include <sys/types.h>
477                                         #include <netinet/in.h>
478                                 ], [int x = IPPROTO_IPV6; struct in6_addr a;],
479                                 ac_cv_ipv6=yes, ac_cv_ipv6=no)
480                 ])
481         fi
482         AC_MSG_RESULT($ac_cv_ipv6)
483         if test $ac_cv_ipv6 = yes; then
484                 AC_DEFINE(INET6, 1, Define if you want IPv6 support.)
485         else
486                 AC_MSG_WARN(*** IPv6 will not be supported ***)
487                 enable_ipv6=no
488         fi
489 else
490         AC_MSG_RESULT(no)
491 fi
492
493 dnl GNUTLS
494 AC_MSG_CHECKING([whether to use GnuTLS])
495 AC_MSG_RESULT($enable_gnutls)
496 if test "x$enable_gnutls" != "xno"; then
497         PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.2,
498         [
499                 AC_DEFINE(USE_GNUTLS, 1, gnutls)
500                 echo "Building with GnuTLS"
501                 PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11,
502                 [
503                         dnl No linking against libgcrypt needed
504                 ],
505                 [
506                         dnl linking against libgcrypt *is* needed
507                         GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
508                 ])
509         ],
510         [
511                 echo "Building without GnuTLS"
512                 AC_MSG_RESULT([*** GnuTLS support is recommended ])
513                 AC_MSG_RESULT([*** You can use --disable-gnutls if you don't need it.])
514                 AC_MSG_ERROR([GnuTLS not found])
515         ])
516         AC_SUBST(GNUTLS_LIBS)
517         AC_SUBST(GNUTLS_CFLAGS)
518 fi
519
520 PKG_CHECK_MODULES(NETTLE, nettle)
521 AC_SUBST(NETTLE_LIBS)
522
523 AC_ARG_WITH(passcrypt-key, [  --with-passcrypt-key=KEY     Key used to encode passwords (8 byte string)],
524             with_passcrypt_key="$withval", with_passcrypt_key="passkey0")
525 AC_SUBST(PASSCRYPT_KEY, $with_passcrypt_key)
526
527 dnl RC dir (will be default at a certain point in time)
528 AC_ARG_WITH(config-dir,    [  --with-config-dir=RCDIR      Local configuration dir (default: .claws-mail)],
529               ac_cv_with_config_dir="$withval", ac_cv_with_config_dir="")
530
531 dnl Set correct default value based on platform
532 if test x"$ac_cv_with_config_dir" = x""; then
533         if test x"$platform_win32" = xyes; then
534                 ac_cv_with_config_dir="Claws-mail"
535         else
536                 ac_cv_with_config_dir=".claws-mail"
537         fi
538 fi
539 AC_DEFINE_UNQUOTED(CFG_RC_DIR, "$ac_cv_with_config_dir", Configuration directory)
540
541 AC_ARG_WITH(password-encryption, [  --with-password-encryption=PROVIDER    Which cryptographic library to use for encrypting stored passwords (gnutls, old, default)],
542                                                 pwd_crypto="$withval", pwd_crypto="default")
543
544 if test x"$pwd_crypto" = xdefault; then
545         if test x"$enable_gnutls" = xyes; then
546                 if `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
547                         pwd_crypto="gnutls"
548                 fi
549         fi
550 fi
551 if test x"$pwd_crypto" = xdefault; then
552         pwd_crypto="old"
553 fi
554
555 case $pwd_crypto in
556         gnutls)
557                 if test x"$enable_gnutls" = xno; then
558                         AC_MSG_ERROR([GnuTLS password encryption requested but GnuTLS is not available.])
559                 fi
560                 if ! `$PKG_CONFIG --atleast-version=3.0 gnutls`; then
561                         AC_MSG_ERROR([GnuTLS version at least 3.0 is required for password encryption.])
562                 fi
563                 AC_DEFINE(PASSWORD_CRYPTO_GNUTLS, 1, Use GnuTLS for stored password encryption)
564                 ;;
565         old)
566                 AC_DEFINE(PASSWORD_CRYPTO_OLD, 1, Use old insecure method for stored password encryption)
567                 ;;
568         *)
569                 AC_MSG_ERROR([Unknown password encryption provider requested.])
570                 ;;
571 esac
572
573
574 dnl ************************
575 dnl ** GTK user interface **
576 dnl ************************
577
578 dnl Checks for GTK
579 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.24)
580 AC_ARG_ENABLE(deprecated,
581                 [  --disable-deprecated            Disable deprecated GTK functions],
582                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
583
584 dnl Make sure the code does not regress to using deprecated GTK stuff...
585 GTK_CFLAGS="$GTK_CFLAGS -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE"
586
587 AC_SUBST(GTK_CFLAGS)
588 AC_SUBST(GTK_LIBS)
589
590 dnl enchant is used for spell checking
591 AC_MSG_CHECKING([whether to use enchant])
592 AC_MSG_RESULT($enable_enchant)
593 if test $enable_enchant = yes; then
594         PKG_CHECK_MODULES(ENCHANT, enchant >= 1.4.0,
595         [
596                 AC_DEFINE(USE_ENCHANT, 1, enchant)
597                 echo "Building with enchant"
598                 enable_enchant=yes
599         ],
600         [
601                 PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0,
602                 [
603                         AC_DEFINE(USE_ENCHANT, 1, enchant-2)
604                         echo "Building with enchant-2"
605                         enable_enchant=yes
606                 ],
607                 [
608                         echo "Building without enchant-notification"
609                         enable_enchant=no
610                 ])
611         ])
612         AC_SUBST(ENCHANT_CFLAGS)
613         AC_SUBST(ENCHANT_LIBS)
614 fi
615
616 dnl want crash dialog
617 if test $enable_crash_dialog = yes; then
618 dnl check if GDB is somewhere
619         AC_CHECK_PROG(enable_crash_dialog, gdb, yes, no)
620         AC_MSG_CHECKING([whether to use crash dialog])
621         if test $enable_crash_dialog = yes; then
622                 AC_DEFINE(CRASH_DIALOG, 1, Pop up crash dialog)
623         fi
624         AC_MSG_RESULT($enable_crash_dialog)
625 fi
626
627 dnl generic umpc
628 if test $enable_generic_umpc = yes; then
629         AC_DEFINE(GENERIC_UMPC, 1, Generic UMPC code)
630         AC_MSG_RESULT($enable_generic_umpc)
631 fi
632
633 dnl Check for X-Face support
634 AC_MSG_CHECKING([whether to use compface])
635 if test x"$enable_compface" = xyes; then
636         AC_MSG_RESULT(yes)
637         AC_CHECK_LIB(compface, uncompface,
638                 [AC_DEFINE(HAVE_LIBCOMPFACE, 1, Define if you want compface support.)],
639                 [enable_compface=no])
640         if test x"$enable_compface" = xyes; then
641                 COMPFACE_LIBS="-lcompface"
642         else
643                 COMPFACE_LIBS=""
644         fi
645         AC_SUBST(COMPFACE_LIBS)
646 else
647         AC_MSG_RESULT(no)
648 fi
649
650 dnl check for pthread support
651 AC_MSG_CHECKING([whether to use pthread])
652 if test x$enable_pthread = xno; then
653         AC_MSG_RESULT(no)
654 else
655         AC_MSG_RESULT(yes)
656
657         # For W32 we need to use a special ptrhead lib. In this case we can't
658         # use AC_CHECK_LIB because it has no means of checking for a
659         # library installed under a different name.  Checking for the
660         # header is okay.
661         if test -n "${pthread_name}" ; then
662            enable_pthread=yes
663         else
664         AC_CHECK_LIB(pthread, pthread_create, :, enable_pthread=no)
665         fi
666         AC_CHECK_HEADERS(pthread.h, :, enable_pthread=no)
667
668         if test x$enable_pthread = xyes; then
669                 AC_DEFINE(USE_PTHREAD, 1, Define if you have pthread)
670                 if test -z "${pthread_name}" ; then
671                 PTHREAD_LIBS="-lpthread"
672         fi
673         fi
674
675 fi
676 AC_SUBST(PTHREAD_LIBS)
677
678 dnl
679 dnl Check whether we need to pass -lresolv
680 dnl We know that we don't need it for W32.
681 dnl
682 if test x$os_win32 = xno; then
683   t_oldLibs="$LIBS"
684   LIBS="$LIBS"
685   ac_cv_var__res_options=no
686   AC_TRY_LINK([#include <sys/types.h>
687              #include <sys/socket.h>
688              #include <netinet/in.h>
689              #include <arpa/nameser.h>
690              #include <resolv.h>],
691                 [_res.options = RES_INIT;],
692                 ac_cv_var__res_options=yes);
693   if test "$ac_cv_var__res_options" != "yes"; then
694         LIBRESOLV="-lresolv"
695   fi
696   LIBS="$t_oldLibs"
697
698   if test "x$LIBRESOLV" = "x"; then
699         AC_CHECK_LIB(resolv, res_query, [LIBRESOLV=-lresolv])
700         LIBS="$t_oldLibs"
701   fi
702 fi
703 AC_SUBST(LIBRESOLV)
704
705 LIBS="$LIBS $LIBRESOLV"
706
707 dnl #######################################################################
708 dnl # Check for startup notification
709 dnl #######################################################################
710 if test "x$enable_startup_notification" = "xyes"; then
711         PKG_CHECK_MODULES(STARTUP_NOTIFICATION, libstartup-notification-1.0 >= 0.5,
712         [
713                 AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, [Define if we're using libstartup-notification.])
714                 echo "Building with libstartup-notification"
715                 enable_startup_notification=yes
716         ],
717         [
718                 echo "Building without libstartup-notification"
719                 enable_startup_notification=no
720         ])
721
722         AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
723         AC_SUBST(STARTUP_NOTIFICATION_LIBS)
724 fi
725
726 dnl #######################################################################
727 dnl # Check for D-Bus support
728 dnl #######################################################################
729 if test "x$enable_dbus" = "xyes"; then
730         PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
731         [
732                 AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
733                 enable_dbus=yes
734         ],
735         [
736                 echo "D-Bus requirements not met. D-Bus support not activated."
737                 enable_dbus=no
738         ])
739         AC_SUBST(DBUS_CFLAGS)
740         AC_SUBST(DBUS_LIBS)
741 fi
742
743 dnl #######################################################################
744 dnl # Configure address book support
745 dnl #######################################################################
746
747 dnl #######################################################################
748 dnl # Check for alternate address book support
749 dnl #######################################################################
750 AC_MSG_CHECKING([whether DBUS support for alternate address book is present])
751 if test x"$enable_dbus" = xyes; then
752         AC_MSG_RESULT([yes])
753         AC_MSG_CHECKING([whether to enable alternate address book])
754         if test x"$enable_alternate_addressbook" = xyes; then
755                 AC_MSG_RESULT([yes])
756                 PKG_CHECK_MODULES(CONTACTS, [claws-contacts],
757                 [
758                         AC_DEFINE(USE_ALT_ADDRBOOK, 1, [Define if alternate address book is to be activated.])
759                         enable_alternate_addressbook=yes
760                         AC_SUBST(CONTACTS_CFLAGS)
761                         AC_SUBST(CONTACTS_LIBS)
762                 ],
763                 [
764                         enable_alternate_addressbook=no
765                 ])
766         else
767                 AC_MSG_RESULT([no])
768                 enable_alternate_addressbook=no
769         fi
770 else
771         AC_MSG_RESULT([no])
772         enable_alternate_addressbook=no
773 fi
774
775 dnl #######################################################################
776 dnl # Check for old address book support
777 dnl #######################################################################
778 if test x"$enable_alternate_addressbook" = xno; then
779         dnl for LDAP support in addressbook
780         dnl no check for libraries; dynamically loaded
781         AC_MSG_CHECKING([whether to use LDAP])
782         if test x"$enable_ldap" = xno; then
783                 AC_MSG_RESULT(no)
784         elif test x"$enable_ldap" = xyes -a x"$enable_pthread" = xno; then
785                 AC_MSG_RESULT(no - LDAP support needs pthread support)
786
787                 enable_ldap=no
788         elif test x"$platform_win32" = xyes; then
789                 AC_MSG_RESULT(yes)
790                 AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
791                 LDAP_LIBS="-lwldap32"
792                 AC_SUBST(LDAP_LIBS)
793         else
794                 AC_MSG_RESULT(yes)
795
796                 dnl check for available libraries, and pull them in
797                 AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv")
798                 AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket")
799                 AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl")
800                 AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",,
801                                  $LDAP_LIBS)
802
803                 AC_CHECK_HEADERS(ldap.h lber.h,
804                                  [ enable_ldap=yes ],
805                                  [ enable_ldap=no ])
806
807                 if test "$enable_ldap" = yes; then
808                         AC_CHECK_LIB(ldap, ldap_open,
809                                          [ enable_ldap=yes ],
810                                          [ enable_ldap=no ],
811                                          $LDAP_LIBS)
812
813                         AC_CHECK_LIB(ldap, ldap_start_tls_s,
814                                              [ ac_cv_have_tls=yes ],
815                                              [ ac_cv_have_tls=no ])
816
817                 fi
818
819                 AC_MSG_CHECKING([whether ldap library is available])
820                 AC_MSG_RESULT($enable_ldap)
821
822                 AC_MSG_CHECKING([whether TLS library is available])
823                 AC_MSG_RESULT($ac_cv_have_tls)
824
825                 if test "$enable_ldap" = yes; then
826                         AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
827                         LDAP_LIBS="$LDAP_LIBS -lldap"
828                         AC_SUBST(LDAP_LIBS)
829                         if test "$ac_cv_have_tls" = yes; then
830                                 AC_DEFINE(USE_LDAP_TLS, 1, Define if you want LDAP TLS support in addressbook.)
831                         fi
832                         dnl As of OpenLDAP API version 3000 a number of functions has
833                         dnl been deprecated. As Claws-mail compiles and runs on many
834                         dnl platforms and many versions of OpenLDAP we need to be able
835                         dnl to switch between the old and new API because new API has
836                         dnl added new functions replacing old ones and at the same time
837                         dnl old functions has been changed.
838                         dnl If cross-compiling defaults to enable deprecated features
839                         dnl for maximum portability
840                         AC_MSG_CHECKING([The API version of OpenLDAP])
841                         AC_RUN_IFELSE(
842                                 [AC_LANG_PROGRAM(
843                                  [#include <ldap.h>],
844                                  [if (LDAP_API_VERSION >= 3000)
845                                                 return 1
846                                 ])],
847                                 [AC_MSG_RESULT([version < 3000])
848                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)],
849                                 [AC_MSG_RESULT([version >= 3000])
850                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 1, Define if OpenLDAP API is at least version 3000.)],
851                                 [AC_MSG_RESULT([Enabling deprecated features in OpenLDAP])
852                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)
853                                  AC_DEFINE(LDAP_DEPRECATED, 1, Define to activate deprecated features in OpenLDAP)]
854                         )
855                 fi
856         fi
857
858         dnl for JPilot support in addressbook
859         dnl no check for libraries; these are dynamically loaded
860         AC_MSG_CHECKING([whether to use JPilot])
861         if test "$enable_jpilot" = yes; then
862                 AC_MSG_RESULT(yes)
863                 AC_CHECK_HEADERS(pi-args.h pi-appinfo.h pi-address.h pi-version.h,
864                                  [ AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ],
865                                  [ enable_jpilot=no ])
866                 if test "$enable_jpilot" = no; then
867                         AC_CHECK_HEADERS(libpisock/pi-args.h libpisock/pi-appinfo.h libpisock/pi-address.h libpisock/pi-version.h,
868                                          [ enable_jpilot=yes
869                                            AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ])
870                 fi
871
872                 AC_CHECK_LIB(pisock, unpack_Address, [JPILOT_LIBS="-lpisock"], [JPILOT_LIBS="" enable_jpilot="no"])
873                 if test x"$enable_jpilot" = xyes; then
874                         AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.)
875                 else
876                         AC_MSG_NOTICE([JPilot support not available])
877                 fi
878                 AC_SUBST(JPILOT_LIBS)
879         else
880                 AC_MSG_RESULT(no)
881         fi
882 fi
883
884 AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes")
885
886 dnl #######################################################################
887 dnl # Check for NetworkManager support
888 dnl #######################################################################
889 if test x"$enable_dbus" = xyes; then
890         if test x"$enable_networkmanager" = xyes; then
891                 PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, libnm,
892                 [
893                         AC_DEFINE(HAVE_NETWORKMANAGER_SUPPORT, 1, [Define if NetworkManager support is to be included.])
894                         echo "Building with NetworkManager support"
895                         enable_networkmanager=yes
896                 ],
897                 [
898                         echo "NetworkManager not found."
899                         enable_networkmanager=no
900                 ])
901                 AC_SUBST(NETWORKMANAGER_SUPPORT_CFLAGS)
902         fi
903 else
904         echo "NetworkManager support deactivated as D-Bus requirements were not met."
905         enable_networkmanager=no
906 fi
907
908 dnl Libetpan
909 AC_MSG_CHECKING([whether to use libetpan])
910 if test x"$enable_libetpan" = xyes; then
911         AC_MSG_RESULT(yes)
912         libetpan_result=no
913         AC_PATH_PROG(libetpanconfig, [libetpan-config])
914         if test "x$libetpanconfig" != "x"; then
915           CPPFLAGS="$CPPFLAGS `$libetpanconfig --cflags 2>/dev/null`"
916           AC_CHECK_HEADER(libetpan/libetpan.h, [libetpan_result=yes])
917           if test "x$libetpan_result" = "xyes"; then
918             AC_MSG_CHECKING([whether libetpan-config hints compiles and links fine])
919             LIBS="$LIBS `$libetpanconfig --libs 2>/dev/null`"
920             AC_TRY_LINK([#include <libetpan/dbstorage.h>], [db_mailstorage_init(NULL, NULL);], [libetpan_result=yes], [libetpan_result=no])
921             AC_MSG_RESULT([$libetpan_result])
922           fi
923         fi
924         if test "x$libetpan_result" = "xyes"; then
925            LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
926            LIBETPAN_LIBS="`$libetpanconfig --libs`"
927            LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 100) + $2}'`
928            if test "$LIBETPAN_VERSION" -lt "57"; then
929                 AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/])
930                 AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
931                 AC_MSG_ERROR([libetpan 0.57 not found])
932            fi
933            AC_SUBST(LIBETPAN_FLAGS)
934            AC_SUBST(LIBETPAN_LIBS)
935            AC_DEFINE(HAVE_LIBETPAN, 1, Define if you want IMAP and/or NNTP support.)
936         else
937            AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/ ])
938            AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
939            AC_MSG_ERROR([libetpan 0.57 not found])
940         fi
941 else
942         AC_MSG_RESULT(no)
943 fi
944 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
945
946 dnl librsvg
947 AC_MSG_CHECKING([whether to use librsvg])
948 if test x"$enable_svg" = xyes; then
949         AC_MSG_RESULT(yes)
950     PKG_CHECK_MODULES([SVG], [librsvg-2.0 >= 2.39.0 cairo >= 1.0.0],
951     [
952         AC_SUBST(SVG_CFLAGS)
953         AC_SUBST(SVG_LIBS)
954                 AC_DEFINE(HAVE_SVG, 1, [Define if librsvg2 is available for SVG support])
955                 enable_svg=yes
956         ],
957         [
958                 AC_MSG_NOTICE([SVG support deactivated as librsvg2 >= 2.39.0 was not found])
959                 enable_svg=no
960         ])
961 else
962         AC_MSG_RESULT(no)
963 fi
964
965 AC_MSG_CHECKING([whether to use valgrind])
966 if test x$enable_valgrind = xyes; then
967         AC_MSG_RESULT(yes)
968         PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
969                           enable_valgrind=yes, enable_valgrind=no)
970         if test x"$enable_valgrind" = xyes; then
971                 AC_DEFINE(HAVE_VALGRIND, 1, Define if you want valgrind support)
972         else
973                 AC_MSG_RESULT(not found)
974         fi
975 else
976         AC_MSG_RESULT(no)
977 fi
978 AM_CONDITIONAL(CLAWS_VALGRIND, test x"$enable_valgrind" = x"yes")
979
980 AC_MSG_CHECKING([whether to build unit tests])
981 if test x$enable_tests = xyes; then
982         AC_MSG_RESULT(yes)
983 else
984         AC_MSG_RESULT(no)
985 fi
986 AM_CONDITIONAL(BUILD_TESTS, test "x$enable_tests" = "xyes")
987
988 dnl *************************
989 dnl ** section for plugins **
990 dnl *************************
991
992 PLUGINS=""
993 DISABLED_PLUGINS=""
994 MISSING_DEPS_PLUGINS=""
995
996 dnl First we set the enabled status - either enabled (yes), auto-enabled (auto)
997 dnl or (auto-)disabled (no for both)
998 dnl
999 dnl All plugins are auto-enabled except for Demo which is just there to help
1000 dnl potential plugins writers.
1001
1002 AC_ARG_ENABLE(acpi_notifier-plugin,
1003                 [  --disable-acpi_notifier-plugin  Do not build acpi_notifier plugin],
1004                 [enable_acpi_notifier_plugin=$enableval], [enable_acpi_notifier_plugin=auto])
1005
1006 AC_ARG_ENABLE(address_keeper-plugin,
1007                 [  --disable-address_keeper-plugin Do not build address_keeper plugin],
1008                 [enable_address_keeper_plugin=$enableval], [enable_address_keeper_plugin=auto])
1009
1010 AC_ARG_ENABLE(archive-plugin,
1011                 [  --disable-archive-plugin        Do not build archive plugin],
1012                 [enable_archive_plugin=$enableval], [enable_archive_plugin=auto])
1013
1014 AC_ARG_ENABLE(att_remover-plugin,
1015                 [  --disable-att_remover-plugin    Do not build att_remover plugin],
1016                 [enable_att_remover_plugin=$enableval], [enable_att_remover_plugin=auto])
1017
1018 AC_ARG_ENABLE(attachwarner-plugin,
1019                 [  --disable-attachwarner-plugin   Do not build attachwarner plugin],
1020                 [enable_attachwarner_plugin=$enableval], [enable_attachwarner_plugin=auto])
1021
1022 AC_ARG_ENABLE(bogofilter-plugin,
1023                 [  --disable-bogofilter-plugin     Do not build bogofilter plugin],
1024                 [enable_bogofilter_plugin=$enableval], [enable_bogofilter_plugin=auto])
1025
1026 AC_ARG_ENABLE(bsfilter-plugin,
1027                 [  --disable-bsfilter-plugin       Do not build bsfilter plugin],
1028                 [enable_bsfilter_plugin=$enableval], [enable_bsfilter_plugin=auto])
1029
1030 AC_ARG_ENABLE(clamd-plugin,
1031                 [  --disable-clamd-plugin          Do not build clamd plugin],
1032                 [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
1033
1034 AC_ARG_ENABLE(dillo-plugin,
1035                 [  --disable-dillo-plugin          Do not build dillo plugin],
1036                 [enable_dillo_plugin=$enableval], [enable_dillo_plugin=auto])
1037
1038 AC_ARG_ENABLE(fancy-plugin,
1039                 [  --disable-fancy-plugin          Do not build fancy plugin],
1040                 [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
1041
1042 AC_ARG_ENABLE(fetchinfo-plugin,
1043                 [  --disable-fetchinfo-plugin      Do not build fetchinfo plugin],
1044                 [enable_fetchinfo_plugin=$enableval], [enable_fetchinfo_plugin=auto])
1045
1046 AC_ARG_ENABLE(gdata-plugin,
1047                 [  --disable-gdata-plugin          Do not build gdata plugin],
1048                 [enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
1049
1050 AC_ARG_ENABLE(libravatar-plugin,
1051                 [  --disable-libravatar-plugin     Do not build libravatar  plugin],
1052                 [enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
1053
1054 AC_ARG_ENABLE(litehtml_viewer-plugin,
1055                 [  --disable-litehtml_viewer-plugin       Do not build litehtml_viewer plugin],
1056                 [enable_litehtml_viewer_plugin=$enableval], [enable_litehtml_viewer_plugin=auto])
1057
1058 AC_ARG_ENABLE(mailmbox-plugin,
1059                 [  --disable-mailmbox-plugin       Do not build mailmbox plugin],
1060                 [enable_mailmbox_plugin=$enableval], [enable_mailmbox_plugin=auto])
1061
1062 AC_ARG_ENABLE(managesieve-plugin,
1063                 [  --disable-managesieve-plugin    Do not build managesieve plugin],
1064                 [enable_managesieve_plugin=$enableval], [enable_managesieve_plugin=auto])
1065
1066 AC_ARG_ENABLE(newmail-plugin,
1067                 [  --disable-newmail-plugin        Do not build newmail plugin],
1068                 [enable_newmail_plugin=$enableval], [enable_newmail_plugin=auto])
1069
1070 AC_ARG_ENABLE(notification-plugin,
1071                 [  --disable-notification-plugin   Do not build notification plugin],
1072                 [enable_notification_plugin=$enableval], [enable_notification_plugin=auto])
1073
1074 AC_ARG_ENABLE(pdf_viewer-plugin,
1075                 [  --disable-pdf_viewer-plugin     Do not build pdf_viewer plugin],
1076                 [enable_pdf_viewer_plugin=$enableval], [enable_pdf_viewer_plugin=auto])
1077
1078 AC_ARG_ENABLE(perl-plugin,
1079                 [  --disable-perl-plugin           Do not build perl plugin],
1080                 [enable_perl_plugin=$enableval], [enable_perl_plugin=auto])
1081
1082 AC_ARG_ENABLE(python-plugin,
1083                 [  --disable-python-plugin         Do not build python plugin],
1084                 [enable_python_plugin=$enableval], [enable_python_plugin=auto])
1085
1086 AC_ARG_ENABLE(pgpcore-plugin,
1087                 [  --disable-pgpcore-plugin        Do not build pgpcore plugin],
1088                 [enable_pgpcore_plugin=$enableval], [enable_pgpcore_plugin=auto])
1089
1090 AC_ARG_ENABLE(pgpmime-plugin,
1091                 [  --disable-pgpmime-plugin        Do not build pgpmime plugin],
1092                 [enable_pgpmime_plugin=$enableval], [enable_pgpmime_plugin=auto])
1093
1094 AC_ARG_ENABLE(pgpinline-plugin,
1095                 [  --disable-pgpinline-plugin      Do not build pgpinline plugin],
1096                 [enable_pgpinline_plugin=$enableval], [enable_pgpinline_plugin=auto])
1097
1098 AC_ARG_ENABLE(rssyl-plugin,
1099                 [  --disable-rssyl-plugin          Do not build rssyl plugin],
1100                 [enable_rssyl_plugin=$enableval], [enable_rssyl_plugin=auto])
1101
1102 AC_ARG_ENABLE(smime-plugin,
1103                 [  --disable-smime-plugin          Do not build smime plugin],
1104                 [enable_smime_plugin=$enableval], [enable_smime_plugin=auto])
1105
1106 AC_ARG_ENABLE(spamassassin-plugin,
1107                 [  --disable-spamassassin-plugin   Do not build spamassassin plugin],
1108                 [enable_spamassassin_plugin=$enableval], [enable_spamassassin_plugin=auto])
1109
1110 AC_ARG_ENABLE(spam_report-plugin,
1111                 [  --disable-spam_report-plugin    Do not build spam_report plugin],
1112                 [enable_spam_report_plugin=$enableval], [enable_spam_report_plugin=auto])
1113
1114 AC_ARG_ENABLE(tnef_parse-plugin,
1115                 [  --disable-tnef_parse-plugin     Do not build tnef_parse plugin],
1116                 [enable_tnef_parse_plugin=$enableval], [enable_tnef_parse_plugin=auto])
1117
1118 AC_ARG_ENABLE(vcalendar-plugin,
1119                 [  --disable-vcalendar-plugin      Do not build vcalendar plugin],
1120                 [enable_vcalendar_plugin=$enableval], [enable_vcalendar_plugin=auto])
1121
1122 dnl disabled by default
1123 AC_ARG_ENABLE(demo-plugin,
1124                 [  --enable-demo-plugin            Build demo plugin],
1125                 [enable_demo_plugin=$enableval], [enable_demo_plugin=no])
1126
1127
1128 dnl Then we check (unconditionnaly) for plugins dependencies
1129 dnl Some dependencies are optional, some mandatory. This is taken care of
1130 dnl later.
1131 dnl
1132 dnl During this dependancy check we do the checks themselves, define HAVE_X to
1133 dnl either yes or no, and do the AC_SUBST calls.
1134
1135 dnl Archive:            libarchive
1136 dnl Fancy:              Webkit, curl, optionally libsoup-gnome
1137 dnl Gdata:              libgdata
1138 dnl Litehtml            a C++ compiler, >=glib-2.36, cairo, fontconfig, gumbo, curl
1139 dnl Libravatar:         libcurl
1140 dnl Notification:       optionally libnotify  unity/messaging-menu
1141 dnl                                libcanberra_gtk hotkey
1142 dnl Pdf-Viewer:         libpoppler
1143 dnl Perl:               sed perl
1144 dnl PGP/Core:           libgpgme
1145 dnl PGP/Mime:           pgpcore libgpgme
1146 dnl PGP/Inline:         pgpcore libgpgme
1147 dnl S/Mime:             pgpcore libgpgme
1148 dnl Python:             Python
1149 dnl RSSyl:              expat libcurl
1150 dnl SpamReport:         libcurl
1151 dnl vCalendar:          libcurl, libical
1152 dnl tnef_parse:         libytnef
1153
1154 dnl libcurl ********************************************************************
1155 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
1156 AC_SUBST(CURL_LIBS)
1157 AC_SUBST(CURL_CFLAGS)
1158
1159 dnl expat **********************************************************************
1160 PKG_CHECK_MODULES(EXPAT, expat, HAVE_EXPAT=yes, HAVE_EXPAT=no)
1161
1162 if test x"$HAVE_EXPAT" = xno; then
1163         AC_CHECK_HEADER(expat.h, [expat_header=yes], [expat_header=no])
1164         AC_CHECK_LIB(expat, XML_ParserCreate, [expat_lib=yes], [expat_lib=no])
1165         if test x"$expat_header" = xyes -a x"$expat_lib"=xyes; then
1166                 HAVE_EXPAT=yes
1167                 EXPAT_CFLAGS=""
1168                 EXPAT_LIBS="-lexpat"
1169         fi
1170 fi
1171
1172 AC_SUBST(EXPAT_CFLAGS)
1173 AC_SUBST(EXPAT_LIBS)
1174
1175 dnl webkit *********************************************************************
1176 PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.10.0, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
1177 AC_SUBST(WEBKIT_LIBS)
1178 AC_SUBST(WEBKIT_CFLAGS)
1179
1180 dnl libsoup ********************************************************************
1181 PKG_CHECK_MODULES(LIBSOUP, libsoup-2.4, HAVE_LIBSOUP=yes, HAVE_LIBSOUP=no)
1182 if test x"$HAVE_LIBSOUP" = xyes; then
1183         AC_DEFINE(HAVE_LIBSOUP, 1, [Define if libsoup is available])
1184 fi
1185 AC_SUBST(LIBSOUP_CFLAGS)
1186 AC_SUBST(LIBSOUP_LIBS)
1187
1188 dnl libsoup-gnome **************************************************************
1189 PKG_CHECK_MODULES(LIBSOUP_GNOME, libsoup-gnome-2.4 >= 2.26, HAVE_LIBSOUP_GNOME=yes, HAVE_LIBSOUP_GNOME=no)
1190 if test x"$HAVE_LIBSOUP_GNOME" = xyes; then
1191         AC_DEFINE(HAVE_LIBSOUP_GNOME, 1, [Define if libsoup_gnome is available])
1192 fi
1193 AC_SUBST(LIBSOUP_GNOME_CFLAGS)
1194 AC_SUBST(LIBSOUP_GNOME_LIBS)
1195
1196 dnl libarchive *****************************************************************
1197 PKG_CHECK_MODULES(LIBARCHIVE, libarchive, HAVE_ARCHIVE=yes, HAVE_ARCHIVE=no)
1198 AC_SUBST(ARCHIVE_LIBS)
1199 AC_SUBST(ARCHIVE_CFLAGS)
1200 AC_CHECK_LIB([archive], [archive_read_new],
1201                        ARCHIVE_LIBS=-larchive
1202                        HAVE_ARCHIVE=yes
1203                        AC_SUBST(ARCHIVE_LIBS,$ARCHIVE_CFLAGS),
1204                        HAVE_ARCHIVE=no
1205                        )
1206
1207 dnl libgdata *******************************************************************
1208 PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.2, HAVE_GDATA=yes, HAVE_GDATA=no)
1209 AC_SUBST(GDATA_CFLAGS)
1210 AC_SUBST(GDATA_LIBS)
1211
1212 dnl cairo **********************************************************************
1213 PKG_CHECK_MODULES(CAIRO, cairo, HAVE_CAIRO=yes, HAVE_CAIRO=no)
1214 AC_SUBST(CAIRO_CFLAGS)
1215 AC_SUBST(CAIRO_LIBS)
1216
1217 dnl fontconfig *****************************************************************
1218 PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
1219 AC_SUBST(FONTCONFIG_CFLAGS)
1220 AC_SUBST(FONTCONFIG_LIBS)
1221
1222 dnl gumbo **********************************************************************
1223 PKG_CHECK_MODULES(LIBGUMBO, gumbo >= 0.10, HAVE_LIBGUMBO=yes, HAVE_LIBGUMBO=no)
1224 AC_SUBST(LIBGUMBO_CFLAGS)
1225 AC_SUBST(LIBGUMBO_LIBS)
1226
1227 dnl libical ********************************************************************
1228 PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
1229 AC_SUBST(LIBICAL_CFLAGS)
1230 AC_SUBST(LIBICAL_LIBS)
1231
1232 dnl Poppler ********************************************************************
1233 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
1234 AC_SUBST(POPPLER_LIBS)
1235 AC_SUBST(POPPLER_CFLAGS)
1236
1237 dnl check for Poppler extra features that we conditionally support
1238 if test x"$HAVE_POPPLER" = xyes; then
1239         OLD_CFLAGS=$CFLAGS
1240         CFLAGS="$POPPLER_CFLAGS $GTK_CFLAGS $GLIB_CFLAGS"
1241         AC_CHECK_DECL(POPPLER_DEST_NAMED,
1242                 [AC_DEFINE([HAVE_POPPLER_DEST_NAMED], [], [Description])],
1243                 ,[#include <poppler-action.h>])
1244         AC_CHECK_DECL(POPPLER_DEST_XYZ,
1245                 [AC_DEFINE([HAVE_POPPLER_DEST_XYZ], [], [Description])],
1246                 ,[#include <poppler-action.h>])
1247         CFLAGS=$OLD_CFLAGS
1248 fi
1249
1250 dnl perl ***********************************************************************
1251 AC_CHECK_PROG(HAVE_PERL, perl, yes, no)
1252 if test x"$HAVE_PERL" = xyes; then
1253         AC_MSG_CHECKING(for perl >= 5.8.0)
1254         PERL_VER=`perl -e 'print $] > 5.0079999?"yes":"no"'`
1255         if test "$PERL_VER" = "yes"; then
1256                 AC_MSG_RESULT(yes)
1257         else
1258                 AC_MSG_RESULT(no)
1259                 HAVE_PERL=no
1260         fi
1261 fi
1262 if test x"$HAVE_PERL" = xyes; then
1263         AC_MSG_CHECKING(for Perl compile flags)
1264         PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
1265         PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
1266         PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm\>//'`
1267         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb\>//'`
1268         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm\>//'`
1269         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc\>//'`
1270         AC_MSG_RESULT(ok)
1271         AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
1272         
1273         if test x"$HAVE_PERL" = xyes; then
1274                 AC_CHECK_LIB(perl,perl_alloc,[AC_DEFINE(HAVE_LIBPERL, 1, Check for libperl.)], 
1275                                              [ HAVE_LIBPERL=no ])
1276         fi
1277         if test x"$HAVE_LIBPERL" = xno; then
1278                 LIBPERL_PREFIX=`perl -MExtUtils::Embed -e perl_inc`
1279                 LIBPERL_PREFIX=`echo $LIBPERL_PREFIX |sed 's/-I//'`
1280                 AC_MSG_CHECKING([for libperl.so])
1281                 if test -f "$LIBPERL_PREFIX/libperl.so"; then
1282                         AC_MSG_RESULT(yes)
1283                         HAVE_LIBPERL=yes
1284                 else
1285                         AC_MSG_RESULT(no)
1286                 fi      
1287         fi
1288         PERL="perl"
1289         AC_SUBST(PERL)
1290         AC_SUBST(PERL_CFLAGS)
1291         AC_SUBST(PERL_LDFLAGS)
1292 fi
1293
1294 dnl Gpgme **********************************************************************
1295 AM_PATH_GPGME(1.0.0, HAVE_GPGME=yes, HAVE_GPGME=no)
1296 if test x"$HAVE_GPGME" = xyes; then
1297         AC_DEFINE(USE_GPGME, 1, Define if you use GPGME to support OpenPGP.)
1298         AM_PATH_GPGME(1.1.1, AC_DEFINE(HAVE_GPGME_PKA_TRUST, 1, [Define if GPGME supports PKA.]))
1299 fi
1300
1301 dnl Python *********************************************************************
1302 missing_python=""
1303 AM_PATH_PYTHON([2.5], [
1304         AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
1305         if test x"$PYTHON_CONFIG" = x"" ; then
1306                 AC_PATH_PROG(PYTHON_CONFIG, python-config)
1307         fi
1308         if test x"$PYTHON_CONFIG" != x""; then
1309                 PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
1310                 PYTHON_LIBS=`$PYTHON_CONFIG --libs`
1311                 PYTHON_PREFIX=`$PYTHON_CONFIG --prefix`
1312                 HAVE_PYTHON=yes
1313         else
1314                 AC_MSG_WARN(python-config not found. Maybe you need to install development packages for Python.)
1315                 HAVE_PYTHON=no
1316                 missing_python="python-config"
1317         fi
1318
1319         if test x"$HAVE_PYTHON" = xyes; then
1320                 _save_libs="$LIBS"
1321                 if test x"$platform_win32" = xno; then
1322                         # libpython.so
1323                         PYTHON_SHARED_LIB="libpython${PYTHON_VERSION}.so"
1324                         AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl"])
1325                         AC_MSG_CHECKING([whether to dlopen $PYTHON_SHARED_LIB works])
1326                         AC_RUN_IFELSE(
1327                                 [AC_LANG_PROGRAM(
1328                                         [#include <dlfcn.h>
1329                                          #define PYTHON_SO_FILE "${PYTHON_SHARED_LIB}"
1330                                         ],
1331                                         [if (!dlopen(PYTHON_SO_FILE, RTLD_NOW | RTLD_GLOBAL)) return 1; return 0;])
1332                                 ],
1333                                 [found_libpython_so="yes"],
1334                                 [found_libpython_so="no"],
1335                                 [AC_MSG_FAILURE([cross-compiling not supported])])
1336                 fi
1337                 if test x"$found_libpython_so" != x"yes"; then
1338                         AC_MSG_RESULT(no)
1339                         AC_MSG_WARN(Could not find Python shared libary: ${PYTHON_SHARED_LIB}. Maybe you need to install development packages for Python.)
1340                         HAVE_PYTHON=no
1341                         missing_python="libpython"
1342                 else
1343                         AC_MSG_RESULT(yes)
1344                 fi
1345                 LIBS="$_save_libs";
1346         fi
1347         if test x"$HAVE_PYTHON" = xyes; then
1348                 PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.10.3, [AC_DEFINE(ENABLE_PYTHON, [1], [Enable Python support])], HAVE_PYTHON=no)
1349                 if test x"$HAVE_PYTHON" = xno; then
1350                         missing_python="pygtk-2.0 >= 2.10.3"
1351                 fi
1352         fi
1353 ], [
1354                 HAVE_PYTHON=no
1355                 missing_python="python interpreter"
1356 ])
1357 AC_SUBST(PYTHON_SHARED_LIB)
1358 AC_SUBST(PYTHON_CFLAGS)
1359 AC_SUBST(PYTHON_LIBS)
1360 AC_SUBST(PYGTK_CFLAGS)
1361 AC_SUBST(PYGTK_LIBS)
1362
1363 dnl libnotify ******************************************************************
1364 PKG_CHECK_MODULES(libnotify, libnotify >= 0.4.3, HAVE_LIBNOTIFY=yes, HAVE_LIBNOTIFY=no)
1365 if test x"$HAVE_LIBNOTIFY" = xyes; then
1366         AC_DEFINE(HAVE_LIBNOTIFY, 1, [Define if libnotify support is enabled])
1367 fi
1368 AC_SUBST(libnotify_CFLAGS)
1369 AC_SUBST(libnotify_LIBS)
1370
1371 dnl libcanberra-gtk ************************************************************
1372 PKG_CHECK_MODULES(libcanberra_gtk, libcanberra-gtk >= 0.6, HAVE_LIBCANBERRA_GTK=yes, HAVE_LIBCANBERRA_GTK=no)
1373 if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1374         AC_DEFINE(HAVE_LIBCANBERRA_GTK, 1, [Define if libcanberra-gtk support is enabled])
1375 fi
1376 AC_SUBST(libcanberra_gtk_CFLAGS)
1377 AC_SUBST(libcanberra_gtk_LIBS)
1378
1379 dnl unity/messaging-menu *******************************************************
1380 PKG_CHECK_MODULES(unity, unity messaging-menu, HAVE_UNITY=yes, HAVE_UNITY=no)
1381 if test x"$HAVE_UNITY" = xyes; then
1382         AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for unity and messaging-menu])
1383 fi
1384 AC_SUBST(unity_CFLAGS)
1385 AC_SUBST(unity_LIBS)
1386
1387 dnl hotkeys ********************************************************************
1388 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)
1389 if test x"$HAVE_HOTKEYS" = xyes; then
1390         AC_DEFINE(NOTIFICATION_HOTKEYS, 1, Activate support for global hotkeys)
1391 fi
1392 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
1393 AC_SUBST(CM_NP_HOTKEY_LIBS)
1394
1395 dnl libytnef *******************************************************************
1396 YTNEF_CFLAGS=""
1397 YTNEF_LIBS=""
1398 have_ytnef=0
1399 # Check both ytnef.h and libytnef/ytnef.h, and adjust YTNEF_CFLAGS
1400 # accordingly
1401 AC_CHECK_HEADER(ytnef.h, [have_ytnef=1], [have_ytnef=0])
1402 if test $have_ytnef -eq 0; then
1403         AC_CHECK_HEADER(libytnef/ytnef.h,
1404                                                                         [have_ytnef=1;
1405                                                                          YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_H_SUBDIR"],
1406                                                                         [have_ytnef=0])
1407 fi
1408 if test $have_ytnef -eq 1; then
1409         AC_MSG_CHECKING([how libytnef's SwapDDWord() should be called])
1410         # Now we have to figure out which libytnef version we're using,
1411         # based on whether SwapDDWord takes one argument or two.
1412         if test "x${YTNEF_CFLAGS}" = "x"; then
1413                 ytnef_include="#include <ytnef.h>"
1414         else
1415                 ytnef_include="#include <libytnef/ytnef.h>"
1416         fi
1417         AC_TRY_COMPILE([#include <stdio.h>
1418                                                                         ${ytnef_include}],
1419                                                                         [SwapDDWord(0, 0);],
1420                                                                         [have_ytnef=1],
1421                                                                         [have_ytnef=0])
1422         if test $have_ytnef -eq 0; then
1423                 AC_TRY_COMPILE([#include <stdio.h>
1424                                                                                 ${ytnef_include}],
1425                                                                                 [SwapDDWord(0);],
1426                                                                                 [have_ytnef=1;
1427                                                                                  YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_OLD_SWAPDDWORD"],
1428                                                                                 [have_ytnef=0])
1429         fi
1430         if test $have_ytnef -eq 1; then
1431                 YTNEF_LIBS="-lytnef"
1432                 AC_MSG_RESULT(ok)
1433         else
1434                 AC_MSG_RESULT(no idea, unsupported libytnef version?)
1435         fi
1436 fi
1437 AC_SUBST(YTNEF_CFLAGS)
1438 AC_SUBST(YTNEF_LIBS)
1439
1440 dnl Third, we now cross the requested plugins and the available dependencies
1441 dnl If some dependencies are missing and the plugin was explicitely enabled,
1442 dnl we error out, else we only inform.
1443
1444 AC_MSG_CHECKING([whether to build acpi_notifier plugin])
1445 if test x"$enable_acpi_notifier_plugin" != xno; then
1446         PLUGINS="$PLUGINS acpi_notifier"
1447         AC_MSG_RESULT(yes)
1448 else
1449         DISABLED_PLUGINS="$DISABLED_PLUGINS acpi_notifier"
1450         AC_MSG_RESULT(no)
1451 fi
1452
1453 AC_MSG_CHECKING([whether to build address_keeper plugin])
1454 if test x"$enable_address_keeper_plugin" != xno; then
1455         PLUGINS="$PLUGINS address_keeper"
1456         AC_MSG_RESULT(yes)
1457 else
1458         DISABLED_PLUGINS="$DISABLED_PLUGINS address_keeper"
1459         AC_MSG_RESULT(no)
1460 fi
1461
1462 AC_MSG_CHECKING([whether to build archive plugin])
1463 if test x"$enable_archive_plugin" != xno; then
1464         dependencies_missing=""
1465
1466         if test x"$HAVE_ARCHIVE" = xno; then
1467                 dependencies_missing="libarchive $dependencies_missing"
1468         fi
1469
1470         if test x"$dependencies_missing" = x; then
1471                 PLUGINS="$PLUGINS archive"
1472                 AC_MSG_RESULT(yes)
1473         elif test x"$enable_archive_plugin" = xauto; then
1474                 AC_MSG_RESULT(no)
1475                 AC_MSG_WARN("Plugin archive will not be built; missing $dependencies_missing")
1476                 enable_archive_plugin=no
1477                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS archive"
1478         else
1479                 AC_MSG_RESULT(no)
1480                 AC_MSG_ERROR("Plugin archive cannot be built; missing $dependencies_missing")
1481         fi
1482 else
1483         DISABLED_PLUGINS="$DISABLED_PLUGINS archive"
1484         AC_MSG_RESULT(no)
1485 fi
1486
1487 AC_MSG_CHECKING([whether to build att_remover plugin])
1488 if test x"$enable_att_remover_plugin" != xno; then
1489         PLUGINS="$PLUGINS att_remover"
1490         AC_MSG_RESULT(yes)
1491 else
1492         DISABLED_PLUGINS="$DISABLED_PLUGINS att_remover"
1493         AC_MSG_RESULT(no)
1494 fi
1495
1496 AC_MSG_CHECKING([whether to build attachwarner plugin])
1497 if test x"$enable_attachwarner_plugin" != xno; then
1498         PLUGINS="$PLUGINS attachwarner"
1499         AC_MSG_RESULT(yes)
1500 else
1501         DISABLED_PLUGINS="$DISABLED_PLUGINS attachwarner"
1502         AC_MSG_RESULT(no)
1503 fi
1504
1505 AC_MSG_CHECKING([whether to build bogofilter plugin])
1506 if test x"$enable_bogofilter_plugin" != xno; then
1507         PLUGINS="$PLUGINS bogofilter"
1508         AC_MSG_RESULT(yes)
1509 else
1510         DISABLED_PLUGINS="$DISABLED_PLUGINS bogofilter"
1511         AC_MSG_RESULT(no)
1512 fi
1513
1514 AC_MSG_CHECKING([whether to build bsfilter plugin])
1515 if test x"$enable_bsfilter_plugin" != xno; then
1516         PLUGINS="$PLUGINS bsfilter"
1517         AC_MSG_RESULT(yes)
1518 else
1519         DISABLED_PLUGINS="$DISABLED_PLUGINS bsfilter"
1520         AC_MSG_RESULT(no)
1521 fi
1522
1523 AC_MSG_CHECKING([whether to build clamd plugin])
1524 if test x"$enable_clamd_plugin" != xno; then
1525         PLUGINS="$PLUGINS clamd"
1526         AC_MSG_RESULT(yes)
1527 else
1528         DISABLED_PLUGINS="$DISABLED_PLUGINS clamd"
1529         AC_MSG_RESULT(no)
1530 fi
1531
1532 AC_MSG_CHECKING([whether to build demo plugin])
1533 if test x"$enable_demo_plugin" != xno; then
1534         PLUGINS="$PLUGINS demo"
1535         AC_MSG_RESULT(yes)
1536 else
1537         DISABLED_PLUGINS="$DISABLED_PLUGINS demo"
1538         AC_MSG_RESULT(no)
1539 fi
1540
1541 AC_MSG_CHECKING([whether to build Dillo plugin])
1542 if test x"$enable_dillo_plugin" != xno; then
1543         PLUGINS="$PLUGINS dillo"
1544         AC_MSG_RESULT(yes)
1545 else
1546         DISABLED_PLUGINS="$DISABLED_PLUGINS dillo"
1547         AC_MSG_RESULT(no)
1548 fi
1549
1550 AC_MSG_CHECKING([whether to build fancy plugin])
1551 if test x"$enable_fancy_plugin" != xno; then
1552         dependencies_missing=""
1553
1554         if test x"$HAVE_WEBKIT" = xno; then
1555                 dependencies_missing="libwebkit-1.0 $dependencies_missing"
1556         fi
1557         if test x"$HAVE_CURL" = xno; then
1558                 dependencies_missing="libcurl $dependencies_missing"
1559         fi
1560
1561         if test x"$dependencies_missing" = x; then
1562                 PLUGINS="$PLUGINS fancy"
1563                 AC_MSG_RESULT(yes)
1564         elif test x"$enable_fancy_plugin" = xauto; then
1565                 AC_MSG_RESULT(no)
1566                 AC_MSG_WARN("Plugin fancy will not be built; missing $dependencies_missing")
1567                 enable_fancy_plugin=no
1568                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS fancy"
1569         else
1570                 AC_MSG_RESULT(no)
1571                 AC_MSG_ERROR("Plugin fancy cannot be built; missing $dependencies_missing")
1572         fi
1573 else
1574         DISABLED_PLUGINS="$DISABLED_PLUGINS fancy"
1575         AC_MSG_RESULT(no)
1576 fi
1577
1578 AC_MSG_CHECKING([whether to build fetchinfo plugin])
1579 if test x"$enable_fetchinfo_plugin" != xno; then
1580         PLUGINS="$PLUGINS fetchinfo"
1581         AC_MSG_RESULT(yes)
1582 else
1583         DISABLED_PLUGINS="$DISABLED_PLUGINS fetchinfo"
1584         AC_MSG_RESULT(no)
1585 fi
1586
1587 AC_MSG_CHECKING([whether to build gdata plugin])
1588 if test x"$enable_gdata_plugin" != xno; then
1589         dependencies_missing=""
1590
1591         if test x"$HAVE_GDATA" = xno; then
1592                 dependencies_missing="libgdata $dependencies_missing"
1593         fi
1594
1595         if test x"$dependencies_missing" = x; then
1596                 PLUGINS="$PLUGINS gdata"
1597                 AC_MSG_RESULT(yes)
1598         elif test x"$enable_gdata_plugin" = xauto; then
1599                 AC_MSG_RESULT(no)
1600                 AC_MSG_WARN("Plugin gdata will not be built; missing $dependencies_missing")
1601                 enable_gdata_plugin=no
1602                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS gdata"
1603         else
1604                 AC_MSG_RESULT(no)
1605                 AC_MSG_ERROR("Plugin gdata cannot be built; missing $dependencies_missing")
1606         fi
1607 else
1608         DISABLED_PLUGINS="$DISABLED_PLUGINS gdata"
1609         AC_MSG_RESULT(no)
1610 fi
1611
1612 AC_MSG_CHECKING([whether to build libravatar plugin])
1613 if test x"$enable_libravatar_plugin" != xno; then
1614         dependencies_missing=""
1615
1616         if test x"$HAVE_CURL" = xno; then
1617                 dependencies_missing="libcurl $dependencies_missing"
1618         fi
1619
1620         if test x"$dependencies_missing" = x; then
1621                 PLUGINS="$PLUGINS libravatar"
1622                 AC_MSG_RESULT(yes)
1623         elif test x"$enable_libravatar_plugin" = xauto; then
1624                 AC_MSG_RESULT(no)
1625                 AC_MSG_WARN("Plugin libravatar will not be built; missing $dependencies_missing")
1626                 enable_libravatar_plugin=no
1627                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS libravatar"
1628         else
1629                 AC_MSG_RESULT(no)
1630                 AC_MSG_ERROR("Plugin libravatar cannot be built; missing $dependencies_missing")
1631         fi
1632 else
1633         DISABLED_PLUGINS="$DISABLED_PLUGINS libravatar"
1634         AC_MSG_RESULT(no)
1635 fi
1636
1637 AC_MSG_CHECKING([whether to build litehtml_viewer plugin])
1638 if test x"$enable_litehtml_viewer_plugin" != xno; then
1639         dependencies_missing=""
1640
1641         if test x"$HAVE_CXX" = xno; then
1642                 dependencies_missing="C++ compiler $dependencies_missing"
1643         fi
1644         PKG_CHECK_EXISTS([glib-2.0 >= 2.36], [],
1645                 [dependencies_missing="glib-2.0 >= 2.36 $dependencies_missing"])
1646         if test x"$HAVE_CAIRO" = xno; then
1647                 dependencies_missing="cairo $dependencies_missing"
1648         fi
1649         if test x"$HAVE_FONTCONFIG" = xno; then
1650                 dependencies_missing="fontconfig $dependencies_missing"
1651         fi
1652         if test x"$HAVE_LIBGUMBO" = xno; then
1653                 dependencies_missing="libgumbo $dependencies_missing"
1654         fi
1655         if test x"$HAVE_CURL" = xno; then
1656                 dependencies_missing="libcurl $dependencies_missing"
1657         fi
1658
1659
1660         if test x"$dependencies_missing" = x; then
1661                 PLUGINS="$PLUGINS litehtml_viewer"
1662                 AC_MSG_RESULT(yes)
1663         elif test x"$enable_litehtml_viewer_plugin" = xauto; then
1664                 AC_MSG_RESULT(no)
1665                 AC_MSG_WARN("Plugin litehtml_viewer will not be built; missing $dependencies_missing")
1666                 enable_litehtml_viewer_plugin=no
1667                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS litehtml_viewer"
1668         else
1669                 AC_MSG_RESULT(no)
1670                 AC_MSG_ERROR("Plugin litehtml_viewer cannot be built; missing $dependencies_missing")
1671         fi
1672 else
1673         DISABLED_PLUGINS="$DISABLED_PLUGINS litehtml_viewer"
1674         AC_MSG_RESULT(no)
1675 fi
1676
1677 AC_MSG_CHECKING([whether to build mailmbox plugin])
1678 if test x"$enable_mailmbox_plugin" != xno; then
1679         PLUGINS="$PLUGINS mailmbox"
1680         AC_MSG_RESULT(yes)
1681 else
1682         DISABLED_PLUGINS="$DISABLED_PLUGINS mailmbox"
1683         AC_MSG_RESULT(no)
1684 fi
1685
1686 AC_MSG_CHECKING([whether to build managesieve plugin])
1687 if test x"$enable_managesieve_plugin" != xno; then
1688         PLUGINS="$PLUGINS managesieve"
1689         AC_MSG_RESULT(yes)
1690 else
1691         DISABLED_PLUGINS="$DISABLED_PLUGINS managesieve"
1692         AC_MSG_RESULT(no)
1693 fi
1694
1695 AC_MSG_CHECKING([whether to build newmail plugin])
1696 if test x"$enable_newmail_plugin" != xno; then
1697         PLUGINS="$PLUGINS newmail"
1698         AC_MSG_RESULT(yes)
1699 else
1700         DISABLED_PLUGINS="$DISABLED_PLUGINS newmail"
1701         AC_MSG_RESULT(no)
1702 fi
1703
1704 AC_MSG_CHECKING([whether to build notification plugin])
1705 if test x"$enable_notification_plugin" != xno; then
1706         PLUGINS="$PLUGINS notification"
1707         AC_MSG_RESULT(yes)
1708
1709         AC_DEFINE(NOTIFICATION_POPUP, 1, Activate notification popup)
1710         AC_DEFINE(NOTIFICATION_BANNER, 1, Activate notification banner)
1711         AC_DEFINE(NOTIFICATION_COMMAND, 1, Activate notification shell command)
1712         AC_DEFINE(NOTIFICATION_TRAYICON, 1, Activate notification trayicon)
1713         if test x"$platform_win32" = xno; then
1714                 AC_DEFINE(NOTIFICATION_LCDPROC, 1, Activate lcdproc support)
1715         fi
1716
1717         notification_features="banner command"
1718         notification_missing_dependencies=""
1719         if test x"$HAVE_HOTKEYS" = xyes; then
1720                 notification_features="$notification_features hotkeys"
1721         else
1722                 notification_missing_dependencies="$notification_missing_dependencies hotkeys"
1723         fi
1724         notification_features="$notification_features lcdproc"
1725         if test x"$HAVE_UNITY" = xyes; then
1726                 notification_features="$notification_features unity/messaging-menu"
1727         else
1728                 notification_missing_dependencies="$notification_missing_dependencies unity/messaging-menu"
1729         fi
1730         if test x"$HAVE_LIBNOTIFY" = xyes; then
1731                 notification_features="$notification_features libnotify"
1732         else
1733                 notification_missing_dependencies="$notification_missing_dependencies libnotify"
1734         fi
1735         if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1736                 notification_features="$notification_features libcanberra-gtk"
1737         else
1738                 notification_missing_dependencies="$notification_missing_dependencies libcanberra-gtk"
1739         fi
1740         notification_features="$notification_features popup trayicon"
1741 else
1742         DISABLED_PLUGINS="$DISABLED_PLUGINS notification"
1743         AC_MSG_RESULT(no)
1744 fi
1745
1746 AC_MSG_CHECKING([whether to build pdf_viewer plugin])
1747 if test x"$enable_pdf_viewer_plugin" != xno; then
1748         dependencies_missing=""
1749
1750         if test x"$HAVE_POPPLER" = xno; then
1751                 dependencies_missing="libpoppler-glib $dependencies_missing"
1752         fi
1753
1754         if test x"$dependencies_missing" = x; then
1755                 PLUGINS="$PLUGINS pdf_viewer"
1756                 AC_MSG_RESULT(yes)
1757         elif test x"$enable_pdf_viewer_plugin" = xauto; then
1758                 AC_MSG_RESULT(no)
1759                 AC_MSG_WARN("Plugin pdf_viewer will not be built; missing $dependencies_missing")
1760                 enable_pdf_viewer_plugin=no
1761                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pdf_viewer"
1762         else
1763                 AC_MSG_RESULT(no)
1764                 AC_MSG_ERROR("Plugin pdf_viewer cannot be built; missing $dependencies_missing")
1765         fi
1766 else
1767         DISABLED_PLUGINS="$DISABLED_PLUGINS pdf_viewer"
1768         AC_MSG_RESULT(no)
1769 fi
1770
1771 AC_MSG_CHECKING([whether to build perl plugin])
1772 if test x"$enable_perl_plugin" != xno; then
1773         dependencies_missing=""
1774
1775         if test x"$HAVE_LIBPERL" = xno; then
1776                 dependencies_missing="libperl $dependencies_missing"
1777         fi
1778
1779         if test x"$dependencies_missing" = x; then
1780                 PLUGINS="$PLUGINS perl"
1781                 AC_MSG_RESULT(yes)
1782         elif test x"$enable_perl_plugin" = xauto; then
1783                 AC_MSG_RESULT(no)
1784                 AC_MSG_WARN("Plugin perl will not be built; missing $dependencies_missing")
1785                 enable_perl_plugin=no
1786                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS perl"
1787         else
1788                 AC_MSG_RESULT(no)
1789                 AC_MSG_ERROR("Plugin perl cannot be built; missing $dependencies_missing")
1790         fi
1791 else
1792         DISABLED_PLUGINS="$DISABLED_PLUGINS perl"
1793         AC_MSG_RESULT(no)
1794 fi
1795
1796 AC_MSG_CHECKING([whether to build python plugin])
1797 if test x"$enable_python_plugin" != xno; then
1798         dependencies_missing=""
1799
1800         if test x"$HAVE_PYTHON" = xno; then
1801                 dependencies_missing="$missing_python $dependencies_missing"
1802         fi
1803
1804         if test x"$dependencies_missing" = x; then
1805                 PLUGINS="$PLUGINS python"
1806                 AC_MSG_RESULT(yes)
1807         elif test x"$enable_python_plugin" = xauto; then
1808                 AC_MSG_RESULT(no)
1809                 AC_MSG_WARN("Plugin python will not be built; missing $dependencies_missing")
1810                 enable_python_plugin=no
1811                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS python"
1812         else
1813                 AC_MSG_RESULT(no)
1814                 AC_MSG_ERROR("Plugin python cannot be built; missing $dependencies_missing")
1815         fi
1816 else
1817         DISABLED_PLUGINS="$DISABLED_PLUGINS python"
1818         AC_MSG_RESULT(no)
1819 fi
1820
1821 AC_MSG_CHECKING([whether to build pgpcore plugin])
1822 if test x"$enable_pgpcore_plugin" != xno; then
1823         dependencies_missing=""
1824
1825         if test x"$HAVE_GPGME" = xno; then
1826                 dependencies_missing="libgpgme $dependencies_missing"
1827         fi
1828
1829         if test x"$dependencies_missing" = x; then
1830                 PLUGINS="$PLUGINS pgpcore"
1831                 AC_MSG_RESULT(yes)
1832         elif test x"$enable_pgpcore_plugin" = xauto; then
1833                 AC_MSG_RESULT(no)
1834                 AC_MSG_WARN("Plugin pgpcore will not be built; missing $dependencies_missing")
1835                 enable_pgpcore_plugin=no
1836                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpcore"
1837         else
1838                 AC_MSG_RESULT(no)
1839                 AC_MSG_ERROR("Plugin pgpcore cannot be built; missing $dependencies_missing")
1840         fi
1841 else
1842         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpcore"
1843         AC_MSG_RESULT(no)
1844 fi
1845
1846 AC_MSG_CHECKING([whether to build pgpmime plugin])
1847 if test x"$enable_pgpmime_plugin" != xno; then
1848         dependencies_missing=""
1849
1850         if test x"$HAVE_GPGME" = xno; then
1851                 dependencies_missing="libgpgme $dependencies_missing"
1852         fi
1853         if test x"$enable_pgpcore_plugin" = xno; then
1854                 dependencies_missing="pgpcore plugin $dependencies_missing"
1855         fi
1856
1857         if test x"$dependencies_missing" = x; then
1858                 PLUGINS="$PLUGINS pgpmime"
1859                 AC_MSG_RESULT(yes)
1860         elif test x"$enable_pgpmime_plugin" = xauto; then
1861                 AC_MSG_RESULT(no)
1862                 AC_MSG_WARN("Plugin pgpmime will not be built; missing $dependencies_missing")
1863                 enable_pgpmime_plugin=no
1864                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpmime"
1865         else
1866                 AC_MSG_RESULT(no)
1867                 AC_MSG_ERROR("Plugin pgpmime cannot be built; missing $dependencies_missing")
1868         fi
1869 else
1870         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpmime"
1871         AC_MSG_RESULT(no)
1872 fi
1873
1874 AC_MSG_CHECKING([whether to build pgpinline plugin])
1875 if test x"$enable_pgpinline_plugin" != xno; then
1876         dependencies_missing=""
1877
1878         if test x"$HAVE_GPGME" = xno; then
1879                 dependencies_missing="libgpgme $dependencies_missing"
1880         fi
1881         if test x"$enable_pgpcore_plugin" = xno; then
1882                 dependencies_missing="pgpcore plugin $dependencies_missing"
1883         fi
1884
1885         if test x"$dependencies_missing" = x; then
1886                 PLUGINS="$PLUGINS pgpinline"
1887                 AC_MSG_RESULT(yes)
1888         elif test x"$enable_pgpinline_plugin" = xauto; then
1889                 AC_MSG_RESULT(no)
1890                 AC_MSG_WARN("Plugin pgpinline will not be built; missing $dependencies_missing")
1891                 enable_pgpinline_plugin=no
1892                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpinline"
1893         else
1894                 AC_MSG_RESULT(no)
1895                 AC_MSG_ERROR("Plugin pgpinline cannot be built; missing $dependencies_missing")
1896         fi
1897 else
1898         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpinline"
1899         AC_MSG_RESULT(no)
1900 fi
1901
1902 AC_MSG_CHECKING([whether to build rssyl plugin])
1903 if test x"$enable_rssyl_plugin" != xno; then
1904         dependencies_missing=""
1905
1906         if test x"$HAVE_EXPAT" = xno; then
1907                 dependencies_missing="expat $dependencies_missing"
1908         fi
1909         if test x"$HAVE_CURL" = xno; then
1910                 dependencies_missing="libcurl $dependencies_missing"
1911         fi
1912
1913         if test x"$dependencies_missing" = x; then
1914                 PLUGINS="$PLUGINS rssyl"
1915                 AC_MSG_RESULT(yes)
1916         elif test x"$enable_rssyl_plugin" = xauto; then
1917                 AC_MSG_RESULT(no)
1918                 AC_MSG_WARN("Plugin rssyl will not be built; missing $dependencies_missing")
1919                 enable_rssyl_plugin=no
1920                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS rssyl"
1921         else
1922                 AC_MSG_RESULT(no)
1923                 AC_MSG_ERROR("Plugin rssyl cannot be built; missing $dependencies_missing")
1924         fi
1925 else
1926         DISABLED_PLUGINS="$DISABLED_PLUGINS rssyl"
1927         AC_MSG_RESULT(no)
1928 fi
1929
1930 AC_MSG_CHECKING([whether to build spamassassin plugin])
1931 if test x"$enable_spamassassin_plugin" != xno; then
1932         PLUGINS="$PLUGINS spamassassin"
1933         AC_MSG_RESULT(yes)
1934         AC_SPAMASSASSIN
1935
1936         dnl check for zlib (optional)
1937         spamassassin_zlib=0
1938         SPAMASSASSIN_CFLAGS=""
1939         SPAMASSASSIN_LIBS=""
1940         AC_CHECK_HEADER([zlib.h],
1941                         [AC_DEFINE(HAVE_ZLIB_H,1,[optional zlib support for spamassassin plugin])]
1942                         [spamassassin_zlib=1],
1943                         [spamassassin_zlib=0])
1944         if test $spamassassin_zlib -eq 1; then
1945                 AC_CHECK_LIB(z, deflate, [spamassassin_zlib=1], [spamassassin_zlib=0])
1946                 AC_MSG_CHECKING([whether to build spamassassin plugin with zlib support])
1947                 if test $spamassassin_zlib -eq 1; then
1948                         AC_MSG_RESULT(yes)
1949                         SPAMASSASSIN_CFLAGS="-DHAVE_LIBZ"
1950                         SPAMASSASSIN_LIBS="-lz"
1951                 else
1952                         AC_MSG_RESULT(no)
1953                 fi
1954         fi
1955         AC_SUBST(SPAMASSASSIN_CFLAGS)
1956         AC_SUBST(SPAMASSASSIN_LIBS)
1957 else
1958         DISABLED_PLUGINS="$DISABLED_PLUGINS spamassassin"
1959         AC_MSG_RESULT(no)
1960 fi
1961
1962 AC_MSG_CHECKING([whether to build smime plugin])
1963 if test x"$enable_smime_plugin" != xno; then
1964         dependencies_missing=""
1965
1966         if test x"$HAVE_GPGME" = xno; then
1967                 dependencies_missing="libgpgme $dependencies_missing"
1968         fi
1969         if test x"$enable_pgpcore_plugin" = xno; then
1970                 dependencies_missing="pgpcore plugin $dependencies_missing"
1971         fi
1972
1973         if test x"$dependencies_missing" = x; then
1974                 PLUGINS="$PLUGINS smime"
1975                 AC_MSG_RESULT(yes)
1976         elif test x"$enable_smime_plugin" = xauto; then
1977                 AC_MSG_RESULT(no)
1978                 AC_MSG_WARN("Plugin smime will not be built; missing $dependencies_missing")
1979                 enable_smime_plugin=no
1980                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS smime"
1981         else
1982                 AC_MSG_RESULT(no)
1983                 AC_MSG_ERROR("Plugin smime cannot be built; missing $dependencies_missing")
1984         fi
1985 else
1986         DISABLED_PLUGINS="$DISABLED_PLUGINS smime"
1987         AC_MSG_RESULT(no)
1988 fi
1989
1990 AC_MSG_CHECKING([whether to build spam_report plugin])
1991 if test x"$enable_spam_report_plugin" != xno; then
1992         dependencies_missing=""
1993
1994         if test x"$HAVE_CURL" = xno; then
1995                 dependencies_missing="libcurl $dependencies_missing"
1996         fi
1997
1998         if test x"$dependencies_missing" = x; then
1999                 PLUGINS="$PLUGINS spam_report"
2000                 AC_MSG_RESULT(yes)
2001         elif test x"$enable_spam_report_plugin" = xauto; then
2002                 AC_MSG_RESULT(no)
2003                 AC_MSG_WARN("Plugin spam_report will not be built; missing $dependencies_missing")
2004                 enable_spam_report_plugin=no
2005                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS spam_report"
2006         else
2007                 AC_MSG_RESULT(no)
2008                 AC_MSG_ERROR("Plugin spam_report cannot be built; missing $dependencies_missing")
2009         fi
2010 else
2011         DISABLED_PLUGINS="$DISABLED_PLUGINS spam_report"
2012         AC_MSG_RESULT(no)
2013 fi
2014
2015 AC_MSG_CHECKING([whether to build tnef_parse plugin])
2016 if test x"$enable_tnef_parse_plugin" != xno; then
2017         dependencies_missing=""
2018
2019         if test $have_ytnef -eq 0; then
2020                 dependencies_missing="libytnef"
2021         fi
2022
2023         if test x"$dependencies_missing" = x; then
2024                 PLUGINS="$PLUGINS tnef_parse"
2025                 AC_MSG_RESULT(yes)
2026         elif test x"$enable_tnef_parse_plugin" = xauto; then
2027                 AC_MSG_RESULT(no)
2028                 AC_MSG_WARN(Plugin tnef_parse will not be built; missing $dependencies_missing")
2029                 enable_tnef_parse_plugin=no
2030                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS tnef_parse"
2031         else
2032                 AC_MSG_RESULT(no)
2033                 AC_MSG_ERROR(Plugin tnef_parse will not be built; missing $dependencies_missing")
2034         fi
2035 else
2036         DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
2037         AC_MSG_RESULT(no)
2038 fi
2039
2040
2041 AC_MSG_CHECKING([whether to build vcalendar plugin])
2042 if test x"$enable_vcalendar_plugin" != xno; then
2043         dependencies_missing=""
2044
2045         if test x"$HAVE_CURL" = xno; then
2046                 dependencies_missing="libcurl $dependencies_missing"
2047         fi
2048
2049   if test x"$HAVE_LIBICAL" = xno; then
2050     dependencies_missing="libical $dependencies_missing"
2051   fi
2052
2053         if test x"$HAVE_PERL" = xno; then
2054                 dependencies_missing="perl $dependencies_missing"
2055         fi
2056
2057         if test x"$dependencies_missing" = x; then
2058                 PLUGINS="$PLUGINS vcalendar"
2059                 AC_MSG_RESULT(yes)
2060         elif test x"$enable_vcalendar_plugin" = xauto; then
2061                 AC_MSG_RESULT(no)
2062                 AC_MSG_WARN("Plugin vcalendar will not be built; missing $dependencies_missing")
2063                 enable_vcalendar_plugin=no
2064                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS vcalendar"
2065         else
2066                 AC_MSG_RESULT(no)
2067                 AC_MSG_ERROR("Plugin vcalendar cannot be built; missing $dependencies_missing")
2068         fi
2069 else
2070         DISABLED_PLUGINS="$DISABLED_PLUGINS vcalendar"
2071         AC_MSG_RESULT(no)
2072 fi
2073
2074 dnl And finally the automake conditionals.
2075
2076 AM_CONDITIONAL(BUILD_ACPI_NOTIFIER_PLUGIN,      test x"$enable_acpi_notifier_plugin" != xno)
2077 AM_CONDITIONAL(BUILD_ADDRESS_KEEPER_PLUGIN,     test x"$enable_address_keeper_plugin" != xno)
2078 AM_CONDITIONAL(BUILD_ARCHIVE_PLUGIN,            test x"$enable_archive_plugin" != xno)
2079 AM_CONDITIONAL(BUILD_ATT_REMOVER_PLUGIN,        test x"$enable_att_remover_plugin" != xno)
2080 AM_CONDITIONAL(BUILD_ATTACHWARNER_PLUGIN,       test x"$enable_attachwarner_plugin" != xno)
2081 AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN,         test x"$enable_bogofilter_plugin" != xno)
2082 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,           test x"$enable_bsfilter_plugin" != xno)
2083 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,              test x"$enable_clamd_plugin" != xno)
2084 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,               test x"$enable_demo_plugin" != xno)
2085 AM_CONDITIONAL(BUILD_DILLO_PLUGIN,              test x"$enable_dillo_plugin" != xno)
2086 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,              test x"$enable_fancy_plugin" != xno)
2087 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,          test x"$enable_fetchinfo_plugin" != xno)
2088 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,              test x"$enable_gdata_plugin" != xno)
2089 AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN,         test x"$enable_libravatar_plugin" != xno)
2090 AM_CONDITIONAL(BUILD_LITEHTML_VIEWER_PLUGIN,    test x"$enable_litehtml_viewer_plugin" != xno)
2091 AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN,           test x"$enable_mailmbox_plugin" != xno)
2092 AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN,        test x"$enable_managesieve_plugin" != xno)
2093 AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN,            test x"$enable_newmail_plugin" != xno)
2094 AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN,       test x"$enable_notification_plugin" != xno)
2095 AM_CONDITIONAL(BUILD_HOTKEYS,                   test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
2096 AM_CONDITIONAL(BUILD_PDF_VIEWER_PLUGIN,         test x"$enable_pdf_viewer_plugin" != xno)
2097 AM_CONDITIONAL(BUILD_PERL_PLUGIN,               test x"$enable_perl_plugin" != xno)
2098 AM_CONDITIONAL(BUILD_PYTHON_PLUGIN,             test x"$enable_python_plugin" != xno)
2099 AM_CONDITIONAL(BUILD_PGPCORE_PLUGIN,            test x"$enable_pgpcore_plugin" != xno)
2100 AM_CONDITIONAL(BUILD_PGPMIME_PLUGIN,            test x"$enable_pgpmime_plugin" != xno)
2101 AM_CONDITIONAL(BUILD_PGPINLINE_PLUGIN,          test x"$enable_pgpinline_plugin" != xno)
2102 AM_CONDITIONAL(BUILD_RSSYL_PLUGIN,              test x"$enable_rssyl_plugin" != xno)
2103 AM_CONDITIONAL(BUILD_SMIME_PLUGIN,              test x"$enable_smime_plugin" != xno)
2104 AM_CONDITIONAL(BUILD_SPAMASSASSIN_PLUGIN,       test x"$enable_spamassassin_plugin" != xno)
2105 AM_CONDITIONAL(BUILD_SPAM_REPORT_PLUGIN,        test x"$enable_spam_report_plugin" != xno)
2106 AM_CONDITIONAL(BUILD_TNEF_PARSE_PLUGIN,         test x"$enable_tnef_parse_plugin" != xno)
2107 AM_CONDITIONAL(BUILD_VCALENDAR_PLUGIN,          test x"$enable_vcalendar_plugin" != xno)
2108
2109
2110 dnl ****************************
2111 dnl ** Final configure output **
2112 dnl ****************************
2113
2114 AC_OUTPUT([
2115 Makefile
2116 m4/Makefile
2117 po/Makefile.in
2118 src/common/version.h
2119 src/Makefile
2120 src/common/Makefile
2121 src/common/passcrypt.h
2122 src/common/tests/Makefile
2123 src/gtk/Makefile
2124 src/etpan/Makefile
2125 src/plugins/Makefile
2126 src/plugins/acpi_notifier/Makefile
2127 src/plugins/address_keeper/Makefile
2128 src/plugins/archive/Makefile
2129 src/plugins/att_remover/Makefile
2130 src/plugins/attachwarner/Makefile
2131 src/plugins/bogofilter/Makefile
2132 src/plugins/bsfilter/Makefile
2133 src/plugins/clamd/Makefile
2134 src/plugins/clamd/libclamd/Makefile
2135 src/plugins/demo/Makefile
2136 src/plugins/dillo/Makefile
2137 src/plugins/fancy/Makefile
2138 src/plugins/fetchinfo/Makefile
2139 src/plugins/gdata/Makefile
2140 src/plugins/litehtml_viewer/Makefile
2141 src/plugins/litehtml_viewer/litehtml/Makefile
2142 src/plugins/libravatar/Makefile
2143 src/plugins/mailmbox/Makefile
2144 src/plugins/managesieve/Makefile
2145 src/plugins/newmail/Makefile
2146 src/plugins/notification/Makefile
2147 src/plugins/notification/gtkhotkey/Makefile
2148 src/plugins/pdf_viewer/Makefile
2149 src/plugins/perl/Makefile
2150 src/plugins/perl/tools/Makefile
2151 src/plugins/python/Makefile
2152 src/plugins/python/examples/Makefile
2153 src/plugins/pgpcore/Makefile
2154 src/plugins/pgpcore/tests/Makefile
2155 src/plugins/pgpmime/Makefile
2156 src/plugins/pgpinline/Makefile
2157 src/plugins/rssyl/Makefile
2158 src/plugins/rssyl/tests/Makefile
2159 src/plugins/rssyl/libfeed/Makefile
2160 src/plugins/rssyl/libfeed/tests/Makefile
2161 src/plugins/smime/Makefile
2162 src/plugins/spamassassin/Makefile
2163 src/plugins/spam_report/Makefile
2164 src/plugins/tnef_parse/Makefile
2165 src/plugins/vcalendar/Makefile
2166 src/tests/Makefile
2167 doc/Makefile
2168 doc/man/Makefile
2169 tools/Makefile
2170 config/Makefile
2171 manual/Makefile
2172 manual/dtd/Makefile
2173 manual/dist/Makefile
2174 manual/dist/pdf/Makefile
2175 manual/dist/ps/Makefile
2176 manual/dist/html/Makefile
2177 manual/dist/txt/Makefile
2178 manual/fr/Makefile
2179 manual/fr/dist/Makefile
2180 manual/fr/dist/pdf/Makefile
2181 manual/fr/dist/ps/Makefile
2182 manual/fr/dist/html/Makefile
2183 manual/fr/dist/txt/Makefile
2184 manual/es/Makefile
2185 manual/es/dist/Makefile
2186 manual/es/dist/pdf/Makefile
2187 manual/es/dist/ps/Makefile
2188 manual/es/dist/html/Makefile
2189 manual/es/dist/txt/Makefile
2190 claws-mail.pc
2191 ])
2192
2193 dnl Output the configuration summary
2194 echo ""
2195 echo "$PACKAGE $VERSION"
2196 echo ""
2197 if test x"$enable_alternate_addressbook" = xyes; then
2198         echo "Using Address Book : Alternate experimental interface"
2199 else
2200         echo "Using Address Book : Original stable interface"
2201         echo "JPilot             : $enable_jpilot"
2202         echo "LDAP               : $enable_ldap"
2203 fi
2204 echo "gnuTLS             : $enable_gnutls"
2205 echo "iconv              : $am_cv_func_iconv"
2206 echo "compface           : $enable_compface"
2207 echo "IPv6               : $enable_ipv6"
2208 echo "enchant            : $enable_enchant"
2209 echo "IMAP4              : $enable_libetpan"
2210 echo "NNTP               : $enable_libetpan"
2211 echo "Crash dialog       : $enable_crash_dialog"
2212 echo "LibSM              : $enable_libsm"
2213 echo "DBUS               : $enable_dbus"
2214 echo "NetworkManager     : $enable_networkmanager"
2215 echo "Manual             : $enable_manual"
2216 echo "Generic UMPC code  : $enable_generic_umpc"
2217 echo "SVG support        : $enable_svg"
2218 echo "Config dir         : $ac_cv_with_config_dir"
2219 echo "Password crypto    : $pwd_crypto"
2220 echo "Unit tests         : $enable_tests"
2221
2222 echo "Plugins"
2223 echo "   Built:"
2224 for plugin in $PLUGINS; do
2225 echo "            - $plugin"
2226 if test x"$plugin" = xnotification; then
2227         echo "                Features:"
2228         for notif_feature in $notification_features; do
2229                 echo "                    $notif_feature"
2230         done;
2231         if test "x$notification_missing_dependencies" != x; then
2232                 echo "                Disabled due to missing dependencies:"
2233                 for notif_miss_dep in $notification_missing_dependencies; do
2234                         echo "                    $notif_miss_dep"
2235                 done;
2236         fi
2237 fi
2238 done;
2239 if test "x$DISABLED_PLUGINS" != x; then
2240 echo "   Disabled:"
2241 for plugin in $DISABLED_PLUGINS; do
2242 echo "            - $plugin"
2243 done;
2244 fi
2245
2246 if test "x$MISSING_DEPS_PLUGINS" != x; then
2247 echo "   Disabled due to missing dependencies:"
2248 for plugin in $MISSING_DEPS_PLUGINS; do
2249 echo "            - $plugin"
2250 done;
2251 fi
2252 echo ""
2253 echo "The binary will be installed in $prefix/bin"
2254 echo ""
2255 echo "Configure finished, type 'make' to build."