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], [91])
7 m4_define([eds_version],
8 [eds_major_version.eds_minor_version.eds_micro_version])
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.
15 m4_define([base_version], [3.8])
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])
21 dnl Autoconf / Automake Initialization
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)
29 dnl This is for the autoconf tests only - it set's the language we use
32 dnl Automake 1.11 - Silent Build Rules
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
35 dnl Required Package Versions
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])
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])
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])
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])
57 m4_define([goa_minimum_version], [3.2])
58 m4_define([gweather_minimum_version], [3.5.0])
59 m4_define([libaccounts_glib_minimum_version], [1.4])
60 m4_define([libsignon_glib_minimum_version], [1.8])
62 AC_SUBST([BASE_VERSION],[base_version])
63 AC_SUBST([API_VERSION],[api_version])
64 AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
65 AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
67 EDS_MAJOR_VERSION=eds_major_version
68 EDS_MINOR_VERSION=eds_minor_version
69 EDS_MICRO_VERSION=eds_micro_version
73 dnl ******************************
75 dnl ******************************
76 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook5"
77 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar4"
78 SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources1"
79 USER_PROMPTER_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.UserPrompter0"
82 ADDRESS_BOOK_DBUS_SERVICE_NAME,
83 ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
84 [D-Bus service name for the address book factory])
87 CALENDAR_DBUS_SERVICE_NAME,
88 ["$CALENDAR_DBUS_SERVICE_NAME"],
89 [D-Bus service name for the calendar factory])
92 SOURCES_DBUS_SERVICE_NAME,
93 ["$SOURCES_DBUS_SERVICE_NAME"],
94 [D-Bus service name for the source registry])
97 USER_PROMPTER_DBUS_SERVICE_NAME,
98 ["$USER_PROMPTER_DBUS_SERVICE_NAME"],
99 [D-Bus service name for the user prompter])
101 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
102 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
103 AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
104 AC_SUBST(USER_PROMPTER_DBUS_SERVICE_NAME)
106 dnl ******************************
107 dnl Libtool versioning
108 dnl ******************************
109 LIBEDATASERVER_CURRENT=17
110 LIBEDATASERVER_REVISION=0
117 LIBEDATACAL_CURRENT=20
118 LIBEDATACAL_REVISION=0
121 LIBEDATABOOK_CURRENT=17
122 LIBEDATABOOK_REVISION=0
129 LIBEBOOK_CONTACTS_CURRENT=0
130 LIBEBOOK_CONTACTS_REVISION=0
131 LIBEBOOK_CONTACTS_AGE=0
137 LIBEBACKEND_CURRENT=6
138 LIBEBACKEND_REVISION=0
141 AC_SUBST(EDS_MAJOR_VERSION)
142 AC_SUBST(EDS_MINOR_VERSION)
143 AC_SUBST(EDS_MICRO_VERSION)
144 AC_SUBST(LIBEDATASERVER_CURRENT)
145 AC_SUBST(LIBEDATASERVER_REVISION)
146 AC_SUBST(LIBEDATASERVER_AGE)
147 AC_SUBST(LIBECAL_CURRENT)
148 AC_SUBST(LIBECAL_REVISION)
149 AC_SUBST(LIBECAL_AGE)
150 AC_SUBST(LIBEDATACAL_CURRENT)
151 AC_SUBST(LIBEDATACAL_REVISION)
152 AC_SUBST(LIBEDATACAL_AGE)
153 AC_SUBST(LIBEBOOK_CURRENT)
154 AC_SUBST(LIBEBOOK_REVISION)
155 AC_SUBST(LIBEBOOK_AGE)
156 AC_SUBST(LIBEBOOK_CONTACTS_CURRENT)
157 AC_SUBST(LIBEBOOK_CONTACTS_REVISION)
158 AC_SUBST(LIBEBOOK_CONTACTS_AGE)
159 AC_SUBST(LIBEDATABOOK_CURRENT)
160 AC_SUBST(LIBEDATABOOK_REVISION)
161 AC_SUBST(LIBEDATABOOK_AGE)
162 AC_SUBST(LIBCAMEL_CURRENT)
163 AC_SUBST(LIBCAMEL_REVISION)
164 AC_SUBST(LIBCAMEL_AGE)
165 AC_SUBST(LIBEBACKEND_CURRENT)
166 AC_SUBST(LIBEBACKEND_REVISION)
167 AC_SUBST(LIBEBACKEND_AGE)
169 dnl **************************************
170 dnl Put the ACLOCAL flags in the Makefile
171 dnl **************************************
172 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
174 dnl *********************************************
175 dnl Figure out early if we'll need a C++ compiler
176 dnl *********************************************
181 dnl ******************************
182 dnl Compiler Warning Flags
183 dnl ******************************
184 proposed_warning_flags="-Wall -Wextra
185 -Wdeprecated-declarations
186 -Werror-implicit-function-declaration
187 -Wformat-security -Winit-self
188 -Wmissing-declarations -Wmissing-include-dirs
189 -Wmissing-noreturn -Wpointer-arith
190 -Wredundant-decls -Wundef -Wwrite-strings"
192 proposed_c_warning_flags="$proposed_warning_flags
193 -Wdeclaration-after-statement
194 -Wno-missing-field-initializers
196 -Wno-unused-parameter
199 proposed_cxx_warning_flags="$proposed_warning_flags
202 AS_COMPILER_FLAGS(WARNING_FLAGS, [$proposed_c_warning_flags])
203 AC_SUBST(WARNING_FLAGS)
205 dnl Other useful compiler warnings for test builds only.
206 dnl These may produce warnings we have no control over,
207 dnl or false positives we don't always want to see.
209 dnl -Wformat-nonliteral
210 dnl -Wmissing-format-attribute
212 dnl -Wstrict-aliasing=2
214 AM_CFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
217 if test "x$evo_with_cxx" = xyes; then
221 AS_COMPILER_FLAGS(CXX_WARNING_FLAGS, [$proposed_cxx_warning_flags])
222 AC_SUBST(CXX_WARNING_FLAGS)
223 AM_CXXFLAGS="$CXX_WARNING_FLAGS"
224 AC_SUBST(AM_CXXFLAGS)
227 dnl Autoconf requires those automake conditionals to be defined when
228 dnl generating the config files, but apparently it forgets to initialize
229 dnl them dnl if AC_PROG_CXX never gets called. Therefore we do it manually.
230 am__fastdepCXX_TRUE='#'
231 am__fastdepCXX_FALSE=
234 dnl *******************************
235 dnl Check for --enable-strict
236 dnl *******************************
237 AC_ARG_ENABLE([strict],
238 [AS_HELP_STRING([--enable-strict],
239 [enable strict building, like without deprecated symbols (default=auto); auto enables strict building only if .git subdirectory exists])],
240 [enable_strict=$enableval], [enable_strict=auto])
242 AC_MSG_CHECKING([if strict building is enabled])
243 if test "x$enable_strict" = xauto; then
244 dnl Be strict when compiling with .git subdirectory
245 if test -d .git ; then
251 AC_MSG_RESULT([$enable_strict])
255 if test "x$enable_strict" = xyes; then
256 AM_CPPFLAGS="$AM_CPPFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
259 dnl Warn about API usage that violates our minimum requirements.
260 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MAX_ALLOWED=glib_encoded_version"
261 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MAX_ALLOWED=gdk_encoded_version"
262 AM_CPPFLAGS="$AM_CPPFLAGS -DSOUP_VERSION_MAX_ALLOWED=soup_encoded_version"
264 dnl These will suppress warnings about newly-deprecated symbols. Ideally
265 dnl these settings should match our minimum requirements and we will clean
266 dnl up any new deprecation warnings after bumping our minimum requirements.
267 dnl But if the warnings get to be overwhelming, use fixed versions instead.
268 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MIN_REQUIRED=glib_encoded_version"
269 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MIN_REQUIRED=gdk_encoded_version"
270 AM_CPPFLAGS="$AM_CPPFLAGS -DSOUP_VERSION_MIN_REQUIRED=soup_encoded_version"
272 AC_SUBST(AM_CPPFLAGS)
274 dnl ******************************
275 dnl Initialize maintainer mode
276 dnl ******************************
277 AM_MAINTAINER_MODE([enable])
279 if test "x$enable_maintainer_mode" = "xyes" ; then
280 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
291 dnl For gen-western-table.py
294 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
295 dnl behavior that -- according to the C99 standard -- is supposed to be
296 dnl undefined. We may still have aliasing abuses lying around that rely
297 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
298 dnl optimization until we can find and fix all the abuses.
299 dnl (AC_PROG_CC must run first to set the GCC variable.)
300 dnl XXX This really belongs in AM_CFLAGS.
301 if test "x${GCC}" = "xyes"; then
302 CFLAGS="$CFLAGS -fno-strict-aliasing"
305 dnl ******************************
307 dnl ******************************
308 IT_PROG_INTLTOOL([0.35.5])
310 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
311 AC_SUBST(GETTEXT_PACKAGE)
312 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
314 localedir='$(prefix)/$(DATADIRNAME)/locale'
317 dnl ******************************
318 dnl Initialize libtool
319 dnl ******************************
321 LT_INIT(disable-static win32-dll)
325 dnl This relies on $SED, which is defined in ltmain.sh, which
326 dnl is invoked by LT_INIT (at least I think that's how it works).
329 dnl ******************************
331 dnl ******************************
332 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
334 dnl The private D-Bus documentation is for developers only.
335 AC_ARG_WITH([private-docs],
336 AS_HELP_STRING([--with-private-docs],
337 [Build documentation for private libraries ]
338 [(requires --enable-gtk-doc) [default=no]],),
339 [with_private_docs="$withval"],[with_private_docs="no"])
340 AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
342 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
345 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
348 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
352 dnl ******************************
354 dnl ******************************
355 AC_MSG_CHECKING([for Win32])
359 NO_UNDEFINED='-no-undefined'
360 SOCKET_LIBS='-lws2_32 -ldnsapi'
362 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
363 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
364 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
371 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
378 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
381 AC_MSG_RESULT([$os_win32])
382 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
383 AC_SUBST(NO_UNDEFINED)
384 AC_SUBST(SOCKET_LIBS)
385 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
387 dnl **************************************
388 dnl Check for posix compatible sys/wait.h
389 dnl **************************************
392 dnl ************************************
393 dnl Check for posix compatible alloca()
394 dnl ************************************
397 dnl ******************************
398 dnl Checks for functions
399 dnl ******************************
400 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
402 dnl ***********************************
403 dnl Check for base dependencies early.
404 dnl ***********************************
405 PKG_CHECK_MODULES(GNOME_PLATFORM,
406 [gio-2.0 >= glib_minimum_version
407 gmodule-2.0 >= glib_minimum_version
408 libxml-2.0 >= libxml_minimum_version
409 libsoup-2.4 >= soup_minimum_version])
411 if test x$os_win32 = xno; then
412 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
415 dnl ******************************
416 dnl Check for libphonenumber
417 dnl ******************************
419 EVO_PHONENUMBER_SUPPORT
421 dnl *************************
423 dnl *************************
425 [AS_HELP_STRING([--enable-gtk],
426 [enable GTK+ (default=yes)])],
427 [enable_gtk=$enableval], [enable_gtk=yes])
428 AC_MSG_CHECKING([if GTK+ support is enabled])
429 AC_MSG_RESULT([$enable_gtk])
430 if test "x$enable_gtk" = xyes; then
431 PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= gdk_minimum_version],,
434 gtk+-3.0 not found (or version < gdk_minimum_version)
436 If you want to disable GTK+ support,
437 please append --disable-gtk to configure.
440 AC_DEFINE(HAVE_GTK, 1, [Define to 1 if you have the gtk+-3.0 package.])
442 AM_CONDITIONAL(HAVE_GTK, [test x$enable_gtk = xyes])
444 dnl *******************************
445 dnl Check for GNOME Online Accounts
446 dnl *******************************
448 [AS_HELP_STRING([--enable-goa],
449 [enable GNOME Online Accounts support (default=yes)])],
450 [enable_goa=$enableval], [enable_goa=yes])
451 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
452 AC_MSG_RESULT([$enable_goa])
453 if test "x$enable_goa" = xyes; then
454 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
457 goa-1.0 not found (or version < goa_minimum_version)
459 If you want to disable GNOME Online Accounts support,
460 please append --disable-goa to configure.
463 AC_DEFINE(HAVE_GOA, 1, [Define to 1 if you have the goa-1.0 package.])
465 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
467 dnl GoaPasswordBased was introduced in version 3.5.
468 if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
469 AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
472 dnl ********************************
473 dnl Check for Ubuntu Online Accounts
474 dnl ********************************
476 [AS_HELP_STRING([--enable-uoa],
477 [enable Ubuntu Online Accounts support (default=yes)])],
478 [enable_uoa=$enableval], [enable_uoa=yes])
479 AC_MSG_CHECKING([if Ubuntu Online Accounts support is enabled])
480 AC_MSG_RESULT([$enable_uoa])
481 if test "x$enable_uoa" = xyes; then
482 PKG_CHECK_MODULES([LIBACCOUNTS_GLIB],
483 [libaccounts-glib >= libaccounts_glib_minimum_version],,
486 libaccounts-glib not found (or version < libaccounts_glib_minimum_version)
488 If you want to disable Ubuntu Online Accounts support,
489 please append --disable-uoa to configure.
492 PKG_CHECK_MODULES([LIBSIGNON_GLIB],
493 [libsignon-glib >= libsignon_glib_minimum_version],,
496 libsignon-glib not found (or version < libsignon_glib_minimum_version)
498 If you want to disable Ubuntu Online Accounts support,
499 please append --disable-uoa to configure.
502 PKG_CHECK_MODULES([JSON_GLIB], [json-glib-1.0],,
505 json-glib-1.0 not found
507 If you want to disable Ubuntu Online Accounts support,
508 please append --disable-uoa to configure.
511 PKG_CHECK_MODULES([REST], [rest-0.7],,
514 librest-0.7 not found
516 If you want to disable Ubuntu Online Accounts support,
517 please append --disable-uoa to configure.
520 AC_DEFINE(HAVE_UOA, 1, [Have libaccounts-glib])
522 AM_CONDITIONAL(HAVE_UOA, [test x$enable_uoa = xyes])
524 dnl ***********************************
525 dnl Check for GNOME Keyring.
526 dnl ***********************************
527 if test x$os_win32 = xno; then
528 PKG_CHECK_MODULES(LIBSECRET,
529 [libsecret-unstable >= libsecret_minimum_version])
531 AC_SUBST(LIBSECRET_CFLAGS)
532 AC_SUBST(LIBSECRET_LIBS)
534 dnl **********************************************************
535 dnl gcr-base is needed for secure password exchange over D-Bus
536 dnl **********************************************************
537 PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
538 AC_SUBST(GCR_BASE_CFLAGS)
539 AC_SUBST(GCR_BASE_LIBS)
541 LIBICAL_REQUIRED=libical_minimum_version
542 AC_SUBST(LIBICAL_REQUIRED)
544 dnl ******************************
546 dnl ******************************
547 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
549 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
550 [AC_MSG_ERROR([No regex library found])])])
553 dnl ******************************
555 dnl ******************************
557 AS_HELP_STRING([--with-libdb=PREFIX],
558 [Prefix where libdb is installed]),
559 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
561 DB_CFLAGS="-I$libdb_prefix/include"
562 DB_LIBS="-L$libdb_prefix/lib -ldb"
564 AC_MSG_CHECKING([Berkeley DB])
565 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
566 save_libs=$LIBS; LIBS="$DB_LIBS"
567 AC_LINK_IFELSE([AC_LANG_PROGRAM(
569 [[db_create(NULL, NULL, 0)]])],
570 [AC_MSG_RESULT([yes])],
571 [AC_MSG_ERROR([Cannot find libdb])])
577 dnl ******************************
579 dnl ******************************
583 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
584 AC_LINK_IFELSE([AC_LANG_PROGRAM(
591 cd = iconv_open ("UTF-8", "ISO-8859-1");
593 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
595 if test "x$ac_cv_libiconv" = "xyes"; then
597 if test "x$os_win32" = "xyes"; then
598 dnl Don't pointlessly auto-export the global symbols
599 dnl from a potentially static libiconv.a
600 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
605 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
608 if test "x$have_iconv" = "xyes"; then
609 if test "x$ac_cv_libiconv" = "xno"; then
610 AC_CHECK_FUNCS(gnu_get_libc_version)
612 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
613 AC_RUN_IFELSE([AC_LANG_SOURCE([[
617 #ifdef HAVE_GNU_GET_LIBC_VERSION
618 #include <gnu/libc-version.h>
621 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
622 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
623 char *transbuf = malloc (10), *trans = transbuf;
625 size_t jp_len = strlen (jp), utf8_len = 10;
626 size_t utf8_real_len = strlen (utf8);
628 #ifdef HAVE_GNU_GET_LIBC_VERSION
629 /* glibc 2.1.2's iconv is broken in hard to test ways. */
630 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
634 cd = iconv_open ("UTF-8", "ISO-2022-JP");
635 if (cd == (iconv_t) -1)
637 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
639 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
643 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
646 if test "x$have_iconv" = "xno"; then
647 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
651 CFLAGS="$CFLAGS -I$srcdir"
653 AC_MSG_CHECKING([preferred charset name formats for system iconv])
654 AC_RUN_IFELSE([AC_LANG_SOURCE([[
656 #include "iconv-detect.c"
658 [AC_MSG_RESULT([found])],
659 [AC_MSG_RESULT([not found])
661 *** The iconv-detect program was unable to determine the
662 *** preferred charset name formats recognized by your
663 *** iconv library. It is suggested that you install a
664 *** working iconv library such as the one found at
665 *** ftp://ftp.gnu.org/pub/gnu/libiconv
667 [if test "x$os_win32" = xyes; then
668 AC_MSG_RESULT([using known win32 result])
669 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
670 echo >>iconv-detect.h
671 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
672 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
673 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
675 AC_MSG_RESULT([unknown])
677 *** We can't determine the preferred charset name formats
678 *** recognized by your iconv library. You are
679 *** cross-compiling and supposed to know what you are doing.
680 *** Please construct the iconv-detect.h file manually.
685 CFLAGS="$save_CFLAGS"
688 AC_ARG_ENABLE([backtraces],
689 [AS_HELP_STRING([--enable-backtraces],
690 [enable backtraces for camel_pointer_tracker (default=no)])],
691 [enable_backtraces=$enableval], [enable_backtraces=no])
693 if test "x$enable_backtraces" = xyes; then
694 dnl ****************************
695 dnl Check for backtrace_symbols function and dwfl from elfutils
696 dnl ****************************
697 AC_MSG_CHECKING([libc backtrace_symbols function])
698 AC_LINK_IFELSE([AC_LANG_PROGRAM(
699 [[#include <execinfo.h>]],
700 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
701 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
702 AC_MSG_RESULT([$ac_cv_have_bsf])
704 if test "x$ac_cv_have_bsf" = xyes; then
707 AC_MSG_CHECKING([elfutils/libdwfl])
708 AC_LINK_IFELSE([AC_LANG_PROGRAM(
709 [[#include <elfutils/libdwfl.h>]],
713 Dwarf_Addr module_low_addr;
716 dwfl_standard_find_debuginfo;
717 dwfl_linux_proc_find_elf;
719 dwfl_linux_proc_report (NULL, 1);
720 dwfl_report_end (NULL, NULL, NULL);
722 dwfl_module_addrname (NULL, NULL);
723 dwfl_module_getsrc (NULL, NULL);
724 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
725 DWARF_CB_ABORT; DWARF_CB_OK;
726 dwfl_getmodules (NULL, NULL, NULL, 0);
728 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
729 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
733 if test "x$ac_cv_have_elfdwfl" = xyes; then
735 AC_SUBST(LIBDWFL_LIBS)
740 dnl ******************************
741 dnl Check for nl_langinfo features
742 dnl ******************************
743 EVO_CHECK_LANGINFO([CODESET])
744 EVO_CHECK_LANGINFO([_NL_ADDRESS_COUNTRY_AB2])
746 dnl *******************************************************
747 dnl Check to see if strftime supports the use of %l and %k
748 dnl *******************************************************
749 AC_MSG_CHECKING([for %l and %k support in strftime])
750 AC_RUN_IFELSE([AC_LANG_SOURCE(
751 [[ #include <stdlib.h>
754 int main(int argc, char **argv) {
760 timeinfo=localtime(&rawtime);
762 strftime(buf, 10, "%lx%k", timeinfo);
764 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
771 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
772 AC_MSG_RESULT([$ac_cv_lkstrftime])
774 dnl ********************************************************************************
775 dnl security extension support (SSL and S/MIME)
777 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
778 dnl needed by Camel (SSL and S/MIME).
780 dnl The Evolution security extensions are only built if these libraries are found
781 dnl ********************************************************************************
784 AC_ARG_ENABLE([smime],
785 AS_HELP_STRING([--enable-smime],
786 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
787 [enable_smime="$enableval"],[enable_smime="yes"])
789 AC_ARG_WITH([nspr-includes],
790 AS_HELP_STRING([--with-nspr-includes],
791 [Prefix of Mozilla nspr4 includes.]),
792 [with_nspr_includes="$withval"])
794 AC_ARG_WITH([nspr-libs],
795 AS_HELP_STRING([--with-nspr-libs],
796 [Prefix of Mozilla nspr4 libs.]),
797 [with_nspr_libs="$withval"])
799 AC_ARG_WITH([nss-includes],
800 AS_HELP_STRING([--with-nss-includes],
801 [Prefix of Mozilla nss3 includes.]),
802 [with_nss_includes="$withval"])
804 AC_ARG_WITH([nss-libs],
805 AS_HELP_STRING([--with-nss-libs],
806 [Prefix of Mozilla nss3 libs.]),
807 [with_nss_libs="$withval"])
809 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
815 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
816 if test "x${check_manually}" = "xno"; then
817 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
818 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
819 for pc in $mozilla_nspr_pcs; do
820 if $PKG_CONFIG --exists $pc; then
827 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
828 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
829 for pc in $mozilla_nss_pcs; do
830 if $PKG_CONFIG --exists $pc; then
837 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
838 if test "x$enable_smime" = "xyes"; then
839 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
842 MANUAL_NSPR_CFLAGS=""
853 if test "x${check_manually}" = "xyes"; then
854 dnl ******************
856 dnl ******************
857 AC_MSG_CHECKING([for Mozilla nspr4 includes])
858 CPPFLAGS_save="$CPPFLAGS"
859 if test -n "$with_nspr_includes"; then
860 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
863 AC_CHECK_HEADERS(nspr.h prio.h,
864 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
865 CPPFLAGS="$CPPFLAGS_save"
867 if test "x${moz_nspr_includes}" = "xyes"; then
868 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
870 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
872 AC_MSG_RESULT([$moz_nspr_includes])
874 AC_MSG_CHECKING([for Mozilla nspr libraries])
875 CFLAGS_save="$CFLAGS"
876 LDFLAGS_save="$LDFLAGS"
878 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
880 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
882 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
883 if test -n "${with_nspr_libs}"; then
884 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
889 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
890 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
892 CFLAGS="$CFLAGS_save"
893 LDFLAGS="$LDFLAGS_save"
896 if test "x${moz_nspr_libs}" = "xyes"; then
897 if test -n "${with_nspr_libs}"; then
898 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
900 MANUAL_NSPR_LIBS="$nsprlibs"
903 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
905 AC_MSG_RESULT([$moz_nspr_libs])
907 dnl *****************
909 dnl *****************
910 AC_MSG_CHECKING([for Mozilla nss3 includes])
911 CPPFLAGS_save="$CPPFLAGS"
912 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
914 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
915 [moz_nss_includes="yes"],[moz_nss_includes="no"])
916 CPPFLAGS="$CPPFLAGS_save"
918 if test "x${moz_nss_includes}" = "xyes"; then
919 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
921 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
923 AC_MSG_RESULT($moz_nss_includes)
925 AC_MSG_CHECKING([for Mozilla nss libraries])
926 LDFLAGS_save="$LDFLAGS"
928 nsslibs="-lssl3 -lsmime3 -lnss3"
930 LIBS="$nsslibs $nsprlibs"
931 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
932 if test -n "${with_nss_libs}"; then
933 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
935 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
938 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
939 [moz_nss_libs="yes"],[moz_nss_libs="no"])
940 LDFLAGS="$LDFLAGS_save"
943 if test "x${moz_nss_libs}" = "xyes"; then
944 if test "x${enable_smime}" = "xyes"; then
945 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
948 if test -n "${with_nss_libs}"; then
949 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
951 MANUAL_NSS_LIBS="$nsslibs"
954 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
956 AC_MSG_RESULT([$moz_nss_libs])
958 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
959 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
962 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
964 dnl For pkgconfig files.
965 AC_SUBST(mozilla_nss)
966 AC_SUBST(mozilla_nspr)
968 AC_SUBST(MANUAL_NSPR_CFLAGS)
969 AC_SUBST(MANUAL_NSPR_LIBS)
970 AC_SUBST(MANUAL_NSS_CFLAGS)
971 AC_SUBST(MANUAL_NSS_LIBS)
973 dnl ******************************
974 dnl system mail stuff
975 dnl ******************************
976 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
977 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
979 AC_MSG_CHECKING([system mail directory])
980 if test -d /var/mail -a '!' -h /var/mail ; then
981 system_mail_dir="/var/mail"
983 system_mail_dir="/var/spool/mail"
985 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
987 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
989 CAMEL_LOCK_HELPER_USER=""
990 CAMEL_LOCK_HELPER_GROUP=""
991 system_mail_perm="world writable"
994 CAMEL_LOCK_HELPER_USER=""
995 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
996 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
999 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
1000 CAMEL_LOCK_HELPER_GROUP=""
1001 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
1004 CAMEL_LOCK_HELPER_USER=""
1005 CAMEL_LOCK_HELPER_GROUP=""
1006 system_mail_perm="???"
1010 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
1011 AC_SUBST(CAMEL_LOCK_HELPER_USER)
1012 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
1014 dnl ******************************
1016 dnl ******************************
1017 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
1018 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1019 [[ #include <time.h> ]],
1024 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
1025 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
1026 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
1028 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
1029 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1030 [[ #include <time.h> ]],
1032 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
1033 if test "x$ac_cv_var_timezone" = "xyes"; then
1034 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
1035 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
1036 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1037 [[ #include <time.h> ]],
1039 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
1040 if test "x$ac_cv_var_altzone" = "xyes"; then
1041 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
1044 AC_MSG_ERROR([unable to find a way to determine timezone])
1048 dnl ******************************
1049 dnl ctime_r prototype
1050 dnl ******************************
1051 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
1053 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1054 [[ #include <time.h> ]],
1057 ctime_r (&date, buf, 100); ]]
1058 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
1061 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
1062 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
1065 dnl ******************************
1066 dnl gethostbyname_r prototype
1067 dnl ******************************
1068 AC_CHECK_FUNCS(gethostbyname_r,[
1069 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
1071 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1073 #include "confdefs.h"
1074 #include <sys/types.h>
1075 #include <sys/socket.h>
1076 #include <netinet/in.h>
1078 #define BUFSIZE (sizeof(struct hostent)+10)
1081 struct hostent hent;
1082 char buffer[BUFSIZE];
1083 int bufsize=BUFSIZE;
1085 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
1087 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
1090 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
1091 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
1094 dnl ******************************
1095 dnl gethostbyaddr_r prototype
1096 dnl ******************************
1097 AC_CHECK_FUNCS(gethostbyaddr_r,[
1098 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
1100 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1102 #include "confdefs.h"
1103 #include <sys/types.h>
1104 #include <sys/socket.h>
1105 #include <netinet/in.h>
1107 #define BUFSIZE (sizeof(struct hostent)+10)
1110 struct hostent hent;
1111 char buffer[BUFSIZE];
1112 int bufsize=BUFSIZE;
1114 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
1115 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
1118 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
1119 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
1122 dnl ******************************
1123 dnl stat(v)fs location/type
1124 dnl ******************************
1125 AC_CHECK_HEADER([sys/statvfs.h],
1126 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
1127 [[ #if HAVE_SYS_STATVFS_H
1128 #include <sys/statvfs.h>
1131 AC_CHECK_FUNCS(statvfs)
1133 AC_CHECK_HEADER([sys/param.h],
1134 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
1135 [[ #if HAVE_SYS_PARAM_H
1136 #include <sys/param.h>
1139 AC_CHECK_HEADER([sys/mount.h],
1140 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1141 [[ #if HAVE_SYS_MOUNT_H
1142 #include <sys/mount.h>
1145 AC_CHECK_FUNCS(statfs)
1147 dnl ******************************
1148 dnl IPv6 support and getaddrinfo calls
1149 dnl ******************************
1150 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1152 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1153 [[ #include "confdefs.h"
1154 #include <sys/types.h>
1155 #include <sys/socket.h>
1156 #include <netinet/in.h>
1160 [[ #ifndef NI_MAXHOST
1161 #define NI_MAXHOST 1025
1165 #define NI_MAXSERV 32
1168 struct addrinfo hints, *res;
1169 struct sockaddr_in6 sin6;
1171 char host[NI_MAXHOST];
1172 char serv[NI_MAXSERV];
1174 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1176 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1177 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1180 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1181 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1182 if test "x$enable_ipv6" = "xyes" ; then
1183 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1187 AC_ARG_ENABLE([ipv6],
1188 AS_HELP_STRING([--enable-ipv6=no/yes],
1189 [Enable support for resolving IPv6 addresses.]),
1190 [enable_ipv6=$enableval],[enable_ipv6=yes])
1191 if test "x$enable_ipv6" = "xyes"; then
1193 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1194 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1195 [[ #include "confdefs.h"
1196 #include <sys/types.h>
1197 #include <sys/socket.h>
1198 #include <netinet/in.h>
1201 [[ struct addrinfo hints;
1202 hints.ai_flags = AI_ADDRCONFIG;
1204 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1210 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1212 AC_CHECK_HEADER([wspiapi.h],
1213 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1215 dnl **********************************
1216 dnl Weather calendar backend support
1217 dnl **********************************
1218 AC_MSG_CHECKING([if we should build the weather calendar backend])
1219 AC_ARG_ENABLE([weather],
1220 [AS_HELP_STRING([--enable-weather],
1221 [Build the weather calendar backend (default=yes)])],
1222 [use_gweather=$enableval], [use_gweather=yes])
1224 AC_MSG_RESULT([$use_gweather])
1225 if test "x$use_gweather" = "xyes"; then
1226 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1227 [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.])])
1229 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1231 dnl ******************************
1233 dnl ******************************
1234 AC_ARG_ENABLE([nntp],
1235 AS_HELP_STRING([--enable-nntp],
1236 [Build Usenet news (NNTP) backend]),
1237 [enable_nntp=$enableval],[enable_nntp=yes])
1238 if test "x$enable_nntp" = "xyes"; then
1239 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1244 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1246 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1248 dnl ******************************
1250 dnl ******************************
1251 AC_ARG_ENABLE([dot-locking],
1252 AS_HELP_STRING([--enable-dot-locking=yes/no],
1253 [Enable support for locking mail files with dot locking]),
1254 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1256 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1257 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1263 AC_ARG_ENABLE([file-locking],
1264 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1265 [Enable support for locking mail files with file locking]),
1266 [],[enable_file_locking=fcntl])
1268 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1269 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1272 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1273 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1280 dnl ******************************
1281 dnl sendmail operation
1282 dnl ******************************
1283 AC_MSG_CHECKING([for SunOS broken spool format])
1284 if test "x$host_os" = "xsunos" ; then
1285 with_broken_spool="yes"
1288 AC_ARG_WITH([broken-spool],
1289 AS_HELP_STRING([--with-broken-spool=yes/no],
1290 [Using SunOS/Solaris sendmail which has a broken spool format]),
1291 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1293 if test "x$with_broken_spool" = "xyes"; then
1294 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1297 AC_MSG_RESULT([$with_broken_spool])
1302 EVO_KRB5_SUPPORT(no)
1304 dnl ******************************
1306 dnl ******************************
1309 dnl ******************************
1311 dnl ******************************
1312 if test "x$os_win32" != "xyes"; then
1314 case $with_openldap in
1319 case $with_static_ldap in
1321 msg_ldap="$with_openldap (static)"
1324 msg_ldap="$with_openldap (dynamic)"
1329 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1330 if test "x$with_openldap" = "xno" ; then
1331 EVO_SUNLDAP_CHECK(no)
1332 case $with_sunldap in
1337 case $with_static_sunldap in
1339 msg_ldap="$with_sunldap (static)"
1342 msg_ldap="$with_sunldap (dynamic)"
1349 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1351 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1353 dnl Win32 LDAP support
1354 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1355 LDAP_LIBS="-lwldap32"
1356 AC_SUBST(LDAP_CFLAGS)
1358 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1359 AM_CONDITIONAL(ENABLE_LDAP, true)
1360 AM_CONDITIONAL(SUNLDAP, false)
1364 dnl ******************************
1365 dnl GObject marshalling
1366 dnl ******************************
1369 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1370 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1371 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1373 dnl ******************************
1374 dnl Utility macro to set compiler flags for a specific lib.
1375 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1376 dnl ******************************
1377 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1378 PKG_CHECK_MODULES([$1], [$2])
1379 $1_CFLAGS="[$]$1_CFLAGS $3 "
1380 $1_LIBS="[$]$1_LIBS $4 "
1383 dnl ******************************
1385 dnl ******************************
1386 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1388 if test "x$enable_maintainer_mode" = "xyes" ; then
1389 EVO_SET_COMPILE_FLAGS(FACTORY_GTK, "gtk+-3.0")
1390 AC_SUBST(FACTORY_GTK_CFLAGS)
1391 AC_SUBST(FACTORY_GTK_LIBS)
1394 dnl ******************************
1395 dnl libedataserver flags
1396 dnl ******************************
1397 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
1399 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1400 AC_SUBST(E_DATA_SERVER_CFLAGS)
1401 AC_SUBST(E_DATA_SERVER_LIBS)
1403 dnl ******************************
1404 dnl libebackend flags
1405 dnl ******************************
1406 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libsoup-2.4 libxml-2.0"
1408 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1409 AC_SUBST(E_BACKEND_CFLAGS)
1410 AC_SUBST(E_BACKEND_LIBS)
1412 dnl ******************************
1413 dnl evolution-addressbook flags
1414 dnl ******************************
1415 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 libsecret-1"
1417 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1418 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1419 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1421 dnl ******************************
1422 dnl evolution-calendar flags
1423 dnl ******************************
1424 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 libsecret-1"
1427 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1428 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1429 dnl to differentiate between <libical/ical.h> and <ical.h>
1430 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1431 dnl libical is fixed, we have to work-around the buggy CFlags.
1433 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1434 LIBICAL_EXTRA_LIBS=""
1435 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1436 AC_SUBST(LIBICAL_EXTRA_LIBS)
1438 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1439 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1440 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1442 dnl ****************************
1443 dnl Check for ical_set_unknown_token_handling_setting function
1444 dnl ****************************
1445 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1446 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1447 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1448 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1449 [[#include <libical/ical.h>]],
1450 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1451 [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])
1454 AC_MSG_RESULT([$ac_cv_have_iuth])
1456 dnl ******************************
1458 dnl ******************************
1459 LIBGDATA_REQUIRED=libgdata_minimum_version
1460 AC_SUBST(LIBGDATA_REQUIRED)
1461 AC_ARG_ENABLE([google],
1462 [AS_HELP_STRING([--enable-google],
1463 [enable Google Contacts support (default=yes)])],
1464 [enable_google=$enableval], [enable_google=yes])
1465 AC_MSG_CHECKING([if Google Contacts support is enabled])
1466 AC_MSG_RESULT([$enable_google])
1467 if test "x$enable_google" = xyes; then
1468 EVO_SET_COMPILE_FLAGS(GDATA, libgdata >= libgdata_minimum_version)
1469 AC_SUBST(GDATA_CFLAGS)
1470 AC_SUBST(GDATA_LIBS)
1472 AC_DEFINE(HAVE_GOOGLE, 1, [Define to 1 if you have the google-1.0 package.])
1474 AM_CONDITIONAL(HAVE_GOOGLE, [test x$enable_google = xyes])
1476 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1477 AC_SUBST(SOUP_CFLAGS)
1480 dnl ******************************
1482 dnl ******************************
1483 SQLITE_REQUIRED=sqlite_minimum_version
1484 AC_SUBST(SQLITE_REQUIRED)
1487 dnl deflateInit is a #define, use deflateEnd instead
1488 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1490 if test "x$zlib_found" = "xfalse"; then
1491 AC_MSG_ERROR([*** zlib is required])
1494 dnl ******************************
1495 dnl Checks for large file support
1496 dnl ******************************
1497 AC_ARG_ENABLE([largefile],
1498 AS_HELP_STRING([--enable-largefile],
1499 [enable support for large files [[default=no]]]),
1500 [],[enable_largefile="yes"])
1502 if test "x$enable_largefile" != "xno"; then
1504 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1505 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1506 [[ #include <sys/types.h>
1507 #include <sys/stat.h>
1510 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1511 )],[ac_cv_largefile64_source="no"],
1512 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1513 [[ #define _LARGEFILE64_SOURCE
1514 #include <sys/types.h>
1515 #include <sys/stat.h>
1518 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1519 [ac_cv_largefile64_source="unknown"])])
1522 enable_largefile="no"
1524 if test "x$ac_cv_largefile64_source" = "xyes"; then
1525 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1526 enable_largefile="yes"
1527 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1528 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1531 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1532 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1533 enable_largefile="yes"
1536 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1537 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1538 enable_largefile="yes"
1541 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1545 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1547 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)
1548 AC_SUBST(CAMEL_CFLAGS)
1549 AC_SUBST(CAMEL_LIBS)
1551 dnl ******************************
1552 dnl Special directories
1553 dnl ******************************
1555 dnl If you add something here, consider whether or not you also
1556 dnl need to add it to one or more .pc.in files (for Connector,
1559 privdatadir='${datadir}'/evolution-data-server
1560 AC_SUBST(privdatadir)
1562 privincludedir='${includedir}'/evolution-data-server
1563 AC_SUBST(privincludedir)
1565 privlibdir='${libdir}'/evolution-data-server
1566 AC_SUBST(privlibdir)
1568 imagesdir='${datadir}'/pixmaps/evolution-data-server
1571 moduledir='${privlibdir}'/registry-modules
1574 ebook_backenddir='${privlibdir}'/addressbook-backends
1575 AC_SUBST(ebook_backenddir)
1577 ecal_backenddir='${privlibdir}'/calendar-backends
1578 AC_SUBST(ecal_backenddir)
1580 ro_sourcesdir='${privdatadir}'/ro-sources
1581 AC_SUBST(ro_sourcesdir)
1583 rw_sourcesdir='${privdatadir}'/rw-sources
1584 AC_SUBST(rw_sourcesdir)
1586 if test "x$use_gweather" = "xyes"; then
1587 weatherdatadir="$privdatadir/weather"
1588 AC_SUBST(weatherdatadir)
1591 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1592 camel_providerdir='${privlibdir}'/camel-providers
1593 AC_SUBST(camel_providerdir)
1595 dnl *******************
1596 dnl D-BUS service stuff
1597 dnl *******************
1598 m4_pattern_allow([AM_V_GEN])
1599 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)|" $< > $@'
1600 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1602 dnl ******************************
1604 dnl ******************************
1608 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1609 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1610 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1612 dnl ******************************
1614 dnl ******************************
1615 AC_PATH_PROG(GPERF, gperf, [no])
1616 if test "x$GPERF" = "xno"; then
1617 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1620 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1622 dnl ******************************
1624 dnl ******************************
1625 AC_ARG_ENABLE(vala-bindings,
1626 AC_HELP_STRING([--enable-vala-bindings],
1627 [build the EXPERIMENTAL Vala bindings]),
1628 enable_vala_bindings=$enableval,
1629 enable_vala_bindings=no)
1631 if test x$enable_vala_bindings = xyes; then
1632 if test "x$INTROSPECTION_SCANNER" = x; then
1633 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1636 AM_PROG_VALAC([0.13.0])
1639 AC_PATH_PROG(VALAC, valac, valac)
1643 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1645 if test "x$VAPIGEN" = "xfalse"; then
1646 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1652 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1655 dnl ******************************
1657 dnl ******************************
1659 export privincludedir
1664 evolution-data-server-zip
1665 evolution-data-server.pc
1666 addressbook/Makefile
1667 addressbook/libebook/Makefile
1668 addressbook/libebook/libebook.pc
1669 addressbook/libebook-contacts/Makefile
1670 addressbook/libebook-contacts/libebook-contacts.pc
1671 addressbook/libedata-book/Makefile
1672 addressbook/libedata-book/libedata-book.pc
1673 addressbook/libegdbus/Makefile
1674 addressbook/backends/Makefile
1675 addressbook/backends/file/Makefile
1676 addressbook/backends/ldap/Makefile
1677 addressbook/backends/google/Makefile
1678 addressbook/backends/google/tests/Makefile
1679 addressbook/backends/webdav/Makefile
1682 calendar/libecal/Makefile
1683 calendar/libecal/libecal.pc
1684 calendar/libedata-cal/Makefile
1685 calendar/libedata-cal/libedata-cal.pc
1686 calendar/libegdbus/Makefile
1687 calendar/backends/Makefile
1688 calendar/backends/caldav/Makefile
1689 calendar/backends/file/Makefile
1690 calendar/backends/http/Makefile
1691 calendar/backends/contacts/Makefile
1692 calendar/backends/weather/Makefile
1694 camel/providers/Makefile
1695 camel/providers/imapx/Makefile
1696 camel/providers/local/Makefile
1697 camel/providers/nntp/Makefile
1698 camel/providers/pop3/Makefile
1699 camel/providers/sendmail/Makefile
1700 camel/providers/smtp/Makefile
1701 camel/tests/Makefile
1702 camel/tests/folder/Makefile
1703 camel/tests/lib/Makefile
1704 camel/tests/message/Makefile
1705 camel/tests/mime-filter/Makefile
1706 camel/tests/misc/Makefile
1707 camel/tests/smime/Makefile
1710 libebackend/Makefile
1711 libebackend/libebackend.pc
1712 libedataserver/Makefile
1713 libedataserver/eds-version.h
1714 libedataserver/libedataserver.pc
1716 modules/cache-reaper/Makefile
1717 modules/gnome-online-accounts/Makefile
1718 modules/google-backend/Makefile
1719 modules/owncloud-backend/Makefile
1720 modules/ubuntu-online-accounts/Makefile
1721 modules/ubuntu-online-accounts/calendar.service-type.in
1722 modules/ubuntu-online-accounts/contacts.service-type.in
1723 modules/ubuntu-online-accounts/evolution-data-server.application.in
1724 modules/ubuntu-online-accounts/google-calendar.service.in
1725 modules/ubuntu-online-accounts/google-contacts.service.in
1726 modules/ubuntu-online-accounts/google-gmail.service.in
1727 modules/ubuntu-online-accounts/mail.service-type.in
1728 modules/ubuntu-online-accounts/yahoo-calendar.service.in
1729 modules/ubuntu-online-accounts/yahoo-mail.service.in
1730 modules/trust-prompt/Makefile
1731 modules/yahoo-backend/Makefile
1734 services/evolution-addressbook-factory/Makefile
1735 services/evolution-calendar-factory/Makefile
1736 services/evolution-source-registry/Makefile
1737 services/evolution-user-prompter/Makefile
1739 tests/libebook/Makefile
1740 tests/libebook/client/Makefile
1741 tests/libebook/vcard/Makefile
1742 tests/libecal/Makefile
1743 tests/libecal/client/Makefile
1744 tests/libedata-cal/Makefile
1745 tests/libedataserver/Makefile
1746 tests/test-server-utils/Makefile
1747 tests/test-server-utils/services/Makefile
1748 tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service
1749 tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service
1750 tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service
1752 docs/reference/Makefile
1753 docs/reference/addressbook/Makefile
1754 docs/reference/addressbook/libebook/Makefile
1755 docs/reference/addressbook/libebook-contacts/Makefile
1756 docs/reference/addressbook/libedata-book/Makefile
1757 docs/reference/calendar/Makefile
1758 docs/reference/calendar/libecal/Makefile
1759 docs/reference/calendar/libedata-cal/Makefile
1760 docs/reference/camel/Makefile
1761 docs/reference/libedataserver/Makefile
1762 docs/reference/libebackend/Makefile
1763 docs/reference/private/Makefile
1770 evolution-data-server has been configured as follows:
1771 Weather calendar: $use_gweather
1772 Mail Directory: $system_mail_dir, $system_mail_perm
1773 LDAP support: $msg_ldap
1774 NNTP support: $msg_nntp
1775 Kerberos 5: $msg_krb5
1776 SMIME support: $msg_smime
1777 IPv6 support: $msg_ipv6
1778 Phone number support: $msg_phonenumber
1779 Dot Locking: $msg_dot
1780 File Locking: $msg_file
1781 Large files: $enable_largefile
1782 Gtk Doc: $enable_gtk_doc
1783 Introspection: $enable_introspection
1784 Vala bindings: $enable_vala_bindings
1785 GNOME Online Accounts $enable_goa
1786 Ubuntu Online Accounts $enable_uoa
1787 Google Contacts $enable_google
1789 Code coverage (gcov): $enable_code_coverage
1790 Strict building: $enable_strict