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