fix bug 3584, 'After 3.13.1, characters in some Japanese codec are never correctly...
[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=".claws-mail")
511 if test x"$ac_cv_with_config_dir" = x""; then
512         ac_cv_with_config_dir=".claws-mail"
513 fi
514 AC_DEFINE_UNQUOTED(CFG_RC_DIR, "$ac_cv_with_config_dir", Configuration directory)
515
516 dnl ************************
517 dnl ** GTK user interface **
518 dnl ************************
519
520 dnl Checks for GTK
521 AM_CONDITIONAL(GTK3, false)
522 AM_CONDITIONAL(GTK2, true)
523 if test x"$enable_gtk3" = x"yes"; then
524         PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.0 cairo)
525         AM_CONDITIONAL(GTK3, true)
526         AM_CONDITIONAL(GTK2, false)
527 else
528         PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16)
529 fi
530 AC_SUBST(GTK_CFLAGS)
531 AC_SUBST(GTK_LIBS)
532
533 dnl enchant is used for spell checking
534 AC_MSG_CHECKING([whether to use enchant])
535 AC_MSG_RESULT($enable_enchant)
536 if test $enable_enchant = yes; then
537         PKG_CHECK_MODULES(ENCHANT, enchant >= 1.0.0,
538         [
539                 AC_DEFINE(USE_ENCHANT, 1, enchant)
540                 echo "Building with enchant"
541                 enable_enchant=yes
542                 CFLAGS="$CFLAGS `$PKG_CONFIG --cflags enchant`"
543         ],
544         [
545                 echo "Building without enchant-notification"
546                 enable_enchant=no
547         ])
548         AC_SUBST(ENCHANT_CFLAGS)
549         AC_SUBST(ENCHANT_LIBS)
550 fi
551
552 dnl want crash dialog
553 if test $enable_crash_dialog = yes; then
554 dnl check if GDB is somewhere
555         AC_CHECK_PROG(enable_crash_dialog, gdb, yes, no)
556         AC_MSG_CHECKING([whether to use crash dialog])
557         if test $enable_crash_dialog = yes; then
558                 AC_DEFINE(CRASH_DIALOG, 1, Pop up crash dialog)
559         fi
560         AC_MSG_RESULT($enable_crash_dialog)
561 fi
562
563 dnl generic umpc
564 if test $enable_generic_umpc = yes; then
565         AC_DEFINE(GENERIC_UMPC, 1, Generic UMPC code)
566         AC_MSG_RESULT($enable_generic_umpc)
567 fi
568
569 dnl Check for X-Face support
570 AC_MSG_CHECKING([whether to use compface])
571 if test x"$enable_compface" = xyes; then
572         AC_MSG_RESULT(yes)
573         AC_CHECK_LIB(compface, uncompface,
574                 [AC_DEFINE(HAVE_LIBCOMPFACE, 1, Define if you want compface support.)],
575                 [enable_compface=no])
576         if test x"$enable_compface" = xyes; then
577                 COMPFACE_LIBS="-lcompface"
578         else
579                 COMPFACE_LIBS=""
580         fi
581         AC_SUBST(COMPFACE_LIBS)
582 else
583         AC_MSG_RESULT(no)
584 fi
585
586 dnl check for pthread support
587 AC_MSG_CHECKING([whether to use pthread])
588 if test x$enable_pthread = xno; then
589         AC_MSG_RESULT(no)
590 else
591         AC_MSG_RESULT(yes)
592
593         # For W32 we need to use a special ptrhead lib. In this case we can't
594         # use AC_CHECK_LIB because it has no means of checking for a
595         # library installed under a different name.  Checking for the
596         # header is okay.
597         if test -n "${pthread_name}" ; then
598            enable_pthread=yes
599         else
600         AC_CHECK_LIB(pthread, pthread_create, :, enable_pthread=no)
601         fi
602         AC_CHECK_HEADERS(pthread.h, :, enable_pthread=no)
603
604         if test x$enable_pthread = xyes; then
605                 AC_DEFINE(USE_PTHREAD, 1, Define if you have pthread)
606                 if test -z "${pthread_name}" ; then
607                 PTHREAD_LIBS="-lpthread"
608         fi
609         fi
610
611 fi
612 AC_SUBST(PTHREAD_LIBS)
613
614 dnl
615 dnl Check whether we need to pass -lresolv
616 dnl We know that we don't need it for W32.
617 dnl
618 if test x$os_win32 = xno; then
619   t_oldLibs="$LIBS"
620   LIBS="$LIBS"
621   ac_cv_var__res_options=no
622   AC_TRY_LINK([#include <sys/types.h>
623              #include <sys/socket.h>
624              #include <netinet/in.h>
625              #include <arpa/nameser.h>
626              #include <resolv.h>],
627                 [_res.options = RES_INIT;],
628                 ac_cv_var__res_options=yes);
629   if test "$ac_cv_var__res_options" != "yes"; then
630         LIBRESOLV="-lresolv"
631   fi
632   LIBS="$t_oldLibs"
633
634   if test "x$LIBRESOLV" = "x"; then
635         AC_CHECK_LIB(resolv, res_query, [LIBRESOLV=-lresolv])
636         LIBS="$t_oldLibs"
637   fi
638 fi
639 AC_SUBST(LIBRESOLV)
640
641 LIBS="$LIBS $LIBRESOLV"
642
643 dnl #######################################################################
644 dnl # Check for startup notification
645 dnl #######################################################################
646 if test "x$enable_startup_notification" = "xyes"; then
647         PKG_CHECK_MODULES(STARTUP_NOTIFICATION, libstartup-notification-1.0 >= 0.5,
648         [
649                 AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1, [Define if we're using libstartup-notification.])
650                 echo "Building with libstartup-notification"
651                 enable_startup_notification=yes
652         ],
653         [
654                 echo "Building without libstartup-notification"
655                 enable_startup_notification=no
656         ])
657
658         AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
659         AC_SUBST(STARTUP_NOTIFICATION_LIBS)
660 fi
661
662 dnl #######################################################################
663 dnl # Check for D-Bus support
664 dnl #######################################################################
665 if test "x$enable_dbus" = "xyes"; then
666         PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
667         [
668                 AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
669                 enable_dbus_glib=yes
670         ],
671         [
672                 echo "D-Bus requirements not met. D-Bus support not activated."
673                 enable_dbus_glib=no
674         ])
675         AC_SUBST(DBUS_CFLAGS)
676         AC_SUBST(DBUS_LIBS)
677 fi
678
679 dnl #######################################################################
680 dnl # Configure address book support
681 dnl #######################################################################
682
683 dnl #######################################################################
684 dnl # Check for alternate address book support
685 dnl #######################################################################
686 AC_MSG_CHECKING([whether DBUS support for alternate address book is present])
687 if test x"$enable_dbus_glib" = xyes; then
688         AC_MSG_RESULT([yes])
689         AC_MSG_CHECKING([whether to enable alternate address book])
690         if test x"$enable_alternate_addressbook" = xyes; then
691                 AC_MSG_RESULT([yes])
692                 PKG_CHECK_MODULES(CONTACTS, [claws-contacts],
693                 [
694                         AC_DEFINE(USE_ALT_ADDRBOOK, 1, [Define if alternate address book is to be activated.])
695                         enable_alternate_addressbook=yes
696                         AC_SUBST(CONTACTS_CFLAGS)
697                         AC_SUBST(CONTACTS_LIBS)
698                 ],
699                 [
700                         enable_alternate_addressbook=no
701                 ])
702         else
703                 AC_MSG_RESULT([no])
704                 enable_alternate_addressbook=no
705         fi
706 else
707         AC_MSG_RESULT([no])
708         enable_alternate_addressbook=no
709 fi
710
711 dnl #######################################################################
712 dnl # Check for old address book support
713 dnl #######################################################################
714 if test x"$enable_alternate_addressbook" = xno; then
715         dnl for LDAP support in addressbook
716         dnl no check for libraries; dynamically loaded
717         AC_MSG_CHECKING([whether to use LDAP])
718         if test x"$enable_ldap" = xno; then
719                 AC_MSG_RESULT(no)
720         elif test x"$enable_ldap" = xyes -a x"$enable_pthread" = xno; then
721                 AC_MSG_RESULT(no - LDAP support needs pthread support)
722
723                 enable_ldap=no
724         elif test x"$platform_win32" = xyes; then
725                 AC_MSG_RESULT(yes)
726                 AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
727                 LDAP_LIBS="-lwldap32"
728                 AC_SUBST(LDAP_LIBS)
729         else
730                 AC_MSG_RESULT(yes)
731
732                 dnl check for available libraries, and pull them in
733                 AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv")
734                 AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket")
735                 AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl")
736                 AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",,
737                                  $LDAP_LIBS)
738
739                 AC_CHECK_HEADERS(ldap.h lber.h,
740                                  [ enable_ldap=yes ],
741                                  [ enable_ldap=no ])
742
743                 if test "$enable_ldap" = yes; then
744                         AC_CHECK_LIB(ldap, ldap_open,
745                                          [ enable_ldap=yes ],
746                                          [ enable_ldap=no ],
747                                          $LDAP_LIBS)
748
749                         AC_CHECK_LIB(ldap, ldap_start_tls_s,
750                                              [ ac_cv_have_tls=yes ],
751                                              [ ac_cv_have_tls=no ])
752
753                 fi
754
755                 AC_MSG_CHECKING([whether ldap library is available])
756                 AC_MSG_RESULT($enable_ldap)
757
758                 AC_MSG_CHECKING([whether TLS library is available])
759                 AC_MSG_RESULT($ac_cv_have_tls)
760
761                 if test "$enable_ldap" = yes; then
762                         AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
763                         LDAP_LIBS="$LDAP_LIBS -lldap"
764                         AC_SUBST(LDAP_LIBS)
765                         if test "$ac_cv_have_tls" = yes; then
766                                 AC_DEFINE(USE_LDAP_TLS, 1, Define if you want LDAP TLS support in addressbook.)
767                         fi
768                         dnl As of OpenLDAP API version 3000 a number of functions has
769                         dnl been deprecated. As Claws-mail compiles and runs on many
770                         dnl platforms and many versions of OpenLDAP we need to be able
771                         dnl to switch between the old and new API because new API has
772                         dnl added new functions replacing old ones and at the same time
773                         dnl old functions has been changed.
774                         dnl If cross-compiling defaults to enable deprecated features
775                         dnl for maximum portability
776                         AC_MSG_CHECKING([The API version of OpenLDAP])
777                         AC_RUN_IFELSE(
778                                 [AC_LANG_PROGRAM(
779                                  [#include <ldap.h>],
780                                  [if (LDAP_API_VERSION >= 3000)
781                                                 return 1
782                                 ])],
783                                 [AC_MSG_RESULT([version < 3000])
784                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)],
785                                 [AC_MSG_RESULT([version >= 3000])
786                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 1, Define if OpenLDAP API is at least version 3000.)],
787                                 [AC_MSG_RESULT([Enabling deprecated features in OpenLDAP])
788                                  AC_DEFINE(OPEN_LDAP_API_AT_LEAST_3000, 0, Define if OpenLDAP API is at least version 3000.)
789                                  AC_DEFINE(LDAP_DEPRECATED, 1, Define to activate deprecated features in OpenLDAP)]
790                         )
791                 fi
792         fi
793
794         dnl for JPilot support in addressbook
795         dnl no check for libraries; these are dynamically loaded
796         AC_MSG_CHECKING([whether to use JPilot])
797         if test "$enable_jpilot" = yes; then
798                 AC_MSG_RESULT(yes)
799                 AC_CHECK_HEADERS(pi-args.h pi-appinfo.h pi-address.h pi-version.h,
800                                  [ AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ],
801                                  [ enable_jpilot=no ])
802                 if test "$enable_jpilot" = no; then
803                         AC_CHECK_HEADERS(libpisock/pi-args.h libpisock/pi-appinfo.h libpisock/pi-address.h libpisock/pi-version.h,
804                                          [ enable_jpilot=yes
805                                            AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ])
806                 fi
807
808                 AC_CHECK_LIB(pisock, unpack_Address, [JPILOT_LIBS="-lpisock"], [JPILOT_LIBS="" enable_jpilot="no"])
809                 if test x"$enable_jpilot" = xyes; then
810                         AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.)
811                 else
812                         AC_MSG_NOTICE([JPilot support not available])
813                 fi
814                 AC_SUBST(JPILOT_LIBS)
815         else
816                 AC_MSG_RESULT(no)
817         fi
818 fi
819
820 AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes")
821
822 dnl #######################################################################
823 dnl # Check for NetworkManager support
824 dnl #######################################################################
825 if test x"$enable_dbus_glib" = xyes; then
826         if test x"$enable_networkmanager" = xyes; then
827                 PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, NetworkManager >= 0.6.2,
828                 [
829                         AC_DEFINE(HAVE_NETWORKMANAGER_SUPPORT, 1, [Define if NetworkManager support is to be included.])
830                         echo "Building with NetworkManager support"
831                         enable_networkmanager=yes
832                 ],
833                 [
834                         echo "NetworkManager not found."
835                         enable_networkmanager=no
836                 ])
837                 AC_SUBST(NETWORKMANAGER_SUPPORT_CFLAGS)
838         fi
839 else
840         echo "NetworkManager support deactivated as D-Bus requirements were not met."
841         enable_networkmanager=no
842 fi
843
844 dnl Libetpan
845 AC_MSG_CHECKING([whether to use libetpan])
846 if test x"$enable_libetpan" = xyes; then
847         AC_MSG_RESULT(yes)
848         libetpan_result=no
849         AC_PATH_PROG(libetpanconfig, [libetpan-config])
850         if test "x$libetpanconfig" != "x"; then
851           CPPFLAGS="$CPPFLAGS `$libetpanconfig --cflags 2>/dev/null`"
852           AC_CHECK_HEADER(libetpan/libetpan.h, [libetpan_result=yes])
853           if test "x$libetpan_result" = "xyes"; then
854             AC_MSG_CHECKING([whether libetpan-config hints compiles and links fine])
855             LIBS="$LIBS `$libetpanconfig --libs 2>/dev/null`"
856             AC_TRY_LINK([#include <libetpan/dbstorage.h>], [db_mailstorage_init(NULL, NULL);], [libetpan_result=yes], [libetpan_result=no])
857             AC_MSG_RESULT([$libetpan_result])
858           fi
859         fi
860         if test "x$libetpan_result" = "xyes"; then
861            LIBETPAN_CPPFLAGS="`$libetpanconfig --cflags`"
862            LIBETPAN_LIBS="`$libetpanconfig --libs`"
863            LIBETPAN_VERSION=`$libetpanconfig --version | $AWK -F. '{printf "%d", ($1 * 100) + $2}'`
864            if test "$LIBETPAN_VERSION" -lt "57"; then
865                 AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/])
866                 AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
867                 AC_MSG_ERROR([libetpan 0.57 not found])
868            fi
869            AC_SUBST(LIBETPAN_FLAGS)
870            AC_SUBST(LIBETPAN_LIBS)
871            AC_DEFINE(HAVE_LIBETPAN, 1, Define if you want IMAP and/or NNTP support.)
872         else
873            AC_MSG_RESULT([*** Claws Mail requires libetpan 0.57 or newer. See http://www.etpan.org/ ])
874            AC_MSG_RESULT([*** You can use --disable-libetpan if you don't need IMAP4 and/or NNTP support.])
875            AC_MSG_ERROR([libetpan 0.57 not found])
876         fi
877 else
878         AC_MSG_RESULT(no)
879 fi
880 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
881
882 AC_MSG_CHECKING([whether to use valgrind])
883 if test x$enable_valgrind = xyes; then
884         AC_MSG_RESULT(yes)
885         PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
886                           enable_valgrind=yes, enable_valgrind=no)
887         if test x"$enable_valgrind" = xyes; then
888                 AC_DEFINE(HAVE_VALGRIND, 1, Define if you want valgrind support)
889         else
890                 AC_MSG_RESULT(not found)
891         fi
892 else
893         AC_MSG_RESULT(no)
894 fi
895 AM_CONDITIONAL(CLAWS_VALGRIND, test x"$enable_valgrind" = x"yes")
896
897 dnl *************************
898 dnl ** section for plugins **
899 dnl *************************
900
901 PLUGINS=""
902 DISABLED_PLUGINS=""
903 MISSING_DEPS_PLUGINS=""
904
905 dnl First we set the enabled status - either enabled (yes), auto-enabled (auto)
906 dnl or (auto-)disabled (no for both)
907 dnl
908 dnl All plugins are auto-enabled except for Demo which is just there to help
909 dnl potential plugins writers.
910
911 AC_ARG_ENABLE(acpi_notifier-plugin,
912                 [  --disable-acpi_notifier-plugin  Do not build acpi_notifier plugin],
913                 [enable_acpi_notifier_plugin=$enableval], [enable_acpi_notifier_plugin=auto])
914
915 AC_ARG_ENABLE(address_keeper-plugin,
916                 [  --disable-address_keeper-plugin Do not build address_keeper plugin],
917                 [enable_address_keeper_plugin=$enableval], [enable_address_keeper_plugin=auto])
918
919 AC_ARG_ENABLE(archive-plugin,
920                 [  --disable-archive-plugin        Do not build archive plugin],
921                 [enable_archive_plugin=$enableval], [enable_archive_plugin=auto])
922
923 AC_ARG_ENABLE(att_remover-plugin,
924                 [  --disable-att_remover-plugin    Do not build att_remover plugin],
925                 [enable_att_remover_plugin=$enableval], [enable_att_remover_plugin=auto])
926
927 AC_ARG_ENABLE(attachwarner-plugin,
928                 [  --disable-attachwarner-plugin   Do not build attachwarner plugin],
929                 [enable_attachwarner_plugin=$enableval], [enable_attachwarner_plugin=auto])
930
931 AC_ARG_ENABLE(bogofilter-plugin,
932                 [  --disable-bogofilter-plugin     Do not build bogofilter plugin],
933                 [enable_bogofilter_plugin=$enableval], [enable_bogofilter_plugin=auto])
934
935 AC_ARG_ENABLE(bsfilter-plugin,
936                 [  --disable-bsfilter-plugin       Do not build bsfilter plugin],
937                 [enable_bsfilter_plugin=$enableval], [enable_bsfilter_plugin=auto])
938
939 AC_ARG_ENABLE(clamd-plugin,
940                 [  --disable-clamd-plugin          Do not build clamd plugin],
941                 [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
942
943 AC_ARG_ENABLE(fancy-plugin,
944                 [  --disable-fancy-plugin          Do not build fancy plugin],
945                 [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
946
947 AC_ARG_ENABLE(fetchinfo-plugin,
948                 [  --disable-fetchinfo-plugin      Do not build fetchinfo plugin],
949                 [enable_fetchinfo_plugin=$enableval], [enable_fetchinfo_plugin=auto])
950
951 AC_ARG_ENABLE(gdata-plugin,
952                 [  --disable-gdata-plugin          Do not build gdata plugin],
953                 [enable_gdata_plugin=$enableval], [enable_gdata_plugin=auto])
954
955 AC_ARG_ENABLE(libravatar-plugin,
956                 [  --disable-libravatar-plugin     Do not build libravatar  plugin],
957                 [enable_libravatar_plugin=$enableval], [enable_libravatar_plugin=auto])
958
959 AC_ARG_ENABLE(mailmbox-plugin,
960                 [  --disable-mailmbox-plugin       Do not build mailmbox plugin],
961                 [enable_mailmbox_plugin=$enableval], [enable_mailmbox_plugin=auto])
962
963 AC_ARG_ENABLE(managesieve-plugin,
964                 [  --disable-managesieve-plugin    Do not build managesieve plugin],
965                 [enable_managesieve_plugin=$enableval], [enable_managesieve_plugin=auto])
966
967 AC_ARG_ENABLE(newmail-plugin,
968                 [  --disable-newmail-plugin        Do not build newmail plugin],
969                 [enable_newmail_plugin=$enableval], [enable_newmail_plugin=auto])
970
971 AC_ARG_ENABLE(notification-plugin,
972                 [  --disable-notification-plugin   Do not build notification plugin],
973                 [enable_notification_plugin=$enableval], [enable_notification_plugin=auto])
974
975 AC_ARG_ENABLE(pdf_viewer-plugin,
976                 [  --disable-pdf_viewer-plugin     Do not build pdf_viewer plugin],
977                 [enable_pdf_viewer_plugin=$enableval], [enable_pdf_viewer_plugin=auto])
978
979 AC_ARG_ENABLE(perl-plugin,
980                 [  --disable-perl-plugin           Do not build perl plugin],
981                 [enable_perl_plugin=$enableval], [enable_perl_plugin=auto])
982
983 AC_ARG_ENABLE(python-plugin,
984                 [  --disable-python-plugin         Do not build python plugin],
985                 [enable_python_plugin=$enableval], [enable_python_plugin=auto])
986
987 AC_ARG_ENABLE(pgpcore-plugin,
988                 [  --disable-pgpcore-plugin        Do not build pgpcore plugin],
989                 [enable_pgpcore_plugin=$enableval], [enable_pgpcore_plugin=auto])
990
991 AC_ARG_ENABLE(pgpmime-plugin,
992                 [  --disable-pgpmime-plugin        Do not build pgpmime plugin],
993                 [enable_pgpmime_plugin=$enableval], [enable_pgpmime_plugin=auto])
994
995 AC_ARG_ENABLE(pgpinline-plugin,
996                 [  --disable-pgpinline-plugin      Do not build pgpinline plugin],
997                 [enable_pgpinline_plugin=$enableval], [enable_pgpinline_plugin=auto])
998
999 AC_ARG_ENABLE(rssyl-plugin,
1000                 [  --disable-rssyl-plugin          Do not build rssyl plugin],
1001                 [enable_rssyl_plugin=$enableval], [enable_rssyl_plugin=auto])
1002
1003 AC_ARG_ENABLE(smime-plugin,
1004                 [  --disable-smime-plugin          Do not build smime plugin],
1005                 [enable_smime_plugin=$enableval], [enable_smime_plugin=auto])
1006
1007 AC_ARG_ENABLE(spamassassin-plugin,
1008                 [  --disable-spamassassin-plugin   Do not build spamassassin plugin],
1009                 [enable_spamassassin_plugin=$enableval], [enable_spamassassin_plugin=auto])
1010
1011 AC_ARG_ENABLE(spam_report-plugin,
1012                 [  --disable-spam_report-plugin    Do not build spam_report plugin],
1013                 [enable_spam_report_plugin=$enableval], [enable_spam_report_plugin=auto])
1014
1015 AC_ARG_ENABLE(tnef_parse-plugin,
1016                 [  --disable-tnef_parse-plugin     Do not build tnef_parse plugin],
1017                 [enable_tnef_parse_plugin=$enableval], [enable_tnef_parse_plugin=auto])
1018
1019 AC_ARG_ENABLE(vcalendar-plugin,
1020                 [  --disable-vcalendar-plugin      Do not build vcalendar plugin],
1021                 [enable_vcalendar_plugin=$enableval], [enable_vcalendar_plugin=auto])
1022
1023 dnl disabled by default
1024 AC_ARG_ENABLE(demo-plugin,
1025                 [  --enable-demo-plugin         Build demo plugin],
1026                 [enable_demo_plugin=$enableval], [enable_demo_plugin=no])
1027
1028
1029 dnl Then we check (unconditionnaly) for plugins dependencies
1030 dnl Some dependencies are optional, some mandatories. This is taken care of
1031 dnl later.
1032 dnl
1033 dnl During this dependancy check we do the checks themselves, define HAVE_X to
1034 dnl either yes or no, and do the AC_SUBST calls.
1035
1036 dnl Archive:            libarchive
1037 dnl Fancy:              Webkit, curl, optionally libsoup-gnome
1038 dnl Gdata:              libgdata
1039 dnl Libravatar:         libcurl
1040 dnl Notification:       optionally libnotify libindicate libcanberra_gtk hotkey
1041 dnl Pdf-Viewer:         libpoppler
1042 dnl Perl:               sed perl
1043 dnl PGP/Core:           libgpgme
1044 dnl PGP/Mime:           pgpcore libgpgme
1045 dnl PGP/Inline:         pgpcore libgpgme
1046 dnl S/Mime:             pgpcore libgpgme
1047 dnl Python:             Python
1048 dnl RSSyl:              expat libcurl
1049 dnl SpamReport:         libcurl
1050 dnl vCalendar:          libcurl
1051
1052 dnl libcurl ********************************************************************
1053 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
1054 AC_SUBST(CURL_LIBS)
1055 AC_SUBST(CURL_CFLAGS)
1056
1057 dnl expat **********************************************************************
1058 PKG_CHECK_MODULES(EXPAT, expat, HAVE_EXPAT=yes, HAVE_EXPAT=no)
1059
1060 if test x"$HAVE_EXPAT" = xno; then
1061         AC_CHECK_HEADER(expat.h, [expat_header=yes], [expat_header=no])
1062         AC_CHECK_LIB(expat, XML_ParserCreate, [expat_lib=yes], [expat_lib=no])
1063         if test x"$expat_header" = xyes -a x"$expat_lib"=xyes; then
1064                 HAVE_EXPAT=yes
1065                 EXPAT_CFLAGS=""
1066                 EXPAT_LIBS="-lexpat"
1067         fi
1068 fi
1069
1070 AC_SUBST(EXPAT_CFLAGS)
1071 AC_SUBST(EXPAT_LIBS)
1072
1073 dnl webkit *********************************************************************
1074 PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 1.1.14, HAVE_WEBKIT=yes, HAVE_WEBKIT=no)
1075 AC_SUBST(WEBKIT_LIBS)
1076 AC_SUBST(WEBKIT_CFLAGS)
1077
1078 dnl libsoup ********************************************************************
1079 PKG_CHECK_MODULES(LIBSOUP, libsoup-2.4, HAVE_LIBSOUP=yes, HAVE_LIBSOUP=no)
1080 if test x"$HAVE_LIBSOUP" = xyes; then
1081         AC_DEFINE(HAVE_LIBSOUP, 1, [Define if libsoup is available])
1082 fi
1083 AC_SUBST(LIBSOUP_CFLAGS)
1084 AC_SUBST(LIBSOUP_LIBS)
1085
1086 dnl libsoup-gnome **************************************************************
1087 PKG_CHECK_MODULES(LIBSOUP_GNOME, libsoup-gnome-2.4 >= 2.26, HAVE_LIBSOUP_GNOME=yes, HAVE_LIBSOUP_GNOME=no)
1088 if test x"$HAVE_LIBSOUP_GNOME" = xyes; then
1089         AC_DEFINE(HAVE_LIBSOUP_GNOME, 1, [Define if libsoup_gnome is available])
1090 fi
1091 AC_SUBST(LIBSOUP_GNOME_CFLAGS)
1092 AC_SUBST(LIBSOUP_GNOME_LIBS)
1093
1094 dnl libarchive *****************************************************************
1095 AC_CHECK_LIB([archive], [archive_read_new],
1096                        ARCHIVE_LIBS=-larchive
1097                        HAVE_ARCHIVE=yes
1098                        AC_SUBST(ARCHIVE_LIBS),
1099                        HAVE_ARCHIVE=no
1100                        )
1101
1102 dnl libgdata *******************************************************************
1103 PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.1, HAVE_GDATA=yes, HAVE_GDATA=no)
1104 AC_SUBST(GDATA_CFLAGS)
1105 AC_SUBST(GDATA_LIBS)
1106
1107 dnl Poppler ********************************************************************
1108 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
1109 AC_SUBST(POPPLER_LIBS)
1110 AC_SUBST(POPPLER_CFLAGS)
1111
1112 dnl check for Poppler extra features that we conditionally support
1113 if test x"$HAVE_POPPLER" = xyes; then
1114         OLD_CFLAGS=$CFLAGS
1115         CFLAGS="$POPPLER_CFLAGS $GTK_CFLAGS $GLIB_CFLAGS"
1116         AC_CHECK_DECL(POPPLER_DEST_NAMED,
1117                 [AC_DEFINE([HAVE_POPPLER_DEST_NAMED], [], [Description])],
1118                 ,[#include <poppler-action.h>])
1119         AC_CHECK_DECL(POPPLER_DEST_XYZ,
1120                 [AC_DEFINE([HAVE_POPPLER_DEST_XYZ], [], [Description])],
1121                 ,[#include <poppler-action.h>])
1122         CFLAGS=$OLD_CFLAGS
1123 fi
1124
1125 dnl perl ***********************************************************************
1126 AC_CHECK_PROG(HAVE_PERL, perl, yes, no)
1127 if test x"$HAVE_PERL" = xyes; then
1128         AC_MSG_CHECKING(for perl >= 5.8.0)
1129         PERL_VER=`perl -e 'print $] > 5.0079999?"yes":"no"'`
1130         if test "$PERL_VER" = "yes"; then
1131                 AC_MSG_RESULT(yes)
1132         else
1133                 AC_MSG_RESULT(no)
1134                 HAVE_PERL=no
1135         fi
1136 fi
1137 if test x"$HAVE_PERL" = xyes; then
1138         AC_MSG_CHECKING(for Perl compile flags)
1139         PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
1140         PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
1141         PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm//'`
1142         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb//'`
1143         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm//'`
1144         PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc//'`
1145         AC_MSG_RESULT(ok)
1146         AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
1147         
1148         if test x"$HAVE_PERL" = xyes; then
1149                 AC_CHECK_LIB(perl,perl_alloc,[AC_DEFINE(HAVE_LIBPERL, 1, Check for libperl.)], 
1150                                              [ HAVE_LIBPERL=no ])
1151         fi
1152         if test x"$HAVE_LIBPERL" = xno; then
1153                 LIBPERL_PREFIX=`perl -MExtUtils::Embed -e perl_inc`
1154                 LIBPERL_PREFIX=`echo $LIBPERL_PREFIX |sed 's/-I//'`
1155                 AC_MSG_CHECKING([for libperl.so])
1156                 if test -f "$LIBPERL_PREFIX/libperl.so"; then
1157                         AC_MSG_RESULT(yes)
1158                         HAVE_LIBPERL=yes
1159                 else
1160                         AC_MSG_RESULT(no)
1161                 fi      
1162         fi
1163         PERL="perl"
1164         AC_SUBST(PERL)
1165         AC_SUBST(PERL_CFLAGS)
1166         AC_SUBST(PERL_LDFLAGS)
1167 fi
1168
1169 dnl Gpgme **********************************************************************
1170 AM_PATH_GPGME(1.0.0, HAVE_GPGME=yes, HAVE_GPGME=no)
1171 if test x"$HAVE_GPGME" = xyes; then
1172         AC_DEFINE(USE_GPGME, 1, Define if you use GPGME to support OpenPGP.)
1173         AM_PATH_GPGME(1.1.1, AC_DEFINE(HAVE_GPGME_PKA_TRUST, 1, [Define if GPGME supports PKA.]))
1174 fi
1175
1176 dnl Python *********************************************************************
1177 AM_PATH_PYTHON([2.5], [
1178         AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
1179         if test x"$PYTHON_CONFIG" = x"" ; then
1180                 AC_PATH_PROG(PYTHON_CONFIG, python-config)
1181         fi
1182         if test x"$PYTHON_CONFIG" != x""; then
1183                 PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
1184                 PYTHON_LIBS=`$PYTHON_CONFIG --libs`
1185                 PYTHON_PREFIX=`$PYTHON_CONFIG --prefix`
1186                 HAVE_PYTHON=yes
1187         else
1188                 AC_MSG_WARN(python-config not found. Maybe you need to install development packages for Python.)
1189                 HAVE_PYTHON=no
1190         fi
1191
1192         if test x"$HAVE_PYTHON" = xyes; then
1193                 _save_libs="$LIBS"
1194                 if test x"$platform_win32" = xno; then
1195                         # libpython.so
1196                         PYTHON_SHARED_LIB="libpython${PYTHON_VERSION}.so"
1197                         LIBS="-ldl"
1198                         AC_MSG_CHECKING([whether to dlopen $PYTHON_SHARED_LIB works])
1199                         AC_RUN_IFELSE(
1200                                 [AC_LANG_PROGRAM(
1201                                         [#include <dlfcn.h>
1202                                          #define PYTHON_SO_FILE "${PYTHON_SHARED_LIB}"
1203                                         ],
1204                                         [if (!dlopen(PYTHON_SO_FILE, RTLD_NOW | RTLD_GLOBAL)) return 1; return 0;])
1205                                 ],
1206                                 [found_libpython_so="yes"],
1207                                 [found_libpython_so="no"],
1208                                 [AC_MSG_FAILURE([cross-compiling not supported])])
1209                 fi
1210                 if test x"$found_libpython_so" != x"yes"; then
1211                         AC_MSG_RESULT(no)
1212                         AC_MSG_WARN(Could not find Python shared libary: ${PYTHON_SHARED_LIB}. Maybe you need to install development packages for Python.)
1213                         HAVE_PYTHON=no
1214                 else
1215                         AC_MSG_RESULT(yes)
1216                 fi
1217                 LIBS="$_save_libs";
1218         fi
1219         if test x"$HAVE_PYTHON" = xyes; then
1220                 PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 2.10.3, [AC_DEFINE(ENABLE_PYTHON, [1], [Enable Python support])], HAVE_PYTHON=no)
1221         fi
1222 ])
1223 AC_SUBST(PYTHON_SHARED_LIB)
1224 AC_SUBST(PYTHON_CFLAGS)
1225 AC_SUBST(PYTHON_LIBS)
1226 AC_SUBST(PYGTK_CFLAGS)
1227 AC_SUBST(PYGTK_LIBS)
1228
1229 dnl libnotify ******************************************************************
1230 PKG_CHECK_MODULES(libnotify, libnotify >= 0.4.3, HAVE_LIBNOTIFY=yes, HAVE_LIBNOTIFY=no)
1231 if test x"$HAVE_LIBNOTIFY" = xyes; then
1232         AC_DEFINE(HAVE_LIBNOTIFY, 1, [Define if libnotify support is enabled])
1233 fi
1234 AC_SUBST(libnotify_CFLAGS)
1235 AC_SUBST(libnotify_LIBS)
1236
1237 dnl libcanberra-gtk ************************************************************
1238 PKG_CHECK_MODULES(libcanberra_gtk, libcanberra-gtk >= 0.6, HAVE_LIBCANBERRA_GTK=yes, HAVE_LIBCANBERRA_GTK=no)
1239 if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1240         AC_DEFINE(HAVE_LIBCANBERRA_GTK, 1, [Define if libcanberra-gtk support is enabled])
1241 fi
1242 AC_SUBST(libcanberra_gtk_CFLAGS)
1243 AC_SUBST(libcanberra_gtk_LIBS)
1244
1245 dnl libindicate ****************************************************************
1246 dnl We support either 0.3+ or 0.5+ or 0.6+ or 0.7+
1247 LIBINDICATE_MODULE=indicate
1248 LIBINDICATE_REQUIRED=0.3.0
1249
1250 PKG_CHECK_EXISTS(indicate-0.5 >= 0.5.0, LIBINDICATE_MODULE=indicate-0.5)
1251 PKG_CHECK_EXISTS(indicate-0.6 >= 0.6.0, LIBINDICATE_MODULE=indicate-0.6)
1252 PKG_CHECK_EXISTS(indicate-0.7 >= 0.7.0, LIBINDICATE_MODULE=indicate-0.7)
1253 PKG_CHECK_MODULES(libindicate, $LIBINDICATE_MODULE >= $LIBINDICATE_REQUIRED, HAVE_LIBINDICATE=yes, HAVE_LIBINDICATE=no)
1254 if test x"$HAVE_LIBINDICATE" = xyes; then
1255         AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for indicators])
1256 fi
1257 AC_SUBST(libindicate_CFLAGS)
1258 AC_SUBST(libindicate_LIBS)
1259
1260 dnl hotkeys ********************************************************************
1261 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)
1262 if test x"$HAVE_HOTKEYS" = xyes; then
1263         AC_DEFINE(NOTIFICATION_HOTKEYS, 1, Activate support for global hotkeys)
1264 fi
1265 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
1266 AC_SUBST(CM_NP_HOTKEY_LIBS)
1267
1268 dnl Third, we now cross the requested plugins and the available dependencies
1269 dnl If some dependencies are missing and the plugin was explicitely enabled,
1270 dnl we error out, else we only inform.
1271
1272 AC_MSG_CHECKING([whether to build acpi_notifier plugin])
1273 if test x"$enable_acpi_notifier_plugin" != xno; then
1274         PLUGINS="$PLUGINS acpi_notifier"
1275         AC_MSG_RESULT(yes)
1276 else
1277         DISABLED_PLUGINS="$DISABLED_PLUGINS acpi_notifier"
1278         AC_MSG_RESULT(no)
1279 fi
1280
1281 AC_MSG_CHECKING([whether to build address_keeper plugin])
1282 if test x"$enable_address_keeper_plugin" != xno; then
1283         PLUGINS="$PLUGINS address_keeper"
1284         AC_MSG_RESULT(yes)
1285 else
1286         DISABLED_PLUGINS="$DISABLED_PLUGINS address_keeper"
1287         AC_MSG_RESULT(no)
1288 fi
1289
1290 AC_MSG_CHECKING([whether to build archive plugin])
1291 if test x"$enable_archive_plugin" != xno; then
1292         dependencies_missing=""
1293
1294         if test x"$HAVE_ARCHIVE" = xno; then
1295                 dependencies_missing="libarchive $dependencies_missing"
1296         fi
1297
1298         if test x"$dependencies_missing" = x; then
1299                 PLUGINS="$PLUGINS archive"
1300                 AC_MSG_RESULT(yes)
1301         elif test x"$enable_archive_plugin" = xauto; then
1302                 AC_MSG_RESULT(no)
1303                 AC_MSG_WARN("Plugin archive will not be built; missing $dependencies_missing")
1304                 enable_archive_plugin=no
1305                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS archive"
1306         else
1307                 AC_MSG_RESULT(no)
1308                 AC_MSG_ERROR("Plugin archive cannot be built; missing $dependencies_missing")
1309         fi
1310 else
1311         DISABLED_PLUGINS="$DISABLED_PLUGINS archive"
1312         AC_MSG_RESULT(no)
1313 fi
1314
1315 AC_MSG_CHECKING([whether to build att_remover plugin])
1316 if test x"$enable_att_remover_plugin" != xno; then
1317         PLUGINS="$PLUGINS att_remover"
1318         AC_MSG_RESULT(yes)
1319 else
1320         DISABLED_PLUGINS="$DISABLED_PLUGINS att_remover"
1321         AC_MSG_RESULT(no)
1322 fi
1323
1324 AC_MSG_CHECKING([whether to build attachwarner plugin])
1325 if test x"$enable_attachwarner_plugin" != xno; then
1326         PLUGINS="$PLUGINS attachwarner"
1327         AC_MSG_RESULT(yes)
1328 else
1329         DISABLED_PLUGINS="$DISABLED_PLUGINS attachwarner"
1330         AC_MSG_RESULT(no)
1331 fi
1332
1333 AC_MSG_CHECKING([whether to build bogofilter plugin])
1334 if test x"$enable_bogofilter_plugin" != xno; then
1335         PLUGINS="$PLUGINS bogofilter"
1336         AC_MSG_RESULT(yes)
1337 else
1338         DISABLED_PLUGINS="$DISABLED_PLUGINS bogofilter"
1339         AC_MSG_RESULT(no)
1340 fi
1341
1342 AC_MSG_CHECKING([whether to build bsfilter plugin])
1343 if test x"$enable_bsfilter_plugin" != xno; then
1344         PLUGINS="$PLUGINS bsfilter"
1345         AC_MSG_RESULT(yes)
1346 else
1347         DISABLED_PLUGINS="$DISABLED_PLUGINS bsfilter"
1348         AC_MSG_RESULT(no)
1349 fi
1350
1351 AC_MSG_CHECKING([whether to build clamd plugin])
1352 if test x"$enable_clamd_plugin" != xno; then
1353         PLUGINS="$PLUGINS clamd"
1354         AC_MSG_RESULT(yes)
1355 else
1356         DISABLED_PLUGINS="$DISABLED_PLUGINS clamd"
1357         AC_MSG_RESULT(no)
1358 fi
1359
1360 AC_MSG_CHECKING([whether to build demo plugin])
1361 if test x"$enable_demo_plugin" != xno; then
1362         PLUGINS="$PLUGINS demo"
1363         AC_MSG_RESULT(yes)
1364 else
1365         DISABLED_PLUGINS="$DISABLED_PLUGINS demo"
1366         AC_MSG_RESULT(no)
1367 fi
1368
1369 AC_MSG_CHECKING([whether to build fancy plugin])
1370 if test x"$enable_fancy_plugin" != xno; then
1371         dependencies_missing=""
1372
1373         if test x"$HAVE_WEBKIT" = xno; then
1374                 dependencies_missing="libwebkit-1.0 $dependencies_missing"
1375         fi
1376         if test x"$HAVE_CURL" = xno; then
1377                 dependencies_missing="libcurl $dependencies_missing"
1378         fi
1379
1380         if test x"$dependencies_missing" = x; then
1381                 PLUGINS="$PLUGINS fancy"
1382                 AC_MSG_RESULT(yes)
1383         elif test x"$enable_fancy_plugin" = xauto; then
1384                 AC_MSG_RESULT(no)
1385                 AC_MSG_WARN("Plugin fancy will not be built; missing $dependencies_missing")
1386                 enable_fancy_plugin=no
1387                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS fancy"
1388         else
1389                 AC_MSG_RESULT(no)
1390                 AC_MSG_ERROR("Plugin fancy cannot be built; missing $dependencies_missing")
1391         fi
1392 else
1393         DISABLED_PLUGINS="$DISABLED_PLUGINS fancy"
1394         AC_MSG_RESULT(no)
1395 fi
1396
1397 AC_MSG_CHECKING([whether to build fetchinfo plugin])
1398 if test x"$enable_fetchinfo_plugin" != xno; then
1399         PLUGINS="$PLUGINS fetchinfo"
1400         AC_MSG_RESULT(yes)
1401 else
1402         DISABLED_PLUGINS="$DISABLED_PLUGINS fetchinfo"
1403         AC_MSG_RESULT(no)
1404 fi
1405
1406 AC_MSG_CHECKING([whether to build gdata plugin])
1407 if test x"$enable_gdata_plugin" != xno; then
1408         dependencies_missing=""
1409
1410         if test x"$HAVE_GDATA" = xno; then
1411                 dependencies_missing="libgdata $dependencies_missing"
1412         fi
1413
1414         if test x"$dependencies_missing" = x; then
1415                 PLUGINS="$PLUGINS gdata"
1416                 AC_MSG_RESULT(yes)
1417         elif test x"$enable_gdata_plugin" = xauto; then
1418                 AC_MSG_RESULT(no)
1419                 AC_MSG_WARN("Plugin gdata will not be built; missing $dependencies_missing")
1420                 enable_gdata_plugin=no
1421                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS gdata"
1422         else
1423                 AC_MSG_RESULT(no)
1424                 AC_MSG_ERROR("Plugin gdata cannot be built; missing $dependencies_missing")
1425         fi
1426 else
1427         DISABLED_PLUGINS="$DISABLED_PLUGINS gdata"
1428         AC_MSG_RESULT(no)
1429 fi
1430
1431 AC_MSG_CHECKING([whether to build libravatar plugin])
1432 if test x"$enable_libravatar_plugin" != xno; then
1433         dependencies_missing=""
1434
1435         if test x"$HAVE_CURL" = xno; then
1436                 dependencies_missing="libcurl $dependencies_missing"
1437         fi
1438
1439         if test x"$dependencies_missing" = x; then
1440                 PLUGINS="$PLUGINS libravatar"
1441                 AC_MSG_RESULT(yes)
1442         elif test x"$enable_libravatar_plugin" = xauto; then
1443                 AC_MSG_RESULT(no)
1444                 AC_MSG_WARN("Plugin libravatar will not be built; missing $dependencies_missing")
1445                 enable_libravatar_plugin=no
1446                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS libravatar"
1447         else
1448                 AC_MSG_RESULT(no)
1449                 AC_MSG_ERROR("Plugin libravatar cannot be built; missing $dependencies_missing")
1450         fi
1451 else
1452         DISABLED_PLUGINS="$DISABLED_PLUGINS libravatar"
1453         AC_MSG_RESULT(no)
1454 fi
1455
1456 AC_MSG_CHECKING([whether to build mailmbox plugin])
1457 if test x"$enable_mailmbox_plugin" != xno; then
1458         PLUGINS="$PLUGINS mailmbox"
1459         AC_MSG_RESULT(yes)
1460 else
1461         DISABLED_PLUGINS="$DISABLED_PLUGINS mailmbox"
1462         AC_MSG_RESULT(no)
1463 fi
1464
1465 AC_MSG_CHECKING([whether to build managesieve plugin])
1466 if test x"$enable_managesieve_plugin" != xno; then
1467         PLUGINS="$PLUGINS managesieve"
1468         AC_MSG_RESULT(yes)
1469 else
1470         DISABLED_PLUGINS="$DISABLED_PLUGINS managesieve"
1471         AC_MSG_RESULT(no)
1472 fi
1473
1474 AC_MSG_CHECKING([whether to build newmail plugin])
1475 if test x"$enable_newmail_plugin" != xno; then
1476         PLUGINS="$PLUGINS newmail"
1477         AC_MSG_RESULT(yes)
1478 else
1479         DISABLED_PLUGINS="$DISABLED_PLUGINS newmail"
1480         AC_MSG_RESULT(no)
1481 fi
1482
1483 AC_MSG_CHECKING([whether to build notification plugin])
1484 if test x"$enable_notification_plugin" != xno; then
1485         PLUGINS="$PLUGINS notification"
1486         AC_MSG_RESULT(yes)
1487
1488         AC_DEFINE(NOTIFICATION_POPUP, 1, Activate notification popup)
1489         AC_DEFINE(NOTIFICATION_BANNER, 1, Activate notification banner)
1490         AC_DEFINE(NOTIFICATION_COMMAND, 1, Activate notification shell command)
1491         AC_DEFINE(NOTIFICATION_TRAYICON, 1, Activate notification trayicon)
1492         if test x"$platform_win32" = xno; then
1493                 AC_DEFINE(NOTIFICATION_LCDPROC, 1, Activate lcdproc support)
1494         fi
1495
1496         notification_features="banner command"
1497         notification_missing_dependencies=""
1498         if test x"$HAVE_HOTKEYS" = xyes; then
1499                 notification_features="$notification_features hotkeys"
1500         else
1501                 notification_missing_dependencies="$notification_missing_dependencies hotkeys"
1502         fi
1503         notification_features="$notification_features lcdproc"
1504         if test x"$HAVE_LIBINDICATE" = xyes; then
1505                 notification_features="$notification_features libindicate"
1506         else
1507                 notification_missing_dependencies="$notification_missing_dependencies libindicate"
1508         fi
1509         if test x"$HAVE_LIBNOTIFY" = xyes; then
1510                 notification_features="$notification_features libnotify"
1511         else
1512                 notification_missing_dependencies="$notification_missing_dependencies libnotify"
1513         fi
1514         if test x"$HAVE_LIBCANBERRA_GTK" = xyes; then
1515                 notification_features="$notification_features libcanberra-gtk"
1516         else
1517                 notification_missing_dependencies="$notification_missing_dependencies libcanberra-gtk"
1518         fi
1519         notification_features="$notification_features popup trayicon"
1520 else
1521         DISABLED_PLUGINS="$DISABLED_PLUGINS notification"
1522         AC_MSG_RESULT(no)
1523 fi
1524
1525 AC_MSG_CHECKING([whether to build pdf_viewer plugin])
1526 if test x"$enable_pdf_viewer_plugin" != xno; then
1527         dependencies_missing=""
1528
1529         if test x"$HAVE_POPPLER" = xno; then
1530                 dependencies_missing="libpoppler-glib $dependencies_missing"
1531         fi
1532
1533         if test x"$dependencies_missing" = x; then
1534                 PLUGINS="$PLUGINS pdf_viewer"
1535                 AC_MSG_RESULT(yes)
1536         elif test x"$enable_pdf_viewer_plugin" = xauto; then
1537                 AC_MSG_RESULT(no)
1538                 AC_MSG_WARN("Plugin pdf_viewer will not be built; missing $dependencies_missing")
1539                 enable_pdf_viewer_plugin=no
1540                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pdf_viewer"
1541         else
1542                 AC_MSG_RESULT(no)
1543                 AC_MSG_ERROR("Plugin pdf_viewer cannot be built; missing $dependencies_missing")
1544         fi
1545 else
1546         DISABLED_PLUGINS="$DISABLED_PLUGINS pdf_viewer"
1547         AC_MSG_RESULT(no)
1548 fi
1549
1550 AC_MSG_CHECKING([whether to build perl plugin])
1551 if test x"$enable_perl_plugin" != xno; then
1552         dependencies_missing=""
1553
1554         if test x"$HAVE_LIBPERL" = xno; then
1555                 dependencies_missing="libperl $dependencies_missing"
1556         fi
1557
1558         if test x"$dependencies_missing" = x; then
1559                 PLUGINS="$PLUGINS perl"
1560                 AC_MSG_RESULT(yes)
1561         elif test x"$enable_perl_plugin" = xauto; then
1562                 AC_MSG_RESULT(no)
1563                 AC_MSG_WARN("Plugin perl will not be built; missing $dependencies_missing")
1564                 enable_perl_plugin=no
1565                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS perl"
1566         else
1567                 AC_MSG_RESULT(no)
1568                 AC_MSG_ERROR("Plugin perl cannot be built; missing $dependencies_missing")
1569         fi
1570 else
1571         DISABLED_PLUGINS="$DISABLED_PLUGINS perl"
1572         AC_MSG_RESULT(no)
1573 fi
1574
1575 AC_MSG_CHECKING([whether to build python plugin])
1576 if test x"$enable_python_plugin" != xno; then
1577         dependencies_missing=""
1578
1579         if test x"$HAVE_PYTHON" = xno; then
1580                 dependencies_missing="python $dependencies_missing"
1581         fi
1582
1583         if test x"$dependencies_missing" = x; then
1584                 PLUGINS="$PLUGINS python"
1585                 AC_MSG_RESULT(yes)
1586         elif test x"$enable_python_plugin" = xauto; then
1587                 AC_MSG_RESULT(no)
1588                 AC_MSG_WARN("Plugin python will not be built; missing $dependencies_missing")
1589                 enable_python_plugin=no
1590                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS python"
1591         else
1592                 AC_MSG_RESULT(no)
1593                 AC_MSG_ERROR("Plugin python cannot be built; missing $dependencies_missing")
1594         fi
1595 else
1596         DISABLED_PLUGINS="$DISABLED_PLUGINS python"
1597         AC_MSG_RESULT(no)
1598 fi
1599
1600 AC_MSG_CHECKING([whether to build pgpcore plugin])
1601 if test x"$enable_pgpcore_plugin" != xno; then
1602         dependencies_missing=""
1603
1604         if test x"$HAVE_GPGME" = xno; then
1605                 dependencies_missing="libgpgme $dependencies_missing"
1606         fi
1607
1608         if test x"$dependencies_missing" = x; then
1609                 PLUGINS="$PLUGINS pgpcore"
1610                 AC_MSG_RESULT(yes)
1611         elif test x"$enable_pgpcore_plugin" = xauto; then
1612                 AC_MSG_RESULT(no)
1613                 AC_MSG_WARN("Plugin pgpcore will not be built; missing $dependencies_missing")
1614                 enable_pgpcore_plugin=no
1615                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpcore"
1616         else
1617                 AC_MSG_RESULT(no)
1618                 AC_MSG_ERROR("Plugin pgpcore cannot be built; missing $dependencies_missing")
1619         fi
1620 else
1621         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpcore"
1622         AC_MSG_RESULT(no)
1623 fi
1624
1625 AC_MSG_CHECKING([whether to build pgpmime plugin])
1626 if test x"$enable_pgpmime_plugin" != xno; then
1627         dependencies_missing=""
1628
1629         if test x"$HAVE_GPGME" = xno; then
1630                 dependencies_missing="libgpgme $dependencies_missing"
1631         fi
1632         if test x"$enable_pgpcore_plugin" = xno; then
1633                 dependencies_missing="pgpcore plugin $dependencies_missing"
1634         fi
1635
1636         if test x"$dependencies_missing" = x; then
1637                 PLUGINS="$PLUGINS pgpmime"
1638                 AC_MSG_RESULT(yes)
1639         elif test x"$enable_pgpmime_plugin" = xauto; then
1640                 AC_MSG_RESULT(no)
1641                 AC_MSG_WARN("Plugin pgpmime will not be built; missing $dependencies_missing")
1642                 enable_pgpmime_plugin=no
1643                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpmime"
1644         else
1645                 AC_MSG_RESULT(no)
1646                 AC_MSG_ERROR("Plugin pgpmime cannot be built; missing $dependencies_missing")
1647         fi
1648 else
1649         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpmime"
1650         AC_MSG_RESULT(no)
1651 fi
1652
1653 AC_MSG_CHECKING([whether to build pgpinline plugin])
1654 if test x"$enable_pgpinline_plugin" != xno; then
1655         dependencies_missing=""
1656
1657         if test x"$HAVE_GPGME" = xno; then
1658                 dependencies_missing="libgpgme $dependencies_missing"
1659         fi
1660         if test x"$enable_pgpcore_plugin" = xno; then
1661                 dependencies_missing="pgpcore plugin $dependencies_missing"
1662         fi
1663
1664         if test x"$dependencies_missing" = x; then
1665                 PLUGINS="$PLUGINS pgpinline"
1666                 AC_MSG_RESULT(yes)
1667         elif test x"$enable_pgpinline_plugin" = xauto; then
1668                 AC_MSG_RESULT(no)
1669                 AC_MSG_WARN("Plugin pgpinline will not be built; missing $dependencies_missing")
1670                 enable_pgpinline_plugin=no
1671                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS pgpinline"
1672         else
1673                 AC_MSG_RESULT(no)
1674                 AC_MSG_ERROR("Plugin pgpinline cannot be built; missing $dependencies_missing")
1675         fi
1676 else
1677         DISABLED_PLUGINS="$DISABLED_PLUGINS pgpinline"
1678         AC_MSG_RESULT(no)
1679 fi
1680
1681 AC_MSG_CHECKING([whether to build rssyl plugin])
1682 if test x"$enable_rssyl_plugin" != xno; then
1683         dependencies_missing=""
1684
1685         if test x"$HAVE_EXPAT" = xno; then
1686                 dependencies_missing="expat $dependencies_missing"
1687         fi
1688         if test x"$HAVE_CURL" = xno; then
1689                 dependencies_missing="libcurl $dependencies_missing"
1690         fi
1691
1692         if test x"$dependencies_missing" = x; then
1693                 PLUGINS="$PLUGINS rssyl"
1694                 AC_MSG_RESULT(yes)
1695         elif test x"$enable_rssyl_plugin" = xauto; then
1696                 AC_MSG_RESULT(no)
1697                 AC_MSG_WARN("Plugin rssyl will not be built; missing $dependencies_missing")
1698                 enable_rssyl_plugin=no
1699                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS rssyl"
1700         else
1701                 AC_MSG_RESULT(no)
1702                 AC_MSG_ERROR("Plugin rssyl cannot be built; missing $dependencies_missing")
1703         fi
1704 else
1705         DISABLED_PLUGINS="$DISABLED_PLUGINS rssyl"
1706         AC_MSG_RESULT(no)
1707 fi
1708
1709 AC_MSG_CHECKING([whether to build spamassassin plugin])
1710 if test x"$enable_spamassassin_plugin" != xno; then
1711         PLUGINS="$PLUGINS spamassassin"
1712         AC_MSG_RESULT(yes)
1713         AC_SPAMASSASSIN
1714 else
1715         DISABLED_PLUGINS="$DISABLED_PLUGINS spamassassin"
1716         AC_MSG_RESULT(no)
1717 fi
1718
1719 AC_MSG_CHECKING([whether to build smime plugin])
1720 if test x"$enable_smime_plugin" != xno; then
1721         dependencies_missing=""
1722
1723         if test x"$HAVE_GPGME" = xno; then
1724                 dependencies_missing="libgpgme $dependencies_missing"
1725         fi
1726         if test x"$enable_pgpcore_plugin" = xno; then
1727                 dependencies_missing="pgpcore plugin $dependencies_missing"
1728         fi
1729
1730         if test x"$dependencies_missing" = x; then
1731                 PLUGINS="$PLUGINS smime"
1732                 AC_MSG_RESULT(yes)
1733         elif test x"$enable_smime_plugin" = xauto; then
1734                 AC_MSG_RESULT(no)
1735                 AC_MSG_WARN("Plugin smime will not be built; missing $dependencies_missing")
1736                 enable_smime_plugin=no
1737                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS smime"
1738         else
1739                 AC_MSG_RESULT(no)
1740                 AC_MSG_ERROR("Plugin smime cannot be built; missing $dependencies_missing")
1741         fi
1742 else
1743         DISABLED_PLUGINS="$DISABLED_PLUGINS smime"
1744         AC_MSG_RESULT(no)
1745 fi
1746
1747 AC_MSG_CHECKING([whether to build spam_report plugin])
1748 if test x"$enable_spam_report_plugin" != xno; then
1749         dependencies_missing=""
1750
1751         if test x"$HAVE_CURL" = xno; then
1752                 dependencies_missing="libcurl $dependencies_missing"
1753         fi
1754
1755         if test x"$dependencies_missing" = x; then
1756                 PLUGINS="$PLUGINS spam_report"
1757                 AC_MSG_RESULT(yes)
1758         elif test x"$enable_spam_report_plugin" = xauto; then
1759                 AC_MSG_RESULT(no)
1760                 AC_MSG_WARN("Plugin spam_report will not be built; missing $dependencies_missing")
1761                 enable_spam_report_plugin=no
1762                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS spam_report"
1763         else
1764                 AC_MSG_RESULT(no)
1765                 AC_MSG_ERROR("Plugin spam_report cannot be built; missing $dependencies_missing")
1766         fi
1767 else
1768         DISABLED_PLUGINS="$DISABLED_PLUGINS spam_report"
1769         AC_MSG_RESULT(no)
1770 fi
1771
1772 AC_MSG_CHECKING([whether to build tnef_parse plugin])
1773 if test x"$enable_tnef_parse_plugin" != xno; then
1774         PLUGINS="$PLUGINS tnef_parse"
1775         AC_MSG_RESULT(yes)
1776 else
1777         DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
1778         AC_MSG_RESULT(no)
1779 fi
1780
1781 AC_MSG_CHECKING([whether to build vcalendar plugin])
1782 if test x"$enable_vcalendar_plugin" != xno; then
1783         dependencies_missing=""
1784
1785         if test x"$HAVE_CURL" = xno; then
1786                 dependencies_missing="libcurl $dependencies_missing"
1787         fi
1788
1789         if test x"$HAVE_PERL" = xno; then
1790                 dependencies_missing="perl $dependencies_missing"
1791         fi
1792
1793         if test x"$dependencies_missing" = x; then
1794                 PLUGINS="$PLUGINS vcalendar"
1795                 AC_MSG_RESULT(yes)
1796         elif test x"$enable_vcalendar_plugin" = xauto; then
1797                 AC_MSG_RESULT(no)
1798                 AC_MSG_WARN("Plugin vcalendar will not be built; missing $dependencies_missing")
1799                 enable_vcalendar_plugin=no
1800                 MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS vcalendar"
1801         else
1802                 AC_MSG_RESULT(no)
1803                 AC_MSG_ERROR("Plugin vcalendar cannot be built; missing $dependencies_missing")
1804         fi
1805 else
1806         DISABLED_PLUGINS="$DISABLED_PLUGINS vcalendar"
1807         AC_MSG_RESULT(no)
1808 fi
1809
1810 dnl And finally the automake conditionals.
1811
1812 AM_CONDITIONAL(BUILD_ACPI_NOTIFIER_PLUGIN,      test x"$enable_acpi_notifier_plugin" != xno)
1813 AM_CONDITIONAL(BUILD_ADDRESS_KEEPER_PLUGIN,     test x"$enable_address_keeper_plugin" != xno)
1814 AM_CONDITIONAL(BUILD_ARCHIVE_PLUGIN,            test x"$enable_archive_plugin" != xno)
1815 AM_CONDITIONAL(BUILD_ATT_REMOVER_PLUGIN,        test x"$enable_att_remover_plugin" != xno)
1816 AM_CONDITIONAL(BUILD_ATTACHWARNER_PLUGIN,       test x"$enable_attachwarner_plugin" != xno)
1817 AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN,         test x"$enable_bogofilter_plugin" != xno)
1818 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,           test x"$enable_bsfilter_plugin" != xno)
1819 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,              test x"$enable_clamd_plugin" != xno)
1820 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,               test x"$enable_demo_plugin" != xno)
1821 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,              test x"$enable_fancy_plugin" != xno)
1822 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,          test x"$enable_fetchinfo_plugin" != xno)
1823 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,              test x"$enable_gdata_plugin" != xno)
1824 AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN,         test x"$enable_libravatar_plugin" != xno)
1825 AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN,           test x"$enable_mailmbox_plugin" != xno)
1826 AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN,                test x"$enable_managesieve_plugin" != xno)
1827 AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN,            test x"$enable_newmail_plugin" != xno)
1828 AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN,       test x"$enable_notification_plugin" != xno)
1829 AM_CONDITIONAL(BUILD_HOTKEYS,                   test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
1830 AM_CONDITIONAL(BUILD_PDF_VIEWER_PLUGIN,         test x"$enable_pdf_viewer_plugin" != xno)
1831 AM_CONDITIONAL(BUILD_PERL_PLUGIN,               test x"$enable_perl_plugin" != xno)
1832 AM_CONDITIONAL(BUILD_PYTHON_PLUGIN,             test x"$enable_python_plugin" != xno)
1833 AM_CONDITIONAL(BUILD_PGPCORE_PLUGIN,            test x"$enable_pgpcore_plugin" != xno)
1834 AM_CONDITIONAL(BUILD_PGPMIME_PLUGIN,            test x"$enable_pgpmime_plugin" != xno)
1835 AM_CONDITIONAL(BUILD_PGPINLINE_PLUGIN,          test x"$enable_pgpinline_plugin" != xno)
1836 AM_CONDITIONAL(BUILD_RSSYL_PLUGIN,              test x"$enable_rssyl_plugin" != xno)
1837 AM_CONDITIONAL(BUILD_SMIME_PLUGIN,              test x"$enable_smime_plugin" != xno)
1838 AM_CONDITIONAL(BUILD_SPAMASSASSIN_PLUGIN,       test x"$enable_spamassassin_plugin" != xno)
1839 AM_CONDITIONAL(BUILD_SPAM_REPORT_PLUGIN,        test x"$enable_spam_report_plugin" != xno)
1840 AM_CONDITIONAL(BUILD_TNEF_PARSE_PLUGIN,         test x"$enable_tnef_parse_plugin" != xno)
1841 AM_CONDITIONAL(BUILD_VCALENDAR_PLUGIN,          test x"$enable_vcalendar_plugin" != xno)
1842
1843
1844 dnl ****************************
1845 dnl ** Final configure output **
1846 dnl ****************************
1847
1848 AC_OUTPUT([
1849 Makefile
1850 m4/Makefile
1851 po/Makefile.in
1852 src/common/version.h
1853 src/Makefile
1854 src/common/Makefile
1855 src/common/passcrypt.h
1856 src/gtk/Makefile
1857 src/etpan/Makefile
1858 src/plugins/Makefile
1859 src/plugins/acpi_notifier/Makefile
1860 src/plugins/address_keeper/Makefile
1861 src/plugins/archive/Makefile
1862 src/plugins/att_remover/Makefile
1863 src/plugins/attachwarner/Makefile
1864 src/plugins/bogofilter/Makefile
1865 src/plugins/bsfilter/Makefile
1866 src/plugins/clamd/Makefile
1867 src/plugins/clamd/libclamd/Makefile
1868 src/plugins/demo/Makefile
1869 src/plugins/fancy/Makefile
1870 src/plugins/fetchinfo/Makefile
1871 src/plugins/gdata/Makefile
1872 src/plugins/libravatar/Makefile
1873 src/plugins/mailmbox/Makefile
1874 src/plugins/managesieve/Makefile
1875 src/plugins/newmail/Makefile
1876 src/plugins/notification/Makefile
1877 src/plugins/notification/gtkhotkey/Makefile
1878 src/plugins/pdf_viewer/Makefile
1879 src/plugins/perl/Makefile
1880 src/plugins/perl/tools/Makefile
1881 src/plugins/python/Makefile
1882 src/plugins/python/examples/Makefile
1883 src/plugins/pgpcore/Makefile
1884 src/plugins/pgpmime/Makefile
1885 src/plugins/pgpinline/Makefile
1886 src/plugins/rssyl/Makefile
1887 src/plugins/rssyl/libfeed/Makefile
1888 src/plugins/smime/Makefile
1889 src/plugins/spamassassin/Makefile
1890 src/plugins/spam_report/Makefile
1891 src/plugins/tnef_parse/Makefile
1892 src/plugins/vcalendar/Makefile
1893 src/plugins/vcalendar/libical/Makefile
1894 src/plugins/vcalendar/libical/libical/icalversion.h
1895 src/plugins/vcalendar/libical/libical/Makefile
1896 src/plugins/vcalendar/libical/design-data/Makefile
1897 src/plugins/vcalendar/libical/scripts/Makefile
1898 doc/Makefile
1899 doc/man/Makefile
1900 tools/Makefile
1901 config/Makefile
1902 manual/Makefile
1903 manual/dtd/Makefile
1904 manual/dist/Makefile
1905 manual/dist/pdf/Makefile
1906 manual/dist/ps/Makefile
1907 manual/dist/html/Makefile
1908 manual/dist/txt/Makefile
1909 manual/fr/Makefile
1910 manual/fr/dist/Makefile
1911 manual/fr/dist/pdf/Makefile
1912 manual/fr/dist/ps/Makefile
1913 manual/fr/dist/html/Makefile
1914 manual/fr/dist/txt/Makefile
1915 manual/es/Makefile
1916 manual/es/dist/Makefile
1917 manual/es/dist/pdf/Makefile
1918 manual/es/dist/ps/Makefile
1919 manual/es/dist/html/Makefile
1920 manual/es/dist/txt/Makefile
1921 claws-mail.pc
1922 ])
1923
1924 dnl Output the configuration summary
1925 echo ""
1926 echo "$PACKAGE $VERSION"
1927 echo ""
1928 if test x"$enable_alternate_addressbook" = xyes; then
1929         echo "Using Address Book : Alternate experimental interface"
1930 else
1931         echo "Using Address Book : Original stable interface"
1932         echo "JPilot             : $enable_jpilot"
1933         echo "LDAP               : $enable_ldap"
1934 fi
1935 echo "gnuTLS             : $enable_gnutls"
1936 echo "iconv              : $am_cv_func_iconv"
1937 echo "compface           : $enable_compface"
1938 echo "IPv6               : $enable_ipv6"
1939 echo "enchant            : $enable_enchant"
1940 echo "IMAP4              : $enable_libetpan"
1941 echo "NNTP               : $enable_libetpan"
1942 echo "Crash dialog       : $enable_crash_dialog"
1943 echo "LibSM              : $enable_libsm"
1944 echo "DBUS               : $enable_dbus"
1945 echo "NetworkManager     : $enable_networkmanager"
1946 echo "Manual             : $enable_manual"
1947 echo "Generic UMPC code  : $enable_generic_umpc"
1948 echo "Config dir         : $ac_cv_with_config_dir"
1949
1950 echo "Plugins"
1951 echo "   Built:"
1952 for plugin in $PLUGINS; do
1953 echo "            - $plugin"
1954 if test x"$plugin" = xnotification; then
1955         echo "                Features:"
1956         for notif_feature in $notification_features; do
1957                 echo "                    $notif_feature"
1958         done;
1959         if test "x$notification_missing_dependencies" != x; then
1960                 echo "                Disabled due to missing dependencies:"
1961                 for notif_miss_dep in $notification_missing_dependencies; do
1962                         echo "                    $notif_miss_dep"
1963                 done;
1964         fi
1965 fi
1966 done;
1967 if test "x$DISABLED_PLUGINS" != x; then
1968 echo "   Disabled:"
1969 for plugin in $DISABLED_PLUGINS; do
1970 echo "            - $plugin"
1971 done;
1972 fi
1973
1974 if test "x$MISSING_DEPS_PLUGINS" != x; then
1975 echo "   Disabled due to missing dependencies:"
1976 for plugin in $MISSING_DEPS_PLUGINS; do
1977 echo "            - $plugin"
1978 done;
1979 fi
1980 echo ""
1981 echo "The binary will be installed in $prefix/bin"
1982 echo ""
1983 echo "Configure finished, type 'make' to build."