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], [4])
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 m4_define([gcr_minimum_version], [3.4])
46 m4_define([libsecret_minimum_version], [0.5])
47 m4_define([libxml_minimum_version], [2.0.0]) dnl XXX Just a Guess
48 m4_define([libsoup_minimum_version], [2.38.1])
49 m4_define([libgdata_minimum_version], [0.10])
50 m4_define([sqlite_minimum_version], [3.5])
51 m4_define([libical_minimum_version], [0.43])
54 m4_define([goa_minimum_version], [3.2])
55 m4_define([gweather_minimum_version], [3.5.0])
57 AC_SUBST([BASE_VERSION],[base_version])
58 AC_SUBST([API_VERSION],[api_version])
59 AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
60 AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
62 EDS_MAJOR_VERSION=eds_major_version
63 EDS_MINOR_VERSION=eds_minor_version
64 EDS_MICRO_VERSION=eds_micro_version
68 dnl ******************************
70 dnl ******************************
71 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook4"
72 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar3"
73 SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources1"
74 USER_PROMPTER_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.UserPrompter0"
77 ADDRESS_BOOK_DBUS_SERVICE_NAME,
78 ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
79 [D-Bus service name for the address book factory])
82 CALENDAR_DBUS_SERVICE_NAME,
83 ["$CALENDAR_DBUS_SERVICE_NAME"],
84 [D-Bus service name for the calendar factory])
87 SOURCES_DBUS_SERVICE_NAME,
88 ["$SOURCES_DBUS_SERVICE_NAME"],
89 [D-Bus service name for the source registry])
92 USER_PROMPTER_DBUS_SERVICE_NAME,
93 ["$USER_PROMPTER_DBUS_SERVICE_NAME"],
94 [D-Bus service name for the user prompter])
96 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
97 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
98 AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
99 AC_SUBST(USER_PROMPTER_DBUS_SERVICE_NAME)
101 dnl ******************************
102 dnl Libtool versioning
103 dnl ******************************
104 LIBEDATASERVER_CURRENT=17
105 LIBEDATASERVER_REVISION=0
112 LIBEDATACAL_CURRENT=19
113 LIBEDATACAL_REVISION=0
116 LIBEDATABOOK_CURRENT=16
117 LIBEDATABOOK_REVISION=0
128 LIBEBACKEND_CURRENT=6
129 LIBEBACKEND_REVISION=0
132 AC_SUBST(EDS_MAJOR_VERSION)
133 AC_SUBST(EDS_MINOR_VERSION)
134 AC_SUBST(EDS_MICRO_VERSION)
135 AC_SUBST(LIBEDATASERVER_CURRENT)
136 AC_SUBST(LIBEDATASERVER_REVISION)
137 AC_SUBST(LIBEDATASERVER_AGE)
138 AC_SUBST(LIBECAL_CURRENT)
139 AC_SUBST(LIBECAL_REVISION)
140 AC_SUBST(LIBECAL_AGE)
141 AC_SUBST(LIBEDATACAL_CURRENT)
142 AC_SUBST(LIBEDATACAL_REVISION)
143 AC_SUBST(LIBEDATACAL_AGE)
144 AC_SUBST(LIBEBOOK_CURRENT)
145 AC_SUBST(LIBEBOOK_REVISION)
146 AC_SUBST(LIBEBOOK_AGE)
147 AC_SUBST(LIBEDATABOOK_CURRENT)
148 AC_SUBST(LIBEDATABOOK_REVISION)
149 AC_SUBST(LIBEDATABOOK_AGE)
150 AC_SUBST(LIBCAMEL_CURRENT)
151 AC_SUBST(LIBCAMEL_REVISION)
152 AC_SUBST(LIBCAMEL_AGE)
153 AC_SUBST(LIBEBACKEND_CURRENT)
154 AC_SUBST(LIBEBACKEND_REVISION)
155 AC_SUBST(LIBEBACKEND_AGE)
157 dnl **************************************
158 dnl Put the ACLOCAL flags in the Makefile
159 dnl **************************************
160 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
162 dnl ******************************
163 dnl Compiler Warning Flags
164 dnl ******************************
165 AS_COMPILER_FLAGS(WARNING_FLAGS,
167 -Wdeprecated-declarations
168 -Wno-missing-field-initializers
170 -Wno-unused-parameter
171 -Wdeclaration-after-statement
172 -Werror-implicit-function-declaration
173 -Wformat-security -Winit-self
174 -Wmissing-declarations -Wmissing-include-dirs
175 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
176 -Wredundant-decls -Wundef -Wwrite-strings")
177 AC_SUBST(WARNING_FLAGS)
179 dnl Other useful compiler warnings for test builds only.
180 dnl These may produce warnings we have no control over,
181 dnl or false positives we don't always want to see.
183 dnl -Wformat-nonliteral
184 dnl -Wmissing-format-attribute
186 dnl -Wstrict-aliasing=2
188 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
190 dnl *******************************
191 dnl Check for --enable-strict
192 dnl *******************************
193 AC_ARG_ENABLE([strict],
194 [AS_HELP_STRING([--enable-strict],
195 [enable strict building, like without deprecated symbols (default=auto); auto enables strict building only if .git subdirectory exists])],
196 [enable_strict=$enableval], [enable_strict=auto])
198 AC_MSG_CHECKING([if strict building is enabled])
199 if test "x$enable_strict" = xauto; then
200 dnl Be strict when compiling with .git subdirectory
201 if test -d .git ; then
207 AC_MSG_RESULT([$enable_strict])
209 if test "x$enable_strict" = xyes; then
210 AM_CPPFLAGS="$AM_CPPFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED"
213 dnl Warn about GLib/GTK+ API usage that violates our minimum requirements.
214 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MAX_ALLOWED=glib_encoded_version"
215 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MAX_ALLOWED=gdk_encoded_version"
217 dnl These will suppress warnings about newly-deprecated symbols. Ideally
218 dnl these settings should match our minimum requirements and we will clean
219 dnl up any new deprecation warnings after bumping our minimum requirements.
220 dnl But if the warnings get to be overwhelming, use fixed versions instead.
221 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_VERSION_MIN_REQUIRED=glib_encoded_version"
222 AM_CPPFLAGS="$AM_CPPFLAGS -DGDK_VERSION_MIN_REQUIRED=gdk_encoded_version"
224 AC_SUBST(AM_CPPFLAGS)
226 dnl ******************************
227 dnl Initialize maintainer mode
228 dnl ******************************
229 AM_MAINTAINER_MODE([enable])
231 if test "x$enable_maintainer_mode" = "xyes" ; then
232 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
243 dnl For gen-western-table.py
246 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
247 dnl behavior that -- according to the C99 standard -- is supposed to be
248 dnl undefined. We may still have aliasing abuses lying around that rely
249 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
250 dnl optimization until we can find and fix all the abuses.
251 dnl (AC_PROG_CC must run first to set the GCC variable.)
252 dnl XXX This really belongs in AM_CFLAGS.
253 if test "x${GCC}" = "xyes"; then
254 CFLAGS="$CFLAGS -fno-strict-aliasing"
257 dnl ******************************
259 dnl ******************************
260 IT_PROG_INTLTOOL([0.35.5])
262 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
263 AC_SUBST(GETTEXT_PACKAGE)
264 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
266 localedir='$(prefix)/$(DATADIRNAME)/locale'
269 dnl ******************************
270 dnl Initialize libtool
271 dnl ******************************
273 LT_INIT(disable-static win32-dll)
277 dnl This relies on $SED, which is defined in ltmain.sh, which
278 dnl is invoked by LT_INIT (at least I think that's how it works).
281 dnl ******************************
283 dnl ******************************
284 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
286 dnl The private D-Bus documentation is for developers only.
287 AC_ARG_WITH([private-docs],
288 AS_HELP_STRING([--with-private-docs],
289 [Build documentation for private libraries ]
290 [(requires --enable-gtk-doc) [default=no]],),
291 [with_private_docs="$withval"],[with_private_docs="no"])
292 AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
294 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
297 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
300 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
304 dnl ******************************
306 dnl ******************************
307 AC_MSG_CHECKING([for Win32])
311 NO_UNDEFINED='-no-undefined'
312 SOCKET_LIBS='-lws2_32 -ldnsapi'
314 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
315 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
316 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
323 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
330 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
333 AC_MSG_RESULT([$os_win32])
334 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
335 AC_SUBST(NO_UNDEFINED)
336 AC_SUBST(SOCKET_LIBS)
337 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
339 dnl **************************************
340 dnl Check for posix compatible sys/wait.h
341 dnl **************************************
344 dnl ************************************
345 dnl Check for posix compatible alloca()
346 dnl ************************************
349 dnl ******************************
350 dnl Checks for functions
351 dnl ******************************
352 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
354 dnl ***********************************
355 dnl Check for base dependencies early.
356 dnl ***********************************
357 PKG_CHECK_MODULES(GNOME_PLATFORM,
358 [gio-2.0 >= glib_minimum_version
359 gmodule-2.0 >= glib_minimum_version
360 gtk+-3.0 >= gdk_minimum_version
361 libxml-2.0 >= libxml_minimum_version
362 libsoup-2.4 >= libsoup_minimum_version
363 libgdata >= libgdata_minimum_version])
365 if test x$os_win32 = xno; then
366 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
369 dnl *******************************
370 dnl Check for GNOME Online Accounts
371 dnl *******************************
373 [AS_HELP_STRING([--enable-goa],
374 [enable GNOME Online Accounts support (default=yes)])],
375 [enable_goa=$enableval], [enable_goa=yes])
376 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
377 AC_MSG_RESULT([$enable_goa])
378 if test "x$enable_goa" = xyes; then
379 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
382 goa-1.0 not found (or version < goa_minimum_version)
384 If you want to disable GNOME Online Accounts support,
385 please append --disable-goa to configure.
388 AC_DEFINE(HAVE_GOA, 1, [Define to 1 if you have the goa-1.0 package.])
390 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
392 dnl GoaPasswordBased was introduced in version 3.5.
393 if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
394 AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
397 dnl ***********************************
398 dnl Check for GNOME Keyring.
399 dnl ***********************************
400 if test x$os_win32 = xno; then
401 PKG_CHECK_MODULES(LIBSECRET,
402 [libsecret-unstable >= libsecret_minimum_version])
404 AC_SUBST(LIBSECRET_CFLAGS)
405 AC_SUBST(LIBSECRET_LIBS)
407 dnl **********************************************************
408 dnl gcr-base is needed for secure password exchange over D-Bus
409 dnl **********************************************************
410 PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
411 AC_SUBST(GCR_BASE_CFLAGS)
412 AC_SUBST(GCR_BASE_LIBS)
414 LIBICAL_REQUIRED=libical_minimum_version
415 AC_SUBST(LIBICAL_REQUIRED)
417 dnl ******************************
419 dnl ******************************
420 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
422 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
423 [AC_MSG_ERROR([No regex library found])])])
426 dnl ******************************
428 dnl ******************************
430 AS_HELP_STRING([--with-libdb=PREFIX],
431 [Prefix where libdb is installed]),
432 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
434 DB_CFLAGS="-I$libdb_prefix/include"
435 DB_LIBS="-L$libdb_prefix/lib -ldb"
437 AC_MSG_CHECKING([Berkeley DB])
438 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
439 save_libs=$LIBS; LIBS="$DB_LIBS"
440 AC_LINK_IFELSE([AC_LANG_PROGRAM(
442 [[db_create(NULL, NULL, 0)]])],
443 [AC_MSG_RESULT([yes])],
444 [AC_MSG_ERROR([Cannot find libdb])])
450 dnl ******************************
452 dnl ******************************
456 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
457 AC_LINK_IFELSE([AC_LANG_PROGRAM(
464 cd = iconv_open ("UTF-8", "ISO-8859-1");
466 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
468 if test "x$ac_cv_libiconv" = "xyes"; then
470 if test "x$os_win32" = "xyes"; then
471 dnl Don't pointlessly auto-export the global symbols
472 dnl from a potentially static libiconv.a
473 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
478 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
481 if test "x$have_iconv" = "xyes"; then
482 if test "x$ac_cv_libiconv" = "xno"; then
483 AC_CHECK_FUNCS(gnu_get_libc_version)
485 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
486 AC_RUN_IFELSE([AC_LANG_SOURCE([[
490 #ifdef HAVE_GNU_GET_LIBC_VERSION
491 #include <gnu/libc-version.h>
494 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
495 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
496 char *transbuf = malloc (10), *trans = transbuf;
498 size_t jp_len = strlen (jp), utf8_len = 10;
499 size_t utf8_real_len = strlen (utf8);
501 #ifdef HAVE_GNU_GET_LIBC_VERSION
502 /* glibc 2.1.2's iconv is broken in hard to test ways. */
503 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
507 cd = iconv_open ("UTF-8", "ISO-2022-JP");
508 if (cd == (iconv_t) -1)
510 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
512 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
516 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
519 if test "x$have_iconv" = "xno"; then
520 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
524 CFLAGS="$CFLAGS -I$srcdir"
526 AC_MSG_CHECKING([preferred charset name formats for system iconv])
527 AC_RUN_IFELSE([AC_LANG_SOURCE([[
529 #include "iconv-detect.c"
531 [AC_MSG_RESULT([found])],
532 [AC_MSG_RESULT([not found])
534 *** The iconv-detect program was unable to determine the
535 *** preferred charset name formats recognized by your
536 *** iconv library. It is suggested that you install a
537 *** working iconv library such as the one found at
538 *** ftp://ftp.gnu.org/pub/gnu/libiconv
540 [if test "x$os_win32" = xyes; then
541 AC_MSG_RESULT([using known win32 result])
542 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
543 echo >>iconv-detect.h
544 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
545 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
546 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
548 AC_MSG_RESULT([unknown])
550 *** We can't determine the preferred charset name formats
551 *** recognized by your iconv library. You are
552 *** cross-compiling and supposed to know what you are doing.
553 *** Please construct the iconv-detect.h file manually.
558 CFLAGS="$save_CFLAGS"
561 AC_ARG_ENABLE([backtraces],
562 [AS_HELP_STRING([--enable-backtraces],
563 [enable backtraces for camel_pointer_tracker (default=no)])],
564 [enable_backtraces=$enableval], [enable_backtraces=no])
566 if test "x$enable_backtraces" = xyes; then
567 dnl ****************************
568 dnl Check for backtrace_symbols function and dwfl from elfutils
569 dnl ****************************
570 AC_MSG_CHECKING([libc backtrace_symbols function])
571 AC_LINK_IFELSE([AC_LANG_PROGRAM(
572 [[#include <execinfo.h>]],
573 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
574 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
575 AC_MSG_RESULT([$ac_cv_have_bsf])
577 if test "x$ac_cv_have_bsf" = xyes; then
580 AC_MSG_CHECKING([elfutils/libdwfl])
581 AC_LINK_IFELSE([AC_LANG_PROGRAM(
582 [[#include <elfutils/libdwfl.h>]],
586 Dwarf_Addr module_low_addr;
589 dwfl_standard_find_debuginfo;
590 dwfl_linux_proc_find_elf;
592 dwfl_linux_proc_report (NULL, 1);
593 dwfl_report_end (NULL, NULL, NULL);
595 dwfl_module_addrname (NULL, NULL);
596 dwfl_module_getsrc (NULL, NULL);
597 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
598 DWARF_CB_ABORT; DWARF_CB_OK;
599 dwfl_getmodules (NULL, NULL, NULL, 0);
601 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
602 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
606 if test "x$ac_cv_have_elfdwfl" = xyes; then
608 AC_SUBST(LIBDWFL_LIBS)
613 dnl **********************************
614 dnl Check for nl_langinfo and CODESET
615 dnl **********************************
616 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
617 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
618 [[#include <langinfo.h>]],
619 [[char *codeset = nl_langinfo (CODESET);]]
620 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
621 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
622 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
624 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
626 dnl *******************************************************
627 dnl Check to see if strftime supports the use of %l and %k
628 dnl *******************************************************
629 AC_MSG_CHECKING([for %l and %k support in strftime])
630 AC_RUN_IFELSE([AC_LANG_SOURCE(
631 [[ #include <stdlib.h>
634 int main(int argc, char **argv) {
640 timeinfo=localtime(&rawtime);
642 strftime(buf, 10, "%lx%k", timeinfo);
644 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
651 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
652 AC_MSG_RESULT([$ac_cv_lkstrftime])
654 dnl ********************************************************************************
655 dnl security extension support (SSL and S/MIME)
657 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
658 dnl needed by Camel (SSL and S/MIME).
660 dnl The Evolution security extensions are only built if these libraries are found
661 dnl ********************************************************************************
664 AC_ARG_ENABLE([smime],
665 AS_HELP_STRING([--enable-smime],
666 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
667 [enable_smime="$enableval"],[enable_smime="yes"])
669 AC_ARG_WITH([nspr-includes],
670 AS_HELP_STRING([--with-nspr-includes],
671 [Prefix of Mozilla nspr4 includes.]),
672 [with_nspr_includes="$withval"])
674 AC_ARG_WITH([nspr-libs],
675 AS_HELP_STRING([--with-nspr-libs],
676 [Prefix of Mozilla nspr4 libs.]),
677 [with_nspr_libs="$withval"])
679 AC_ARG_WITH([nss-includes],
680 AS_HELP_STRING([--with-nss-includes],
681 [Prefix of Mozilla nss3 includes.]),
682 [with_nss_includes="$withval"])
684 AC_ARG_WITH([nss-libs],
685 AS_HELP_STRING([--with-nss-libs],
686 [Prefix of Mozilla nss3 libs.]),
687 [with_nss_libs="$withval"])
689 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
695 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
696 if test "x${check_manually}" = "xno"; then
697 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
698 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
699 for pc in $mozilla_nspr_pcs; do
700 if $PKG_CONFIG --exists $pc; then
707 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
708 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
709 for pc in $mozilla_nss_pcs; do
710 if $PKG_CONFIG --exists $pc; then
717 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
718 if test "x$enable_smime" = "xyes"; then
719 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
722 MANUAL_NSPR_CFLAGS=""
733 if test "x${check_manually}" = "xyes"; then
734 dnl ******************
736 dnl ******************
737 AC_MSG_CHECKING([for Mozilla nspr4 includes])
738 CPPFLAGS_save="$CPPFLAGS"
739 if test -n "$with_nspr_includes"; then
740 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
743 AC_CHECK_HEADERS(nspr.h prio.h,
744 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
745 CPPFLAGS="$CPPFLAGS_save"
747 if test "x${moz_nspr_includes}" = "xyes"; then
748 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
750 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
752 AC_MSG_RESULT([$moz_nspr_includes])
754 AC_MSG_CHECKING([for Mozilla nspr libraries])
755 CFLAGS_save="$CFLAGS"
756 LDFLAGS_save="$LDFLAGS"
758 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
760 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
762 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
763 if test -n "${with_nspr_libs}"; then
764 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
769 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
770 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
772 CFLAGS="$CFLAGS_save"
773 LDFLAGS="$LDFLAGS_save"
776 if test "x${moz_nspr_libs}" = "xyes"; then
777 if test -n "${with_nspr_libs}"; then
778 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
780 MANUAL_NSPR_LIBS="$nsprlibs"
783 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
785 AC_MSG_RESULT([$moz_nspr_libs])
787 dnl *****************
789 dnl *****************
790 AC_MSG_CHECKING([for Mozilla nss3 includes])
791 CPPFLAGS_save="$CPPFLAGS"
792 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
794 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
795 [moz_nss_includes="yes"],[moz_nss_includes="no"])
796 CPPFLAGS="$CPPFLAGS_save"
798 if test "x${moz_nss_includes}" = "xyes"; then
799 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
801 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
803 AC_MSG_RESULT($moz_nss_includes)
805 AC_MSG_CHECKING([for Mozilla nss libraries])
806 LDFLAGS_save="$LDFLAGS"
808 nsslibs="-lssl3 -lsmime3 -lnss3"
810 LIBS="$nsslibs $nsprlibs"
811 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
812 if test -n "${with_nss_libs}"; then
813 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
815 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
818 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
819 [moz_nss_libs="yes"],[moz_nss_libs="no"])
820 LDFLAGS="$LDFLAGS_save"
823 if test "x${moz_nss_libs}" = "xyes"; then
824 if test "x${enable_smime}" = "xyes"; then
825 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
828 if test -n "${with_nss_libs}"; then
829 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
831 MANUAL_NSS_LIBS="$nsslibs"
834 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
836 AC_MSG_RESULT([$moz_nss_libs])
838 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
839 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
842 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
844 dnl For pkgconfig files.
845 AC_SUBST(mozilla_nss)
846 AC_SUBST(mozilla_nspr)
848 AC_SUBST(MANUAL_NSPR_CFLAGS)
849 AC_SUBST(MANUAL_NSPR_LIBS)
850 AC_SUBST(MANUAL_NSS_CFLAGS)
851 AC_SUBST(MANUAL_NSS_LIBS)
853 dnl ******************************
854 dnl system mail stuff
855 dnl ******************************
856 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
857 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
859 AC_MSG_CHECKING([system mail directory])
860 if test -d /var/mail -a '!' -h /var/mail ; then
861 system_mail_dir="/var/mail"
863 system_mail_dir="/var/spool/mail"
865 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
867 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
869 CAMEL_LOCK_HELPER_USER=""
870 CAMEL_LOCK_HELPER_GROUP=""
871 system_mail_perm="world writable"
874 CAMEL_LOCK_HELPER_USER=""
875 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
876 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
879 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
880 CAMEL_LOCK_HELPER_GROUP=""
881 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
884 CAMEL_LOCK_HELPER_USER=""
885 CAMEL_LOCK_HELPER_GROUP=""
886 system_mail_perm="???"
890 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
891 AC_SUBST(CAMEL_LOCK_HELPER_USER)
892 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
894 dnl ******************************
896 dnl ******************************
897 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
899 [[ #include <time.h> ]],
904 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
905 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
906 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
908 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
909 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
910 [[ #include <time.h> ]],
912 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
913 if test "x$ac_cv_var_timezone" = "xyes"; then
914 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
915 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
916 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
917 [[ #include <time.h> ]],
919 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
920 if test "x$ac_cv_var_altzone" = "xyes"; then
921 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
924 AC_MSG_ERROR([unable to find a way to determine timezone])
928 dnl ******************************
929 dnl ctime_r prototype
930 dnl ******************************
931 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
933 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
934 [[ #include <time.h> ]],
937 ctime_r (&date, buf, 100); ]]
938 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
941 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
942 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
945 dnl ******************************
946 dnl gethostbyname_r prototype
947 dnl ******************************
948 AC_CHECK_FUNCS(gethostbyname_r,[
949 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
951 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
953 #include "confdefs.h"
954 #include <sys/types.h>
955 #include <sys/socket.h>
956 #include <netinet/in.h>
958 #define BUFSIZE (sizeof(struct hostent)+10)
962 char buffer[BUFSIZE];
965 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
967 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
970 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
971 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
974 dnl ******************************
975 dnl gethostbyaddr_r prototype
976 dnl ******************************
977 AC_CHECK_FUNCS(gethostbyaddr_r,[
978 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
980 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
982 #include "confdefs.h"
983 #include <sys/types.h>
984 #include <sys/socket.h>
985 #include <netinet/in.h>
987 #define BUFSIZE (sizeof(struct hostent)+10)
991 char buffer[BUFSIZE];
994 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
995 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
998 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
999 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
1002 dnl ******************************
1003 dnl stat(v)fs location/type
1004 dnl ******************************
1005 AC_CHECK_HEADER([sys/statvfs.h],
1006 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
1007 [[ #if HAVE_SYS_STATVFS_H
1008 #include <sys/statvfs.h>
1011 AC_CHECK_FUNCS(statvfs)
1013 AC_CHECK_HEADER([sys/param.h],
1014 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
1015 [[ #if HAVE_SYS_PARAM_H
1016 #include <sys/param.h>
1019 AC_CHECK_HEADER([sys/mount.h],
1020 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1021 [[ #if HAVE_SYS_MOUNT_H
1022 #include <sys/mount.h>
1025 AC_CHECK_FUNCS(statfs)
1027 dnl ******************************
1028 dnl IPv6 support and getaddrinfo calls
1029 dnl ******************************
1030 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1032 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1033 [[ #include "confdefs.h"
1034 #include <sys/types.h>
1035 #include <sys/socket.h>
1036 #include <netinet/in.h>
1040 [[ #ifndef NI_MAXHOST
1041 #define NI_MAXHOST 1025
1045 #define NI_MAXSERV 32
1048 struct addrinfo hints, *res;
1049 struct sockaddr_in6 sin6;
1051 char host[NI_MAXHOST];
1052 char serv[NI_MAXSERV];
1054 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1056 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1057 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1060 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1061 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1062 if test "x$enable_ipv6" = "xyes" ; then
1063 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1067 AC_ARG_ENABLE([ipv6],
1068 AS_HELP_STRING([--enable-ipv6=no/yes],
1069 [Enable support for resolving IPv6 addresses.]),
1070 [enable_ipv6=$enableval],[enable_ipv6=yes])
1071 if test "x$enable_ipv6" = "xyes"; then
1073 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1074 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1075 [[ #include "confdefs.h"
1076 #include <sys/types.h>
1077 #include <sys/socket.h>
1078 #include <netinet/in.h>
1081 [[ struct addrinfo hints;
1082 hints.ai_flags = AI_ADDRCONFIG;
1084 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1090 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1092 AC_CHECK_HEADER([wspiapi.h],
1093 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1095 dnl **********************************
1096 dnl Weather calendar backend support
1097 dnl **********************************
1098 AC_MSG_CHECKING([if we should build the weather calendar backend])
1099 AC_ARG_ENABLE([weather],
1100 [AS_HELP_STRING([--enable-weather],
1101 [Build the weather calendar backend (default=yes)])],
1102 [use_gweather=$enableval], [use_gweather=yes])
1104 AC_MSG_RESULT([$use_gweather])
1105 if test "x$use_gweather" = "xyes"; then
1106 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1107 [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.])])
1109 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1111 dnl ******************************
1113 dnl ******************************
1114 AC_ARG_ENABLE([nntp],
1115 AS_HELP_STRING([--enable-nntp],
1116 [Build Usenet news (NNTP) backend]),
1117 [enable_nntp=$enableval],[enable_nntp=yes])
1118 if test "x$enable_nntp" = "xyes"; then
1119 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1124 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1126 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1128 dnl ******************************
1130 dnl ******************************
1131 AC_ARG_ENABLE([dot-locking],
1132 AS_HELP_STRING([--enable-dot-locking=yes/no],
1133 [Enable support for locking mail files with dot locking]),
1134 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1136 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1137 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1143 AC_ARG_ENABLE([file-locking],
1144 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1145 [Enable support for locking mail files with file locking]),
1146 [],[enable_file_locking=fcntl])
1148 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1149 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1152 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1153 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1160 dnl ******************************
1161 dnl sendmail operation
1162 dnl ******************************
1163 AC_MSG_CHECKING([for SunOS broken spool format])
1164 if test "x$host_os" = "xsunos" ; then
1165 with_broken_spool="yes"
1168 AC_ARG_WITH([broken-spool],
1169 AS_HELP_STRING([--with-broken-spool=yes/no],
1170 [Using SunOS/Solaris sendmail which has a broken spool format]),
1171 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1173 if test "x$with_broken_spool" = "xyes"; then
1174 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1177 AC_MSG_RESULT([$with_broken_spool])
1179 dnl ******************************
1180 dnl DBus call timeout
1181 dnl ******************************
1183 AC_ARG_WITH([dbus-call-timeout],
1184 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1185 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1186 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1188 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1189 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1194 EVO_KRB5_SUPPORT(no)
1196 dnl ******************************
1198 dnl ******************************
1201 dnl ******************************
1203 dnl ******************************
1204 if test "x$os_win32" != "xyes"; then
1206 case $with_openldap in
1211 case $with_static_ldap in
1213 msg_ldap="$with_openldap (static)"
1216 msg_ldap="$with_openldap (dynamic)"
1221 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1222 if test "x$with_openldap" = "xno" ; then
1223 EVO_SUNLDAP_CHECK(no)
1224 case $with_sunldap in
1229 case $with_static_sunldap in
1231 msg_ldap="$with_sunldap (static)"
1234 msg_ldap="$with_sunldap (dynamic)"
1241 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1243 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1245 dnl Win32 LDAP support
1246 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1247 LDAP_LIBS="-lwldap32"
1248 AC_SUBST(LDAP_CFLAGS)
1250 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1251 AM_CONDITIONAL(ENABLE_LDAP, true)
1252 AM_CONDITIONAL(SUNLDAP, false)
1256 dnl ******************************
1257 dnl GObject marshalling
1258 dnl ******************************
1261 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1262 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1263 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1265 dnl ******************************
1266 dnl Utility macro to set compiler flags for a specific lib.
1267 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1268 dnl ******************************
1269 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1270 PKG_CHECK_MODULES([$1], [$2])
1271 $1_CFLAGS="[$]$1_CFLAGS $3 "
1272 $1_LIBS="[$]$1_LIBS $4 "
1275 dnl ******************************
1277 dnl ******************************
1278 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1280 if test "x$enable_maintainer_mode" = "xyes" ; then
1281 EVO_SET_COMPILE_FLAGS(FACTORY_GTK, "gtk+-3.0")
1282 AC_SUBST(FACTORY_GTK_CFLAGS)
1283 AC_SUBST(FACTORY_GTK_LIBS)
1286 dnl ******************************
1287 dnl libedataserver flags
1288 dnl ******************************
1289 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
1291 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1292 AC_SUBST(E_DATA_SERVER_CFLAGS)
1293 AC_SUBST(E_DATA_SERVER_LIBS)
1295 dnl ******************************
1296 dnl libebackend flags
1297 dnl ******************************
1298 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libsoup-2.4 libxml-2.0"
1300 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1301 AC_SUBST(E_BACKEND_CFLAGS)
1302 AC_SUBST(E_BACKEND_LIBS)
1304 dnl ******************************
1305 dnl evolution-addressbook flags
1306 dnl ******************************
1307 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 libsecret-1"
1309 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1310 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1311 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1313 dnl ******************************
1314 dnl evolution-calendar flags
1315 dnl ******************************
1316 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 libsecret-1"
1319 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1320 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1321 dnl to differentiate between <libical/ical.h> and <ical.h>
1322 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1323 dnl libical is fixed, we have to work-around the buggy CFlags.
1325 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1326 LIBICAL_EXTRA_LIBS=""
1327 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1328 AC_SUBST(LIBICAL_EXTRA_LIBS)
1330 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1331 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1332 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1334 dnl ****************************
1335 dnl Check for ical_set_unknown_token_handling_setting function
1336 dnl ****************************
1337 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1338 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1339 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1340 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1341 [[#include <libical/ical.h>]],
1342 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1343 [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])
1346 AC_MSG_RESULT([$ac_cv_have_iuth])
1348 dnl ******************************
1350 dnl ******************************
1351 LIBGDATA_REQUIRED=libgdata_minimum_version
1352 AC_SUBST(LIBGDATA_REQUIRED)
1354 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1355 AC_SUBST(GDATA_CFLAGS)
1356 AC_SUBST(GDATA_LIBS)
1358 dnl ******************************
1360 dnl ******************************
1361 LIBSOUP_REQUIRED=libsoup_minimum_version
1362 AC_SUBST(LIBSOUP_REQUIRED)
1364 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1365 AC_SUBST(SOUP_CFLAGS)
1368 dnl ******************************
1370 dnl ******************************
1371 SQLITE_REQUIRED=sqlite_minimum_version
1372 AC_SUBST(SQLITE_REQUIRED)
1375 dnl deflateInit is a #define, use deflateEnd instead
1376 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1378 if test "x$zlib_found" = "xfalse"; then
1379 AC_MSG_ERROR([*** zlib is required])
1382 dnl ******************************
1383 dnl Checks for large file support
1384 dnl ******************************
1385 AC_ARG_ENABLE([largefile],
1386 AS_HELP_STRING([--enable-largefile],
1387 [enable support for large files [[default=no]]]),
1388 [],[enable_largefile="yes"])
1390 if test "x$enable_largefile" != "xno"; then
1392 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1393 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1394 [[ #include <sys/types.h>
1395 #include <sys/stat.h>
1398 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1399 )],[ac_cv_largefile64_source="no"],
1400 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1401 [[ #define _LARGEFILE64_SOURCE
1402 #include <sys/types.h>
1403 #include <sys/stat.h>
1406 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1407 [ac_cv_largefile64_source="unknown"])])
1410 enable_largefile="no"
1412 if test "x$ac_cv_largefile64_source" = "xyes"; then
1413 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1414 enable_largefile="yes"
1415 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1416 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1419 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1420 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1421 enable_largefile="yes"
1424 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1425 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1426 enable_largefile="yes"
1429 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1433 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1435 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)
1436 AC_SUBST(CAMEL_CFLAGS)
1437 AC_SUBST(CAMEL_LIBS)
1439 dnl ******************************
1440 dnl Special directories
1441 dnl ******************************
1443 dnl If you add something here, consider whether or not you also
1444 dnl need to add it to one or more .pc.in files (for Connector,
1447 privdatadir='${datadir}'/evolution-data-server
1448 AC_SUBST(privdatadir)
1450 privincludedir='${includedir}'/evolution-data-server
1451 AC_SUBST(privincludedir)
1453 privlibdir='${libdir}'/evolution-data-server
1454 AC_SUBST(privlibdir)
1456 imagesdir='${datadir}'/pixmaps/evolution-data-server
1459 moduledir='${privlibdir}'/registry-modules
1462 ebook_backenddir='${privlibdir}'/addressbook-backends
1463 AC_SUBST(ebook_backenddir)
1465 ecal_backenddir='${privlibdir}'/calendar-backends
1466 AC_SUBST(ecal_backenddir)
1468 ro_sourcesdir='${privdatadir}'/ro-sources
1469 AC_SUBST(ro_sourcesdir)
1471 rw_sourcesdir='${privdatadir}'/rw-sources
1472 AC_SUBST(rw_sourcesdir)
1474 if test "x$use_gweather" = "xyes"; then
1475 weatherdatadir="$privdatadir/weather"
1476 AC_SUBST(weatherdatadir)
1479 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1480 camel_providerdir='${privlibdir}'/camel-providers
1481 AC_SUBST(camel_providerdir)
1483 dnl *******************
1484 dnl D-BUS service stuff
1485 dnl *******************
1486 m4_pattern_allow([AM_V_GEN])
1487 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)|" $< > $@'
1488 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1490 dnl ******************************
1492 dnl ******************************
1496 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1497 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1498 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1500 dnl ******************************
1502 dnl ******************************
1503 AC_PATH_PROG(GPERF, gperf, [no])
1504 if test "x$GPERF" = "xno"; then
1505 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1508 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1510 dnl ******************************
1512 dnl ******************************
1513 AC_ARG_ENABLE(vala-bindings,
1514 AC_HELP_STRING([--enable-vala-bindings],
1515 [build the EXPERIMENTAL Vala bindings]),
1516 enable_vala_bindings=$enableval,
1517 enable_vala_bindings=no)
1519 if test x$enable_vala_bindings = xyes; then
1520 if test "x$INTROSPECTION_SCANNER" = x; then
1521 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1524 AM_PROG_VALAC([0.13.0])
1527 AC_PATH_PROG(VALAC, valac, valac)
1531 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1533 if test "x$VAPIGEN" = "xfalse"; then
1534 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1540 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1543 dnl ******************************
1545 dnl ******************************
1547 export privincludedir
1552 evolution-data-server-zip
1553 evolution-data-server.pc
1554 addressbook/Makefile
1555 addressbook/libebook/Makefile
1556 addressbook/libebook/libebook.pc
1557 addressbook/libedata-book/Makefile
1558 addressbook/libedata-book/libedata-book.pc
1559 addressbook/libegdbus/Makefile
1560 addressbook/backends/Makefile
1561 addressbook/backends/file/Makefile
1562 addressbook/backends/ldap/Makefile
1563 addressbook/backends/google/Makefile
1564 addressbook/backends/google/tests/Makefile
1565 addressbook/backends/webdav/Makefile
1568 calendar/libecal/Makefile
1569 calendar/libecal/libecal.pc
1570 calendar/libedata-cal/Makefile
1571 calendar/libedata-cal/libedata-cal.pc
1572 calendar/libegdbus/Makefile
1573 calendar/backends/Makefile
1574 calendar/backends/caldav/Makefile
1575 calendar/backends/file/Makefile
1576 calendar/backends/http/Makefile
1577 calendar/backends/contacts/Makefile
1578 calendar/backends/weather/Makefile
1580 camel/providers/Makefile
1581 camel/providers/imap/Makefile
1582 camel/providers/imapx/Makefile
1583 camel/providers/local/Makefile
1584 camel/providers/nntp/Makefile
1585 camel/providers/pop3/Makefile
1586 camel/providers/sendmail/Makefile
1587 camel/providers/smtp/Makefile
1588 camel/tests/Makefile
1589 camel/tests/folder/Makefile
1590 camel/tests/lib/Makefile
1591 camel/tests/message/Makefile
1592 camel/tests/mime-filter/Makefile
1593 camel/tests/misc/Makefile
1594 camel/tests/smime/Makefile
1597 data/sources/Makefile
1598 libebackend/Makefile
1599 libebackend/libebackend.pc
1600 libedataserver/Makefile
1601 libedataserver/eds-version.h
1602 libedataserver/libedataserver.pc
1604 modules/cache-reaper/Makefile
1605 modules/gnome-online-accounts/Makefile
1606 modules/google-backend/Makefile
1607 modules/trust-prompt/Makefile
1608 modules/yahoo-backend/Makefile
1611 services/evolution-addressbook-factory/Makefile
1612 services/evolution-calendar-factory/Makefile
1613 services/evolution-source-registry/Makefile
1614 services/evolution-user-prompter/Makefile
1616 tests/libebook/Makefile
1617 tests/libebook/client/Makefile
1618 tests/libebook/vcard/Makefile
1619 tests/libecal/Makefile
1620 tests/libecal/client/Makefile
1621 tests/libedata-cal/Makefile
1622 tests/libedataserver/Makefile
1623 tests/test-server-utils/Makefile
1624 tests/test-server-utils/services/Makefile
1625 tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service
1626 tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service
1627 tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service
1629 docs/reference/Makefile
1630 docs/reference/addressbook/Makefile
1631 docs/reference/addressbook/libebook/Makefile
1632 docs/reference/addressbook/libedata-book/Makefile
1633 docs/reference/calendar/Makefile
1634 docs/reference/calendar/libecal/Makefile
1635 docs/reference/calendar/libedata-cal/Makefile
1636 docs/reference/camel/Makefile
1637 docs/reference/libedataserver/Makefile
1638 docs/reference/libebackend/Makefile
1639 docs/reference/private/Makefile
1646 evolution-data-server has been configured as follows:
1647 Weather calendar: $use_gweather
1648 Mail Directory: $system_mail_dir, $system_mail_perm
1649 LDAP support: $msg_ldap
1650 NNTP support: $msg_nntp
1651 Kerberos 5: $msg_krb5
1652 SMIME support: $msg_smime
1653 IPv6 support: $msg_ipv6
1654 Dot Locking: $msg_dot
1655 File Locking: $msg_file
1656 Large files: $enable_largefile
1657 Gtk Doc: $enable_gtk_doc
1658 Introspection: $enable_introspection
1659 Vala bindings: $enable_vala_bindings
1660 GNOME Online Accounts $enable_goa
1661 Code coverage (gcov): $enable_code_coverage
1662 Strict building: $enable_strict