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