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