Bump libsoup dependency to 2.40.3
[platform/upstream/evolution-data-server.git] / configure.ac
1
2 dnl Evolution-Data-Server version
3 m4_define([eds_major_version], [3])
4 m4_define([eds_minor_version], [7])
5 m4_define([eds_micro_version], [5])
6
7 m4_define([eds_version],
8         [eds_major_version.eds_minor_version.eds_micro_version])
9
10 dnl Base Version: This is for API/version tracking for things like
11 dnl Bonobo server files.  This should always be the major/minor of
12 dnl the stable version or stable version to be.  Note, this is set
13 dnl the way it is so that GETTEXT_PACKAGE will be parsed correctly.
14 BASE_VERSION=3.8
15 m4_define([base_version], [3.8])
16
17 dnl This number is meaningless, but we're now stuck with it in our
18 dnl library names for backward compatibility.
19 m4_define([api_version], [1.2])
20
21 dnl Autoconf / Automake Initialization
22 AC_PREREQ(2.62)
23 AC_INIT([evolution-data-server],[eds_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server])
24 AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability foreign])
25 AC_CONFIG_MACRO_DIR([m4])
26 AC_CONFIG_SRCDIR(README)
27 AC_CONFIG_HEADERS(config.h)
28
29 dnl This is for the autoconf tests only - it set's the language we use
30 AC_LANG(C)
31
32 dnl Automake 1.11 - Silent Build Rules
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
34
35 dnl Required Package Versions
36
37 dnl Keep these two definitions in agreement.
38 m4_define([glib_minimum_version], [2.34])
39 m4_define([glib_encoded_version], [GLIB_VERSION_2_34])
40
41 dnl Keep these two definitions in agreement.
42 m4_define([gdk_minimum_version], [3.2])
43 m4_define([gdk_encoded_version], [GDK_VERSION_3_2])
44
45 dnl Keep these two definitions in agreement.
46 m4_define([soup_minimum_version], [2.40.3])
47 m4_define([soup_encoded_version], [SOUP_VERSION_2_40])
48
49 m4_define([gcr_minimum_version], [3.4])
50 m4_define([libsecret_minimum_version], [0.5])
51 m4_define([libxml_minimum_version], [2.0.0])            dnl XXX Just a Guess
52 m4_define([libgdata_minimum_version], [0.10])
53 m4_define([sqlite_minimum_version], [3.5])
54 m4_define([libical_minimum_version], [0.43])
55
56 dnl Optional Packages
57 m4_define([goa_minimum_version], [3.2])
58 m4_define([gweather_minimum_version], [3.5.0])
59
60 AC_SUBST([BASE_VERSION],[base_version])
61 AC_SUBST([API_VERSION],[api_version])
62 AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
63 AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
64
65 EDS_MAJOR_VERSION=eds_major_version
66 EDS_MINOR_VERSION=eds_minor_version
67 EDS_MICRO_VERSION=eds_micro_version
68
69 GLIB_GSETTINGS
70
71 dnl ******************************
72 dnl D-Bus versioning
73 dnl ******************************
74 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook4"
75 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar3"
76 SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources1"
77 USER_PROMPTER_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.UserPrompter0"
78
79 AC_DEFINE_UNQUOTED(
80        ADDRESS_BOOK_DBUS_SERVICE_NAME,
81        ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
82        [D-Bus service name for the address book factory])
83
84 AC_DEFINE_UNQUOTED(
85        CALENDAR_DBUS_SERVICE_NAME,
86        ["$CALENDAR_DBUS_SERVICE_NAME"],
87        [D-Bus service name for the calendar factory])
88
89 AC_DEFINE_UNQUOTED(
90         SOURCES_DBUS_SERVICE_NAME,
91         ["$SOURCES_DBUS_SERVICE_NAME"],
92         [D-Bus service name for the source registry])
93
94 AC_DEFINE_UNQUOTED(
95         USER_PROMPTER_DBUS_SERVICE_NAME,
96         ["$USER_PROMPTER_DBUS_SERVICE_NAME"],
97         [D-Bus service name for the user prompter])
98
99 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
100 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
101 AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
102 AC_SUBST(USER_PROMPTER_DBUS_SERVICE_NAME)
103
104 dnl ******************************
105 dnl Libtool versioning
106 dnl ******************************
107 LIBEDATASERVER_CURRENT=17
108 LIBEDATASERVER_REVISION=0
109 LIBEDATASERVER_AGE=0
110
111 LIBECAL_CURRENT=15
112 LIBECAL_REVISION=0
113 LIBECAL_AGE=0
114
115 LIBEDATACAL_CURRENT=20
116 LIBEDATACAL_REVISION=0
117 LIBEDATACAL_AGE=0
118
119 LIBEDATABOOK_CURRENT=16
120 LIBEDATABOOK_REVISION=0
121 LIBEDATABOOK_AGE=0
122
123 LIBEBOOK_CURRENT=17
124 LIBEBOOK_REVISION=1
125 LIBEBOOK_AGE=3
126
127 LIBCAMEL_CURRENT=43
128 LIBCAMEL_REVISION=0
129 LIBCAMEL_AGE=0
130
131 LIBEBACKEND_CURRENT=6
132 LIBEBACKEND_REVISION=0
133 LIBEBACKEND_AGE=0
134
135 AC_SUBST(EDS_MAJOR_VERSION)
136 AC_SUBST(EDS_MINOR_VERSION)
137 AC_SUBST(EDS_MICRO_VERSION)
138 AC_SUBST(LIBEDATASERVER_CURRENT)
139 AC_SUBST(LIBEDATASERVER_REVISION)
140 AC_SUBST(LIBEDATASERVER_AGE)
141 AC_SUBST(LIBECAL_CURRENT)
142 AC_SUBST(LIBECAL_REVISION)
143 AC_SUBST(LIBECAL_AGE)
144 AC_SUBST(LIBEDATACAL_CURRENT)
145 AC_SUBST(LIBEDATACAL_REVISION)
146 AC_SUBST(LIBEDATACAL_AGE)
147 AC_SUBST(LIBEBOOK_CURRENT)
148 AC_SUBST(LIBEBOOK_REVISION)
149 AC_SUBST(LIBEBOOK_AGE)
150 AC_SUBST(LIBEDATABOOK_CURRENT)
151 AC_SUBST(LIBEDATABOOK_REVISION)
152 AC_SUBST(LIBEDATABOOK_AGE)
153 AC_SUBST(LIBCAMEL_CURRENT)
154 AC_SUBST(LIBCAMEL_REVISION)
155 AC_SUBST(LIBCAMEL_AGE)
156 AC_SUBST(LIBEBACKEND_CURRENT)
157 AC_SUBST(LIBEBACKEND_REVISION)
158 AC_SUBST(LIBEBACKEND_AGE)
159
160 dnl **************************************
161 dnl Put the ACLOCAL flags in the Makefile
162 dnl **************************************
163 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
164
165 dnl ******************************
166 dnl Compiler Warning Flags
167 dnl ******************************
168 AS_COMPILER_FLAGS(WARNING_FLAGS,
169         "-Wall -Wextra
170         -Wdeprecated-declarations
171         -Wno-missing-field-initializers
172         -Wno-sign-compare
173         -Wno-unused-parameter
174         -Wdeclaration-after-statement
175         -Werror-implicit-function-declaration
176         -Wformat-security -Winit-self
177         -Wmissing-declarations -Wmissing-include-dirs
178         -Wmissing-noreturn -Wnested-externs -Wpointer-arith
179         -Wredundant-decls -Wundef -Wwrite-strings")
180 AC_SUBST(WARNING_FLAGS)
181
182 dnl Other useful compiler warnings for test builds only.
183 dnl These may produce warnings we have no control over,
184 dnl or false positives we don't always want to see.
185 dnl
186 dnl     -Wformat-nonliteral
187 dnl     -Wmissing-format-attribute
188 dnl     -Wshadow
189 dnl     -Wstrict-aliasing=2
190
191 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
192
193 dnl *******************************
194 dnl Check for --enable-strict
195 dnl *******************************
196 AC_ARG_ENABLE([strict],
197         [AS_HELP_STRING([--enable-strict],
198         [enable strict building, like without deprecated symbols (default=auto); auto enables strict building only if .git subdirectory exists])],
199         [enable_strict=$enableval], [enable_strict=auto])
200
201 AC_MSG_CHECKING([if strict building is enabled])
202 if test "x$enable_strict" = xauto; then
203         dnl Be strict when compiling with .git subdirectory
204         if test -d .git ; then
205                 enable_strict=yes
206         else
207                 enable_strict=no
208         fi
209 fi
210 AC_MSG_RESULT([$enable_strict])
211
212 if test "x$enable_strict" = xyes; then
213         AM_CPPFLAGS="$AM_CPPFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
214 fi
215
216 dnl Warn about API usage that violates our minimum requirements.
217 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MAX_ALLOWED=glib_encoded_version"
218 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MAX_ALLOWED=gdk_encoded_version"
219 AM_CPPFLAGS="$AM_CPPFLAGS -DSOUP_VERSION_MAX_ALLOWED=soup_encoded_version"
220
221 dnl These will suppress warnings about newly-deprecated symbols.  Ideally
222 dnl these settings should match our minimum requirements and we will clean
223 dnl up any new deprecation warnings after bumping our minimum requirements.
224 dnl But if the warnings get to be overwhelming, use fixed versions instead.
225 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MIN_REQUIRED=glib_encoded_version"
226 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MIN_REQUIRED=gdk_encoded_version"
227 AM_CPPFLAGS="$AM_CPPFLAGS -DSOUP_VERSION_MIN_REQUIRED=soup_encoded_version"
228
229 AC_SUBST(AM_CPPFLAGS)
230
231 dnl ******************************
232 dnl Initialize maintainer mode
233 dnl ******************************
234 AM_MAINTAINER_MODE([enable])
235
236 if test "x$enable_maintainer_mode" = "xyes" ; then
237         AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
238 fi
239
240 AC_PROG_CC
241 AC_PROG_CPP
242 AC_C_INLINE
243 AM_PROG_CC_C_O
244 AC_PROG_INSTALL
245 AC_PROG_LN_S
246 AC_PROG_MAKE_SET
247
248 dnl For gen-western-table.py
249 AM_PATH_PYTHON
250
251 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
252 dnl behavior that -- according to the C99 standard -- is supposed to be
253 dnl undefined.  We may still have aliasing abuses lying around that rely
254 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
255 dnl optimization until we can find and fix all the abuses.
256 dnl (AC_PROG_CC must run first to set the GCC variable.)
257 dnl XXX This really belongs in AM_CFLAGS.
258 if test "x${GCC}" = "xyes"; then
259         CFLAGS="$CFLAGS -fno-strict-aliasing"
260 fi
261
262 dnl ******************************
263 dnl I18N stuff
264 dnl ******************************
265 IT_PROG_INTLTOOL([0.35.5])
266
267 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
268 AC_SUBST(GETTEXT_PACKAGE)
269 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
270
271 localedir='$(prefix)/$(DATADIRNAME)/locale'
272 AC_SUBST(localedir)
273
274 dnl ******************************
275 dnl Initialize libtool
276 dnl ******************************
277 LT_PREREQ(2.2)
278 LT_INIT(disable-static win32-dll)
279
280 PKG_PROG_PKG_CONFIG
281
282 dnl This relies on $SED, which is defined in ltmain.sh, which
283 dnl is invoked by LT_INIT (at least I think that's how it works).
284 GNOME_CODE_COVERAGE
285
286 dnl ******************************
287 dnl Gtk Doc stuff
288 dnl ******************************
289 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
290
291 dnl The private D-Bus documentation is for developers only.
292 AC_ARG_WITH([private-docs],
293         AS_HELP_STRING([--with-private-docs],
294         [Build documentation for private libraries ]
295         [(requires --enable-gtk-doc) [default=no]],),
296         [with_private_docs="$withval"],[with_private_docs="no"])
297 AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
298
299 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
300 case "$host" in
301 *openbsd*|*freebsd*)
302         dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
303         ;;
304 *)
305         LDFLAGS="$LDFLAGS -Wl,--no-undefined"
306         ;;
307 esac
308
309 dnl ******************************
310 dnl Check for Win32
311 dnl ******************************
312 AC_MSG_CHECKING([for Win32])
313 case "$host" in
314 *-mingw*)
315         os_win32='yes'
316         NO_UNDEFINED='-no-undefined'
317         SOCKET_LIBS='-lws2_32 -ldnsapi'
318         DL_LIB=''
319         LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
320         AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
321         AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
322         ;;
323 *openbsd*|*freebsd*)
324         os_win32='no'
325         NO_UNDEFINED=''
326         SOCKET_LIBS=''
327         DL_LIB=''
328         LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
329         ;;
330 *)
331         os_win32='no'
332         NO_UNDEFINED=''
333         SOCKET_LIBS=''
334         DL_LIB='-ldl'
335         LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
336         ;;
337 esac
338 AC_MSG_RESULT([$os_win32])
339 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
340 AC_SUBST(NO_UNDEFINED)
341 AC_SUBST(SOCKET_LIBS)
342 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
343
344 dnl **************************************
345 dnl Check for posix compatible sys/wait.h
346 dnl **************************************
347 AC_HEADER_SYS_WAIT
348
349 dnl ************************************
350 dnl Check for posix compatible alloca()
351 dnl ************************************
352 AC_FUNC_ALLOCA
353
354 dnl ******************************
355 dnl Checks for functions
356 dnl ******************************
357 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
358
359 dnl ***********************************
360 dnl Check for base dependencies early.
361 dnl ***********************************
362 PKG_CHECK_MODULES(GNOME_PLATFORM,
363         [gio-2.0 >= glib_minimum_version
364         gmodule-2.0 >= glib_minimum_version
365         libxml-2.0 >= libxml_minimum_version
366         libsoup-2.4 >= soup_minimum_version])
367
368 if test x$os_win32 = xno; then
369         PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
370 fi
371
372 dnl *************************
373 dnl Check for GTK+
374 dnl *************************
375 AC_ARG_ENABLE([gtk],
376         [AS_HELP_STRING([--enable-gtk],
377         [enable GTK+ (default=yes)])],
378         [enable_gtk=$enableval], [enable_gtk=yes])
379 AC_MSG_CHECKING([if GTK+ support is enabled])
380 AC_MSG_RESULT([$enable_gtk])
381 if test "x$enable_gtk" = xyes; then
382         PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= gdk_minimum_version],,
383         [AC_MSG_ERROR([
384
385         gtk+-3.0 not found (or version < gdk_minimum_version)
386
387         If you want to disable GTK+ support,
388         please append --disable-gtk to configure.
389         ])])
390
391         AC_DEFINE(HAVE_GTK, 1, [Define to 1 if you have the gtk+-3.0 package.])
392 fi
393 AM_CONDITIONAL(HAVE_GTK, [test x$enable_gtk = xyes])
394
395 dnl *******************************
396 dnl Check for GNOME Online Accounts
397 dnl *******************************
398 AC_ARG_ENABLE([goa],
399         [AS_HELP_STRING([--enable-goa],
400         [enable GNOME Online Accounts support (default=yes)])],
401         [enable_goa=$enableval], [enable_goa=yes])
402 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
403 AC_MSG_RESULT([$enable_goa])
404 if test "x$enable_goa" = xyes; then
405         PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
406         [AC_MSG_ERROR([
407
408         goa-1.0 not found (or version < goa_minimum_version)
409
410         If you want to disable GNOME Online Accounts support,
411         please append --disable-goa to configure.
412         ])])
413
414         AC_DEFINE(HAVE_GOA, 1, [Define to 1 if you have the goa-1.0 package.])
415 fi
416 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
417
418 dnl GoaPasswordBased was introduced in version 3.5.
419 if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
420         AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
421 fi
422
423 dnl ***********************************
424 dnl Check for GNOME Keyring.
425 dnl ***********************************
426 if test x$os_win32 = xno; then
427         PKG_CHECK_MODULES(LIBSECRET,
428                 [libsecret-unstable >= libsecret_minimum_version])
429 fi
430 AC_SUBST(LIBSECRET_CFLAGS)
431 AC_SUBST(LIBSECRET_LIBS)
432
433 dnl **********************************************************
434 dnl gcr-base is needed for secure password exchange over D-Bus
435 dnl **********************************************************
436 PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
437 AC_SUBST(GCR_BASE_CFLAGS)
438 AC_SUBST(GCR_BASE_LIBS)
439
440 LIBICAL_REQUIRED=libical_minimum_version
441 AC_SUBST(LIBICAL_REQUIRED)
442
443 dnl ******************************
444 dnl regex check
445 dnl ******************************
446 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
447                         [REGEX_LIBS=-lregex
448                         AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
449                         [AC_MSG_ERROR([No regex library found])])])
450 AC_SUBST(REGEX_LIBS)
451
452 dnl ******************************
453 dnl libdb checking
454 dnl ******************************
455 AC_ARG_WITH([libdb],
456         AS_HELP_STRING([--with-libdb=PREFIX],
457         [Prefix where libdb is installed]),
458         [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
459
460 DB_CFLAGS="-I$libdb_prefix/include"
461 DB_LIBS="-L$libdb_prefix/lib -ldb"
462
463 AC_MSG_CHECKING([Berkeley DB])
464 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
465 save_libs=$LIBS; LIBS="$DB_LIBS"
466 AC_LINK_IFELSE([AC_LANG_PROGRAM(
467         [[#include <db.h>]],
468         [[db_create(NULL, NULL, 0)]])],
469         [AC_MSG_RESULT([yes])],
470         [AC_MSG_ERROR([Cannot find libdb])])
471 CFLAGS=$save_cflags
472 LIBS=$save_libs
473 AC_SUBST(DB_CFLAGS)
474 AC_SUBST(DB_LIBS)
475
476 dnl ******************************
477 dnl iconv checking
478 dnl ******************************
479 have_iconv="no"
480 save_LIBS="$LIBS"
481 LIBS="$LIBS -liconv"
482 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
483         AC_LINK_IFELSE([AC_LANG_PROGRAM(
484         [[
485                 #include <iconv.h>
486                 #include <stdlib.h>
487         ]],
488         [[
489                 iconv_t cd;
490                 cd = iconv_open ("UTF-8", "ISO-8859-1");
491         ]]
492         )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
493
494 if test "x$ac_cv_libiconv" = "xyes"; then
495         ICONV_LIBS="-liconv"
496         if test "x$os_win32" = "xyes"; then
497                 dnl Don't pointlessly auto-export the global symbols
498                 dnl from a potentially static libiconv.a
499                 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
500         fi
501         have_iconv="yes"
502 else
503         LIBS="$save_LIBS"
504         AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
505 fi
506
507 if test "x$have_iconv" = "xyes"; then
508         if test "x$ac_cv_libiconv" = "xno"; then
509                 AC_CHECK_FUNCS(gnu_get_libc_version)
510         fi
511 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
512         AC_RUN_IFELSE([AC_LANG_SOURCE([[
513                 #include <iconv.h>
514                 #include <stdlib.h>
515                 #include <string.h>
516                 #ifdef HAVE_GNU_GET_LIBC_VERSION
517                 #include <gnu/libc-version.h>
518                 #endif
519                 int main() {
520                         char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
521                         char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
522                         char *transbuf = malloc (10), *trans = transbuf;
523                         iconv_t cd;
524                         size_t jp_len = strlen (jp), utf8_len = 10;
525                         size_t utf8_real_len = strlen (utf8);
526
527                         #ifdef HAVE_GNU_GET_LIBC_VERSION
528                         /* glibc 2.1.2's iconv is broken in hard to test ways. */
529                         if (!strcmp (gnu_get_libc_version (), "2.1.2"))
530                                 exit (1);
531                         #endif
532
533                         cd = iconv_open ("UTF-8", "ISO-2022-JP");
534                         if (cd == (iconv_t) -1)
535                                 exit (1);
536                         if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
537                                 exit (1);
538                         if (memcmp (utf8, transbuf, utf8_real_len) != 0)
539                                 exit (1);
540                         return (0);}
541                 ]])
542         ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
543 fi
544
545 if test "x$have_iconv" = "xno"; then
546         AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
547 fi
548 AC_SUBST(ICONV_LIBS)
549
550 CFLAGS="$CFLAGS -I$srcdir"
551
552 AC_MSG_CHECKING([preferred charset name formats for system iconv])
553 AC_RUN_IFELSE([AC_LANG_SOURCE([[
554         #define CONFIGURE_IN
555         #include "iconv-detect.c"
556         ]])],
557         [AC_MSG_RESULT([found])],
558         [AC_MSG_RESULT([not found])
559                 AC_MSG_WARN([
560                 *** The iconv-detect program was unable to determine the
561                 *** preferred charset name formats recognized by your
562                 *** iconv library. It is suggested that you install a
563                 *** working iconv library such as the one found at
564                 *** ftp://ftp.gnu.org/pub/gnu/libiconv
565         ])],
566         [if test "x$os_win32" = xyes; then
567                 AC_MSG_RESULT([using known win32 result])
568                 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
569                 echo  >>iconv-detect.h
570                 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
571                 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
572                 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
573         else
574                 AC_MSG_RESULT([unknown])
575                 AC_MSG_WARN([
576                 *** We can't determine the preferred charset name formats
577                 *** recognized by your iconv library. You are
578                 *** cross-compiling and supposed to know what you are doing.
579                 *** Please construct the iconv-detect.h file manually.
580                 ])
581         fi
582 ])
583
584 CFLAGS="$save_CFLAGS"
585 LIBS="$save_LIBS"
586
587 AC_ARG_ENABLE([backtraces],
588         [AS_HELP_STRING([--enable-backtraces],
589         [enable backtraces for camel_pointer_tracker (default=no)])],
590         [enable_backtraces=$enableval], [enable_backtraces=no])
591
592 if test "x$enable_backtraces" = xyes; then
593         dnl ****************************
594         dnl Check for backtrace_symbols function and dwfl from elfutils
595         dnl ****************************
596         AC_MSG_CHECKING([libc backtrace_symbols function])
597         AC_LINK_IFELSE([AC_LANG_PROGRAM(
598                 [[#include <execinfo.h>]],
599                 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
600                 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
601         AC_MSG_RESULT([$ac_cv_have_bsf])
602
603         if test "x$ac_cv_have_bsf" = xyes; then
604                 LIBS="$LIBS -ldw"
605
606                 AC_MSG_CHECKING([elfutils/libdwfl])
607                 AC_LINK_IFELSE([AC_LANG_PROGRAM(
608                         [[#include <elfutils/libdwfl.h>]],
609                         [[{
610                                 Dwfl *dwfl;
611                                 Dwfl_Module *module;
612                                 Dwarf_Addr module_low_addr;
613                                 Dwfl_Line *line;
614
615                                 dwfl_standard_find_debuginfo;
616                                 dwfl_linux_proc_find_elf;
617                                 dwfl_begin (NULL);
618                                 dwfl_linux_proc_report (NULL, 1);
619                                 dwfl_report_end (NULL, NULL, NULL);
620                                 dwfl_end (NULL);
621                                 dwfl_module_addrname (NULL, NULL);
622                                 dwfl_module_getsrc (NULL, NULL);
623                                 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
624                                 DWARF_CB_ABORT; DWARF_CB_OK;
625                                 dwfl_getmodules (NULL, NULL, NULL, 0);
626                         }]])],
627                         [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
628                 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
629
630                 LIBS="$save_LIBS"
631
632                 if test "x$ac_cv_have_elfdwfl" = xyes; then
633                         LIBDWFL_LIBS="-ldw"
634                         AC_SUBST(LIBDWFL_LIBS)
635                 fi
636         fi
637 fi
638
639 dnl ******************************
640 dnl Check for nl_langinfo features
641 dnl ******************************
642 EVO_CHECK_LANGINFO([CODESET])
643 EVO_CHECK_LANGINFO([_NL_ADDRESS_COUNTRY_AB2])
644
645 dnl *******************************************************
646 dnl Check to see if strftime supports the use of %l and %k
647 dnl *******************************************************
648 AC_MSG_CHECKING([for %l and %k support in strftime])
649 AC_RUN_IFELSE([AC_LANG_SOURCE(
650         [[      #include <stdlib.h>
651                 #include <string.h>
652                 #include <time.h>
653                 int main(int argc, char **argv) {
654                 char buf[10];
655                 time_t rawtime;
656                 struct tm *timeinfo;
657
658                 time(&rawtime);
659                 timeinfo=localtime(&rawtime);
660                 buf[0] = '\0';
661                 strftime(buf, 10, "%lx%k", timeinfo);
662
663                 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
664                         exit(1);
665                 else
666                         exit(0);
667                 return 0;
668                 }
669         ]]
670         )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
671 AC_MSG_RESULT([$ac_cv_lkstrftime])
672
673 dnl ********************************************************************************
674 dnl security extension support (SSL and S/MIME)
675 dnl
676 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
677 dnl needed by Camel (SSL and S/MIME).
678 dnl
679 dnl The Evolution security extensions are only built if these libraries are found
680 dnl ********************************************************************************
681 msg_smime="no"
682
683 AC_ARG_ENABLE([smime],
684         AS_HELP_STRING([--enable-smime],
685         [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
686         [enable_smime="$enableval"],[enable_smime="yes"])
687
688 AC_ARG_WITH([nspr-includes],
689         AS_HELP_STRING([--with-nspr-includes],
690         [Prefix of Mozilla nspr4 includes.]),
691         [with_nspr_includes="$withval"])
692
693 AC_ARG_WITH([nspr-libs],
694         AS_HELP_STRING([--with-nspr-libs],
695         [Prefix of Mozilla nspr4 libs.]),
696         [with_nspr_libs="$withval"])
697
698 AC_ARG_WITH([nss-includes],
699         AS_HELP_STRING([--with-nss-includes],
700         [Prefix of Mozilla nss3 includes.]),
701         [with_nss_includes="$withval"])
702
703 AC_ARG_WITH([nss-libs],
704         AS_HELP_STRING([--with-nss-libs],
705         [Prefix of Mozilla nss3 libs.]),
706         [with_nss_libs="$withval"])
707
708 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
709         check_manually="yes"
710 else
711         check_manually="no"
712 fi
713
714 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
715 if test "x${check_manually}" = "xno"; then
716         AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
717         mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
718         for pc in $mozilla_nspr_pcs; do
719                 if $PKG_CONFIG --exists $pc; then
720                         AC_MSG_RESULT($pc)
721                         mozilla_nspr=$pc
722                         break;
723                 fi
724         done
725
726         AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
727         mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
728         for pc in $mozilla_nss_pcs; do
729                 if $PKG_CONFIG --exists $pc; then
730                         AC_MSG_RESULT($pc)
731                         mozilla_nss=$pc
732                         break;
733                 fi
734         done
735
736         if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
737                 if test "x$enable_smime" = "xyes"; then
738                         AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
739                         msg_smime="yes"
740                 fi
741                 MANUAL_NSPR_CFLAGS=""
742                 MANUAL_NSPR_LIBS=""
743                 MANUAL_NSS_CFLAGS=""
744                 MANUAL_NSS_LIBS=""
745         else
746                 check_manually="yes"
747                 mozilla_nspr=""
748                 mozilla_nss=""
749         fi
750 fi
751
752 if test "x${check_manually}" = "xyes"; then
753 dnl ******************
754 dnl Check for NSPR 4
755 dnl ******************
756         AC_MSG_CHECKING([for Mozilla nspr4 includes])
757                 CPPFLAGS_save="$CPPFLAGS"
758                 if test -n "$with_nspr_includes"; then
759                         CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
760                 fi
761
762                 AC_CHECK_HEADERS(nspr.h prio.h,
763                 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
764                 CPPFLAGS="$CPPFLAGS_save"
765
766                 if test "x${moz_nspr_includes}" = "xyes"; then
767                         MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
768                 else
769                         AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
770                 fi
771         AC_MSG_RESULT([$moz_nspr_includes])
772
773         AC_MSG_CHECKING([for Mozilla nspr libraries])
774                 CFLAGS_save="$CFLAGS"
775                 LDFLAGS_save="$LDFLAGS"
776                 LIBS_save="$LIBS"
777                 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
778
779                 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
780                 LIBS="$nsprlibs"
781                 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
782                 if test -n "${with_nspr_libs}"; then
783                         LDFLAGS="$LDFLAGS -L$with_nspr_libs"
784                 else
785                         LDFLAGS="$LDFLAGS"
786                 fi
787
788                 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
789                 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
790
791                 CFLAGS="$CFLAGS_save"
792                 LDFLAGS="$LDFLAGS_save"
793                 LIBS="$LIBS_save"
794
795                 if test "x${moz_nspr_libs}" = "xyes"; then
796                         if test -n "${with_nspr_libs}"; then
797                                 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
798                         else
799                                 MANUAL_NSPR_LIBS="$nsprlibs"
800                         fi
801                 else
802                         AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
803                 fi
804         AC_MSG_RESULT([$moz_nspr_libs])
805
806 dnl *****************
807 dnl Check for NSS 3
808 dnl *****************
809         AC_MSG_CHECKING([for Mozilla nss3 includes])
810                 CPPFLAGS_save="$CPPFLAGS"
811                 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
812
813                 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
814                 [moz_nss_includes="yes"],[moz_nss_includes="no"])
815                 CPPFLAGS="$CPPFLAGS_save"
816
817                 if test "x${moz_nss_includes}" = "xyes"; then
818                         MANUAL_NSS_CFLAGS="-I$with_nss_includes"
819                 else
820                         AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
821                 fi
822         AC_MSG_RESULT($moz_nss_includes)
823
824         AC_MSG_CHECKING([for Mozilla nss libraries])
825                 LDFLAGS_save="$LDFLAGS"
826                 LIBS_save="$LIBS"
827                 nsslibs="-lssl3 -lsmime3 -lnss3"
828
829                 LIBS="$nsslibs $nsprlibs"
830                 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
831                 if test -n "${with_nss_libs}"; then
832                         LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
833                 else
834                         LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
835                 fi
836
837                 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
838                 [moz_nss_libs="yes"],[moz_nss_libs="no"])
839                 LDFLAGS="$LDFLAGS_save"
840                 LIBS="$LIBS_save"
841
842                 if test "x${moz_nss_libs}" = "xyes"; then
843                         if test "x${enable_smime}" = "xyes"; then
844                                 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
845                                 msg_smime="yes"
846                         fi
847                         if test -n "${with_nss_libs}"; then
848                                 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
849                         else
850                                 MANUAL_NSS_LIBS="$nsslibs"
851                         fi
852                 else
853                         AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
854                 fi
855         AC_MSG_RESULT([$moz_nss_libs])
856
857         MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
858         MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
859 fi
860
861 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
862
863 dnl For pkgconfig files.
864 AC_SUBST(mozilla_nss)
865 AC_SUBST(mozilla_nspr)
866
867 AC_SUBST(MANUAL_NSPR_CFLAGS)
868 AC_SUBST(MANUAL_NSPR_LIBS)
869 AC_SUBST(MANUAL_NSS_CFLAGS)
870 AC_SUBST(MANUAL_NSS_LIBS)
871
872 dnl ******************************
873 dnl system mail stuff
874 dnl ******************************
875 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
876 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
877
878 AC_MSG_CHECKING([system mail directory])
879 if test -d /var/mail -a '!' -h /var/mail ; then
880         system_mail_dir="/var/mail"
881 else
882         system_mail_dir="/var/spool/mail"
883 fi
884 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
885
886 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
887         d??????rw?)
888                 CAMEL_LOCK_HELPER_USER=""
889                 CAMEL_LOCK_HELPER_GROUP=""
890                 system_mail_perm="world writable"
891         ;;
892         d???rw????)
893                 CAMEL_LOCK_HELPER_USER=""
894                 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
895                 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
896         ;;
897         drw???????)
898                 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
899                 CAMEL_LOCK_HELPER_GROUP=""
900                 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
901         ;;
902         *)
903                 CAMEL_LOCK_HELPER_USER=""
904                 CAMEL_LOCK_HELPER_GROUP=""
905                 system_mail_perm="???"
906         ;;
907 esac
908
909 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
910 AC_SUBST(CAMEL_LOCK_HELPER_USER)
911 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
912
913 dnl ******************************
914 dnl Timezone checks
915 dnl ******************************
916 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
917         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
918         [[      #include <time.h>       ]],
919         [[
920                 struct tm tm;
921                 tm.tm_gmtoff = 1;
922         ]]
923         )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
924 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
925         AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
926 else
927         AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
928                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
929                 [[      #include <time.h> ]],
930                 [[      timezone = 1;   ]]
931                 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
932         if test "x$ac_cv_var_timezone" = "xyes"; then
933                 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
934                 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
935                         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
936                         [[      #include <time.h>       ]],
937                         [[      altzone = 1; ]]
938                         )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
939                 if test "x$ac_cv_var_altzone" = "xyes"; then
940                         AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
941                 fi
942         else
943                 AC_MSG_ERROR([unable to find a way to determine timezone])
944         fi
945 fi
946
947 dnl ******************************
948 dnl ctime_r prototype
949 dnl ******************************
950 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
951 [
952         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
953         [[      #include <time.h> ]],
954         [[      char *buf;
955                 time_t date;
956                 ctime_r (&date, buf, 100); ]]
957         )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
958 ])
959
960 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
961         AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
962 fi
963
964 dnl ******************************
965 dnl gethostbyname_r prototype
966 dnl ******************************
967 AC_CHECK_FUNCS(gethostbyname_r,[
968 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
969 [
970         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
971         [[
972                 #include "confdefs.h"
973                 #include <sys/types.h>
974                 #include <sys/socket.h>
975                 #include <netinet/in.h>
976                 #include <netdb.h>
977                 #define BUFSIZE (sizeof(struct hostent)+10)
978         ]],
979         [[
980                 struct hostent hent;
981                 char buffer[BUFSIZE];
982                 int bufsize=BUFSIZE;
983                 int h_errno;
984                 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
985         ]]
986         )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
987 ])])
988
989 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
990         AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
991 fi
992
993 dnl ******************************
994 dnl gethostbyaddr_r prototype
995 dnl ******************************
996 AC_CHECK_FUNCS(gethostbyaddr_r,[
997 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
998 [
999         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1000         [[
1001                 #include "confdefs.h"
1002                 #include <sys/types.h>
1003                 #include <sys/socket.h>
1004                 #include <netinet/in.h>
1005                 #include <netdb.h>
1006                 #define BUFSIZE (sizeof(struct hostent)+10)
1007         ]],
1008         [[
1009                 struct hostent hent;
1010                 char buffer[BUFSIZE];
1011                 int bufsize=BUFSIZE;
1012                 int h_errno;
1013                 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
1014         )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
1015 ])])
1016
1017 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
1018         AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
1019 fi
1020
1021 dnl ******************************
1022 dnl stat(v)fs location/type
1023 dnl ******************************
1024 AC_CHECK_HEADER([sys/statvfs.h],
1025         [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
1026         [[      #if HAVE_SYS_STATVFS_H
1027                 #include <sys/statvfs.h>
1028                 #endif
1029         ]])
1030 AC_CHECK_FUNCS(statvfs)
1031
1032 AC_CHECK_HEADER([sys/param.h],
1033         [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
1034         [[      #if HAVE_SYS_PARAM_H
1035                 #include <sys/param.h>
1036                 #endif
1037         ]])
1038 AC_CHECK_HEADER([sys/mount.h],
1039         [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1040         [[      #if HAVE_SYS_MOUNT_H
1041                 #include <sys/mount.h>
1042                 #endif
1043         ]])
1044 AC_CHECK_FUNCS(statfs)
1045
1046 dnl ******************************
1047 dnl IPv6 support and getaddrinfo calls
1048 dnl ******************************
1049 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1050 [
1051         AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1052         [[      #include "confdefs.h"
1053                 #include <sys/types.h>
1054                 #include <sys/socket.h>
1055                 #include <netinet/in.h>
1056                 #include <netdb.h>
1057                 #include <stddef.h>
1058         ]],
1059         [[      #ifndef NI_MAXHOST
1060                 #define NI_MAXHOST      1025
1061                 #endif
1062
1063                 #ifndef NI_MAXSERV
1064                 #define NI_MAXSERV      32
1065                 #endif
1066
1067                 struct addrinfo hints, *res;
1068                 struct sockaddr_in6 sin6;
1069                 int af = AF_INET6;
1070                 char host[NI_MAXHOST];
1071                 char serv[NI_MAXSERV];
1072
1073                 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1074                 freeaddrinfo (res);
1075                 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1076         )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1077 ])
1078
1079 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1080         AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1081         if test "x$enable_ipv6" = "xyes" ; then
1082                 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1083         fi
1084         msg_ipv6="no"
1085 else
1086         AC_ARG_ENABLE([ipv6],
1087         AS_HELP_STRING([--enable-ipv6=no/yes],
1088         [Enable support for resolving IPv6 addresses.]),
1089         [enable_ipv6=$enableval],[enable_ipv6=yes])
1090         if test "x$enable_ipv6" = "xyes"; then
1091                 msg_ipv6="yes"
1092                 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1093                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1094                 [[      #include "confdefs.h"
1095                         #include <sys/types.h>
1096                         #include <sys/socket.h>
1097                         #include <netinet/in.h>
1098                         #include <netdb.h>
1099                 ]],
1100                 [[      struct addrinfo hints;
1101                         hints.ai_flags = AI_ADDRCONFIG;
1102                 ]]
1103                 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1104         else
1105                 msg_ipv6="no"
1106         fi
1107 fi
1108
1109 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1110
1111 AC_CHECK_HEADER([wspiapi.h],
1112         [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1113
1114 dnl **********************************
1115 dnl Weather calendar backend support
1116 dnl **********************************
1117 AC_MSG_CHECKING([if we should build the weather calendar backend])
1118 AC_ARG_ENABLE([weather],
1119         [AS_HELP_STRING([--enable-weather],
1120         [Build the weather calendar backend (default=yes)])],
1121         [use_gweather=$enableval], [use_gweather=yes])
1122
1123 AC_MSG_RESULT([$use_gweather])
1124 if test "x$use_gweather" = "xyes"; then
1125         PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1126         [AC_MSG_ERROR([The weather calendar backend requires GWeather >= gweather_minimum_version. Alternatively, you may specify --disable-weather as a configure option to avoid building the backend.])])
1127 fi
1128 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1129
1130 dnl ******************************
1131 dnl NNTP support.
1132 dnl ******************************
1133 AC_ARG_ENABLE([nntp],
1134         AS_HELP_STRING([--enable-nntp],
1135         [Build Usenet news (NNTP) backend]),
1136         [enable_nntp=$enableval],[enable_nntp=yes])
1137 if test "x$enable_nntp" = "xyes"; then
1138         AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1139         msg_nntp="yes"
1140 else
1141         msg_nntp="no"
1142 fi
1143 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1144
1145 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1146
1147 dnl ******************************
1148 dnl File locking
1149 dnl ******************************
1150 AC_ARG_ENABLE([dot-locking],
1151         AS_HELP_STRING([--enable-dot-locking=yes/no],
1152         [Enable support for locking mail files with dot locking]),
1153         [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1154
1155 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1156         AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1157         msg_dot="yes"
1158 else
1159         msg_dot="no"
1160 fi
1161
1162 AC_ARG_ENABLE([file-locking],
1163         AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1164         [Enable support for locking mail files with file locking]),
1165         [],[enable_file_locking=fcntl])
1166
1167 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1168         AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1169         msg_file="fcntl"
1170 else
1171         if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1172                 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1173                 msg_file="flock"
1174         else
1175                 msg_file="no"
1176         fi
1177 fi
1178
1179 dnl ******************************
1180 dnl sendmail operation
1181 dnl ******************************
1182 AC_MSG_CHECKING([for SunOS broken spool format])
1183 if test "x$host_os" = "xsunos" ; then
1184         with_broken_spool="yes"
1185 fi
1186
1187 AC_ARG_WITH([broken-spool],
1188         AS_HELP_STRING([--with-broken-spool=yes/no],
1189         [Using SunOS/Solaris sendmail which has a broken spool format]),
1190         [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1191
1192 if test "x$with_broken_spool" = "xyes"; then
1193         AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1194 fi
1195
1196 AC_MSG_RESULT([$with_broken_spool])
1197
1198 dnl ******************************
1199 dnl DBus call timeout
1200 dnl ******************************
1201
1202 AC_ARG_WITH([dbus-call-timeout],
1203         AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1204         [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1205         [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1206
1207 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1208 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1209
1210 dnl ***********
1211 dnl Kerberos 5
1212 dnl ***********
1213 EVO_KRB5_SUPPORT(no)
1214
1215 dnl ******************************
1216 dnl Purify support
1217 dnl ******************************
1218 EVO_PURIFY_SUPPORT
1219
1220 dnl ******************************
1221 dnl LDAP support.
1222 dnl ******************************
1223 if test "x$os_win32" != "xyes"; then
1224         EVO_LDAP_CHECK(no)
1225         case $with_openldap in
1226         no)
1227                 msg_ldap="no"
1228         ;;
1229         *)
1230                 case $with_static_ldap in
1231                 yes)
1232                         msg_ldap="$with_openldap (static)"
1233                         ;;
1234                 *)
1235                         msg_ldap="$with_openldap (dynamic)"
1236                         ;;
1237                 esac
1238         esac
1239
1240 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1241         if test "x$with_openldap" = "xno" ; then
1242                 EVO_SUNLDAP_CHECK(no)
1243                 case $with_sunldap in
1244                 no)
1245                         msg_ldap="no"
1246                         ;;
1247                 *)
1248                         case $with_static_sunldap in
1249                         yes)
1250                                 msg_ldap="$with_sunldap (static)"
1251                                 ;;
1252                         *)
1253                                 msg_ldap="$with_sunldap (dynamic)"
1254                                 ;;
1255                 esac
1256         esac
1257         else
1258                 with_sunldap="no"
1259         fi
1260         AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1261
1262         LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1263 else
1264         dnl Win32 LDAP support
1265         LDAP_CFLAGS="-DLDAP_DEPRECATED"
1266         LDAP_LIBS="-lwldap32"
1267         AC_SUBST(LDAP_CFLAGS)
1268         AC_SUBST(LDAP_LIBS)
1269         AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1270         AM_CONDITIONAL(ENABLE_LDAP, true)
1271         AM_CONDITIONAL(SUNLDAP, false)
1272         msg_ldap="yes"
1273 fi
1274
1275 dnl ******************************
1276 dnl GObject marshalling
1277 dnl ******************************
1278 AM_PATH_GLIB_2_0
1279
1280 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1281 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1282 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1283
1284 dnl ******************************
1285 dnl Utility macro to set compiler flags for a specific lib.
1286 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1287 dnl ******************************
1288 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1289         PKG_CHECK_MODULES([$1], [$2])
1290         $1_CFLAGS="[$]$1_CFLAGS $3 "
1291         $1_LIBS="[$]$1_LIBS $4 "
1292 ])
1293
1294 dnl ******************************
1295 dnl sqlite3 flags
1296 dnl ******************************
1297 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1298
1299 if test "x$enable_maintainer_mode" = "xyes" ; then
1300         EVO_SET_COMPILE_FLAGS(FACTORY_GTK, "gtk+-3.0")
1301         AC_SUBST(FACTORY_GTK_CFLAGS)
1302         AC_SUBST(FACTORY_GTK_LIBS)
1303 fi
1304
1305 dnl ******************************
1306 dnl libedataserver flags
1307 dnl ******************************
1308 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
1309
1310 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1311 AC_SUBST(E_DATA_SERVER_CFLAGS)
1312 AC_SUBST(E_DATA_SERVER_LIBS)
1313
1314 dnl ******************************
1315 dnl libebackend flags
1316 dnl ******************************
1317 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libsoup-2.4 libxml-2.0"
1318
1319 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1320 AC_SUBST(E_BACKEND_CFLAGS)
1321 AC_SUBST(E_BACKEND_LIBS)
1322
1323 dnl ******************************
1324 dnl evolution-addressbook flags
1325 dnl ******************************
1326 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 libsecret-1"
1327
1328 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1329 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1330 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1331
1332 dnl ******************************
1333 dnl evolution-calendar flags
1334 dnl ******************************
1335 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 libsecret-1"
1336
1337 dnl *****
1338 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1339 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1340 dnl to differentiate between <libical/ical.h> and <ical.h>
1341 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1342 dnl libical is fixed, we have to work-around the buggy CFlags.
1343 dnl *****
1344         LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1345         LIBICAL_EXTRA_LIBS=""
1346         AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1347         AC_SUBST(LIBICAL_EXTRA_LIBS)
1348
1349         EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1350         AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1351         AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1352
1353         dnl ****************************
1354         dnl Check for ical_set_unknown_token_handling_setting function
1355         dnl ****************************
1356         AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1357         save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1358         save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1359         AC_LINK_IFELSE([AC_LANG_PROGRAM(
1360                 [[#include <libical/ical.h>]],
1361                 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1362                 [AC_DEFINE(HAVE_ICAL_UNKNOWN_TOKEN_HANDLING, 1, [libical provides ical_set_unknown_token_handling_setting function]) ac_cv_have_iuth=yes],[ac_cv_have_iuth=no])
1363         CFLAGS=$save_cflags
1364         LIBS=$save_libs
1365         AC_MSG_RESULT([$ac_cv_have_iuth])
1366
1367 dnl ******************************
1368 dnl Google flags
1369 dnl ******************************
1370 LIBGDATA_REQUIRED=libgdata_minimum_version
1371 AC_SUBST(LIBGDATA_REQUIRED)
1372 AC_ARG_ENABLE([google],
1373         [AS_HELP_STRING([--enable-google],
1374         [enable Google Contacts support (default=yes)])],
1375         [enable_google=$enableval], [enable_google=yes])
1376 AC_MSG_CHECKING([if Google Contacts support is enabled])
1377 AC_MSG_RESULT([$enable_google])
1378 if test "x$enable_google" = xyes; then
1379         EVO_SET_COMPILE_FLAGS(GDATA, libgdata >= libgdata_minimum_version)
1380         AC_SUBST(GDATA_CFLAGS)
1381         AC_SUBST(GDATA_LIBS)
1382
1383         AC_DEFINE(HAVE_GOOGLE, 1, [Define to 1 if you have the google-1.0 package.])
1384 fi
1385 AM_CONDITIONAL(HAVE_GOOGLE, [test x$enable_google = xyes])
1386
1387 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1388 AC_SUBST(SOUP_CFLAGS)
1389 AC_SUBST(SOUP_LIBS)
1390
1391 dnl ******************************
1392 dnl Camel flags
1393 dnl ******************************
1394 SQLITE_REQUIRED=sqlite_minimum_version
1395 AC_SUBST(SQLITE_REQUIRED)
1396
1397 zlib_found="false"
1398 dnl deflateInit is a #define, use deflateEnd instead
1399 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1400
1401 if test "x$zlib_found" = "xfalse"; then
1402         AC_MSG_ERROR([*** zlib is required])
1403 fi
1404
1405 dnl ******************************
1406 dnl Checks for large file support
1407 dnl ******************************
1408 AC_ARG_ENABLE([largefile],
1409         AS_HELP_STRING([--enable-largefile],
1410         [enable support for large files [[default=no]]]),
1411         [],[enable_largefile="yes"])
1412
1413 if test "x$enable_largefile" != "xno"; then
1414         AC_SYS_LARGEFILE
1415         AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1416         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1417         [[      #include <sys/types.h>
1418                 #include <sys/stat.h>
1419                 #include <fcntl.h>
1420         ]],
1421         [[      int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644);  ]]
1422         )],[ac_cv_largefile64_source="no"],
1423                 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1424                 [[      #define _LARGEFILE64_SOURCE
1425                         #include <sys/types.h>
1426                         #include <sys/stat.h>
1427                         #include <fcntl.h>
1428                 ]],
1429                 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1430                 [ac_cv_largefile64_source="unknown"])])
1431         ])
1432
1433         enable_largefile="no"
1434
1435         if test "x$ac_cv_largefile64_source" = "xyes"; then
1436                 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1437                 enable_largefile="yes"
1438         elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1439                 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1440         fi
1441
1442         if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1443                 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1444                 enable_largefile="yes"
1445         fi
1446
1447         if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1448                 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1449                 enable_largefile="yes"
1450         fi
1451 else
1452         AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1453         LARGEFILE_CFLAGS=""
1454 fi
1455
1456 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1457
1458 EVO_SET_COMPILE_FLAGS(CAMEL, gio-2.0 gmodule-2.0 $mozilla_nss sqlite3 >= sqlite_minimum_version, $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $KRB5_LIBS $MANUAL_NSS_LIBS)
1459 AC_SUBST(CAMEL_CFLAGS)
1460 AC_SUBST(CAMEL_LIBS)
1461
1462 dnl ******************************
1463 dnl Special directories
1464 dnl ******************************
1465
1466 dnl If you add something here, consider whether or not you also
1467 dnl need to add it to one or more .pc.in files (for Connector,
1468 dnl etc)
1469
1470 privdatadir='${datadir}'/evolution-data-server
1471 AC_SUBST(privdatadir)
1472
1473 privincludedir='${includedir}'/evolution-data-server
1474 AC_SUBST(privincludedir)
1475
1476 privlibdir='${libdir}'/evolution-data-server
1477 AC_SUBST(privlibdir)
1478
1479 imagesdir='${datadir}'/pixmaps/evolution-data-server
1480 AC_SUBST(imagesdir)
1481
1482 moduledir='${privlibdir}'/registry-modules
1483 AC_SUBST(moduledir)
1484
1485 ebook_backenddir='${privlibdir}'/addressbook-backends
1486 AC_SUBST(ebook_backenddir)
1487
1488 ecal_backenddir='${privlibdir}'/calendar-backends
1489 AC_SUBST(ecal_backenddir)
1490
1491 ro_sourcesdir='${privdatadir}'/ro-sources
1492 AC_SUBST(ro_sourcesdir)
1493
1494 rw_sourcesdir='${privdatadir}'/rw-sources
1495 AC_SUBST(rw_sourcesdir)
1496
1497 if test "x$use_gweather" = "xyes"; then
1498         weatherdatadir="$privdatadir/weather"
1499         AC_SUBST(weatherdatadir)
1500 fi
1501
1502 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1503 camel_providerdir='${privlibdir}'/camel-providers
1504 AC_SUBST(camel_providerdir)
1505
1506 dnl *******************
1507 dnl D-BUS service stuff
1508 dnl *******************
1509 m4_pattern_allow([AM_V_GEN])
1510 EVO_SUBST_SERVICE_RULE='%.service: %.service.in Makefile ; $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" -e s"|\@ADDRESS_BOOK_DBUS_SERVICE_NAME\@|$(ADDRESS_BOOK_DBUS_SERVICE_NAME)|" -e "s|\@CALENDAR_DBUS_SERVICE_NAME\@|$(CALENDAR_DBUS_SERVICE_NAME)|" -e "s|\@SOURCES_DBUS_SERVICE_NAME\@|$(SOURCES_DBUS_SERVICE_NAME)|" -e "s|\@USER_PROMPTER_DBUS_SERVICE_NAME\@|$(USER_PROMPTER_DBUS_SERVICE_NAME)|" $< > $@'
1511 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1512
1513 dnl ******************************
1514 dnl GLib stuff
1515 dnl ******************************
1516 GLIB_GSETTINGS
1517 AM_PATH_GLIB_2_0
1518
1519 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1520 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1521 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1522
1523 dnl ******************************
1524 dnl gperf stuff
1525 dnl ******************************
1526 AC_PATH_PROG(GPERF, gperf, [no])
1527 if test "x$GPERF" = "xno"; then
1528   AC_MSG_ERROR([You need gperf to build evolution-data-server])
1529 fi
1530
1531 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1532
1533 dnl ******************************
1534 dnl Vala binding
1535 dnl ******************************
1536 AC_ARG_ENABLE(vala-bindings,
1537         AC_HELP_STRING([--enable-vala-bindings],
1538         [build the EXPERIMENTAL Vala bindings]),
1539         enable_vala_bindings=$enableval,
1540         enable_vala_bindings=no)
1541
1542 if test x$enable_vala_bindings = xyes; then
1543   if test "x$INTROSPECTION_SCANNER" = x; then
1544     AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1545   fi
1546
1547   AM_PROG_VALAC([0.13.0])
1548   have_vala=yes
1549
1550   AC_PATH_PROG(VALAC, valac, valac)
1551   AC_SUBST(VALAC)
1552   AC_SUBST(VALAFLAGS)
1553
1554   AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1555
1556   if test "x$VAPIGEN" = "xfalse"; then
1557     AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1558   fi
1559
1560   AC_SUBST(VAPIGEN)
1561 fi
1562
1563 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1564 AC_SUBST(HAVE_VALA)
1565
1566 dnl ******************************
1567 dnl Makefiles
1568 dnl ******************************
1569 export privlibdir
1570 export privincludedir
1571 export privdatadir
1572
1573 AC_CONFIG_FILES([
1574 Makefile
1575 evolution-data-server-zip
1576 evolution-data-server.pc
1577 addressbook/Makefile
1578 addressbook/libebook/Makefile
1579 addressbook/libebook/libebook.pc
1580 addressbook/libedata-book/Makefile
1581 addressbook/libedata-book/libedata-book.pc
1582 addressbook/libegdbus/Makefile
1583 addressbook/backends/Makefile
1584 addressbook/backends/file/Makefile
1585 addressbook/backends/ldap/Makefile
1586 addressbook/backends/google/Makefile
1587 addressbook/backends/google/tests/Makefile
1588 addressbook/backends/webdav/Makefile
1589 art/Makefile
1590 calendar/Makefile
1591 calendar/libecal/Makefile
1592 calendar/libecal/libecal.pc
1593 calendar/libedata-cal/Makefile
1594 calendar/libedata-cal/libedata-cal.pc
1595 calendar/libegdbus/Makefile
1596 calendar/backends/Makefile
1597 calendar/backends/caldav/Makefile
1598 calendar/backends/file/Makefile
1599 calendar/backends/http/Makefile
1600 calendar/backends/contacts/Makefile
1601 calendar/backends/weather/Makefile
1602 camel/Makefile
1603 camel/providers/Makefile
1604 camel/providers/imapx/Makefile
1605 camel/providers/local/Makefile
1606 camel/providers/nntp/Makefile
1607 camel/providers/pop3/Makefile
1608 camel/providers/sendmail/Makefile
1609 camel/providers/smtp/Makefile
1610 camel/tests/Makefile
1611 camel/tests/folder/Makefile
1612 camel/tests/lib/Makefile
1613 camel/tests/message/Makefile
1614 camel/tests/mime-filter/Makefile
1615 camel/tests/misc/Makefile
1616 camel/tests/smime/Makefile
1617 camel/camel.pc
1618 data/Makefile
1619 data/sources/Makefile
1620 libebackend/Makefile
1621 libebackend/libebackend.pc
1622 libedataserver/Makefile
1623 libedataserver/eds-version.h
1624 libedataserver/libedataserver.pc
1625 modules/Makefile
1626 modules/cache-reaper/Makefile
1627 modules/gnome-online-accounts/Makefile
1628 modules/google-backend/Makefile
1629 modules/trust-prompt/Makefile
1630 modules/yahoo-backend/Makefile
1631 private/Makefile
1632 services/Makefile
1633 services/evolution-addressbook-factory/Makefile
1634 services/evolution-calendar-factory/Makefile
1635 services/evolution-source-registry/Makefile
1636 services/evolution-user-prompter/Makefile
1637 tests/Makefile
1638 tests/libebook/Makefile
1639 tests/libebook/client/Makefile
1640 tests/libebook/vcard/Makefile
1641 tests/libecal/Makefile
1642 tests/libecal/client/Makefile
1643 tests/libedata-cal/Makefile
1644 tests/libedataserver/Makefile
1645 tests/test-server-utils/Makefile
1646 tests/test-server-utils/services/Makefile
1647 tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service
1648 tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service
1649 tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service
1650 docs/Makefile
1651 docs/reference/Makefile
1652 docs/reference/addressbook/Makefile
1653 docs/reference/addressbook/libebook/Makefile
1654 docs/reference/addressbook/libedata-book/Makefile
1655 docs/reference/calendar/Makefile
1656 docs/reference/calendar/libecal/Makefile
1657 docs/reference/calendar/libedata-cal/Makefile
1658 docs/reference/camel/Makefile
1659 docs/reference/libedataserver/Makefile
1660 docs/reference/libebackend/Makefile
1661 docs/reference/private/Makefile
1662 po/Makefile.in
1663 vala/Makefile
1664 ])
1665 AC_OUTPUT
1666
1667 echo "
1668         evolution-data-server has been configured as follows:
1669         Weather calendar:       $use_gweather
1670         Mail Directory:         $system_mail_dir, $system_mail_perm
1671         LDAP support:           $msg_ldap
1672         NNTP support:           $msg_nntp
1673         Kerberos 5:             $msg_krb5
1674         SMIME support:          $msg_smime
1675         IPv6 support:           $msg_ipv6
1676         Dot Locking:            $msg_dot
1677         File Locking:           $msg_file
1678         Large files:            $enable_largefile
1679         Gtk Doc:                $enable_gtk_doc
1680         Introspection:          $enable_introspection
1681         Vala bindings:          $enable_vala_bindings
1682         GNOME Online Accounts   $enable_goa
1683         Google Contacts         $enable_google
1684         GTK+:                   $enable_gtk
1685         Code coverage (gcov):   $enable_code_coverage
1686         Strict building:        $enable_strict
1687 "