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], [2])
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
36 m4_define([glib_minimum_version], [2.34])
37 m4_define([gtk_minimum_version], [3.2])
38 m4_define([gcr_minimum_version], [3.4])
39 m4_define([libsecret_minimum_version], [0.5])
40 m4_define([libxml_minimum_version], [2.0.0]) dnl XXX Just a Guess
41 m4_define([libsoup_minimum_version], [2.38.1])
42 m4_define([libgdata_minimum_version], [0.10])
43 m4_define([sqlite_minimum_version], [3.5])
44 m4_define([libical_minimum_version], [0.43])
47 m4_define([goa_minimum_version], [3.2])
48 m4_define([gweather_minimum_version], [3.5.0])
50 AC_SUBST([BASE_VERSION],[base_version])
51 AC_SUBST([API_VERSION],[api_version])
52 AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
53 AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
55 EDS_MAJOR_VERSION=eds_major_version
56 EDS_MINOR_VERSION=eds_minor_version
57 EDS_MICRO_VERSION=eds_micro_version
61 dnl ******************************
63 dnl ******************************
64 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook4"
65 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar3"
66 SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources1"
69 ADDRESS_BOOK_DBUS_SERVICE_NAME,
70 ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
71 [D-Bus service name for the address book factory])
74 CALENDAR_DBUS_SERVICE_NAME,
75 ["$CALENDAR_DBUS_SERVICE_NAME"],
76 [D-Bus service name for the calendar factory])
79 SOURCES_DBUS_SERVICE_NAME,
80 ["$SOURCES_DBUS_SERVICE_NAME"],
81 [D-Bus service name for the source registry])
83 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
84 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
85 AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
87 dnl ******************************
88 dnl Libtool versioning
89 dnl ******************************
90 LIBEDATASERVER_CURRENT=17
91 LIBEDATASERVER_REVISION=0
94 LIBEDATASERVERUI_CURRENT=4
95 LIBEDATASERVERUI_REVISION=0
96 LIBEDATASERVERUI_AGE=0
102 LIBEDATACAL_CURRENT=19
103 LIBEDATACAL_REVISION=0
106 LIBEDATABOOK_CURRENT=16
107 LIBEDATABOOK_REVISION=0
118 LIBEBACKEND_CURRENT=5
119 LIBEBACKEND_REVISION=0
122 AC_SUBST(EDS_MAJOR_VERSION)
123 AC_SUBST(EDS_MINOR_VERSION)
124 AC_SUBST(EDS_MICRO_VERSION)
125 AC_SUBST(LIBEDATASERVER_CURRENT)
126 AC_SUBST(LIBEDATASERVER_REVISION)
127 AC_SUBST(LIBEDATASERVER_AGE)
128 AC_SUBST(LIBEDATASERVERUI_CURRENT)
129 AC_SUBST(LIBEDATASERVERUI_REVISION)
130 AC_SUBST(LIBEDATASERVERUI_AGE)
131 AC_SUBST(LIBECAL_CURRENT)
132 AC_SUBST(LIBECAL_REVISION)
133 AC_SUBST(LIBECAL_AGE)
134 AC_SUBST(LIBEDATACAL_CURRENT)
135 AC_SUBST(LIBEDATACAL_REVISION)
136 AC_SUBST(LIBEDATACAL_AGE)
137 AC_SUBST(LIBEBOOK_CURRENT)
138 AC_SUBST(LIBEBOOK_REVISION)
139 AC_SUBST(LIBEBOOK_AGE)
140 AC_SUBST(LIBEDATABOOK_CURRENT)
141 AC_SUBST(LIBEDATABOOK_REVISION)
142 AC_SUBST(LIBEDATABOOK_AGE)
143 AC_SUBST(LIBCAMEL_CURRENT)
144 AC_SUBST(LIBCAMEL_REVISION)
145 AC_SUBST(LIBCAMEL_AGE)
146 AC_SUBST(LIBEBACKEND_CURRENT)
147 AC_SUBST(LIBEBACKEND_REVISION)
148 AC_SUBST(LIBEBACKEND_AGE)
150 dnl **************************************
151 dnl Put the ACLOCAL flags in the Makefile
152 dnl **************************************
153 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
155 dnl ******************************
156 dnl Compiler Warning Flags
157 dnl ******************************
158 AS_COMPILER_FLAGS(WARNING_FLAGS,
160 -Wno-missing-field-initializers
162 -Wno-unused-parameter
163 -Wno-deprecated-declarations
164 -Wdeclaration-after-statement
165 -Werror-implicit-function-declaration
166 -Wformat-security -Winit-self
167 -Wmissing-declarations -Wmissing-include-dirs
168 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
169 -Wredundant-decls -Wundef -Wwrite-strings")
170 AC_SUBST(WARNING_FLAGS)
172 dnl More depracation from EBook/ECal:
173 dnl -DE_BOOK_DISABLE_DEPRECATED
174 dnl -DE_CAL_DISABLE_DEPRECATED
176 dnl Other useful compiler warnings for test builds only.
177 dnl These may produce warnings we have no control over,
178 dnl or false positives we don't always want to see.
180 dnl -Wformat-nonliteral
181 dnl -Wmissing-format-attribute
183 dnl -Wstrict-aliasing=2
185 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
186 AC_SUBST(AM_CPPFLAGS)
189 dnl define disable deprecated for EBook and ECal .am files
190 case "$WARNING_FLAGS" in
191 *E_BOOK_DISABLE_DEPRECATED*)
192 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 1 == 1 ])
195 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 0 == 1 ])
199 case "$WARNING_FLAGS" in
200 *E_CAL_DISABLE_DEPRECATED*)
201 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 1 == 1 ])
204 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 0 == 1 ])
208 dnl ******************************
209 dnl Initialize maintainer mode
210 dnl ******************************
211 AM_MAINTAINER_MODE([enable])
213 if test "x$enable_maintainer_mode" = "xyes" ; then
214 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
225 dnl For gen-western-table.py
228 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
229 dnl behavior that -- according to the C99 standard -- is supposed to be
230 dnl undefined. We may still have aliasing abuses lying around that rely
231 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
232 dnl optimization until we can find and fix all the abuses.
233 dnl (AC_PROG_CC must run first to set the GCC variable.)
234 dnl XXX This really belongs in AM_CFLAGS.
235 if test "x${GCC}" = "xyes"; then
236 CFLAGS="$CFLAGS -fno-strict-aliasing"
239 dnl ******************************
241 dnl ******************************
242 IT_PROG_INTLTOOL([0.35.5])
244 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
245 AC_SUBST(GETTEXT_PACKAGE)
246 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
248 localedir='$(prefix)/$(DATADIRNAME)/locale'
251 dnl ******************************
252 dnl Initialize libtool
253 dnl ******************************
255 LT_INIT(disable-static win32-dll)
259 dnl This relies on $SED, which is defined in ltmain.sh, which
260 dnl is invoked by LT_INIT (at least I think that's how it works).
263 dnl ******************************
265 dnl ******************************
266 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
268 dnl The private D-Bus documentation is for developers only.
269 AC_ARG_WITH([private-docs],
270 AS_HELP_STRING([--with-private-docs],
271 [Build documentation for private libraries ]
272 [(requires --enable-gtk-doc) [default=no]],),
273 [with_private_docs="$withval"],[with_private_docs="no"])
274 AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
276 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
279 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
282 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
286 dnl ******************************
288 dnl ******************************
289 AC_MSG_CHECKING([for Win32])
293 NO_UNDEFINED='-no-undefined'
294 SOCKET_LIBS='-lws2_32 -ldnsapi'
296 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
297 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
298 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
305 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
312 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
315 AC_MSG_RESULT([$os_win32])
316 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
317 AC_SUBST(NO_UNDEFINED)
318 AC_SUBST(SOCKET_LIBS)
319 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
321 dnl **************************************
322 dnl Check for posix compatible sys/wait.h
323 dnl **************************************
326 dnl ************************************
327 dnl Check for posix compatible alloca()
328 dnl ************************************
331 dnl ******************************
332 dnl Checks for functions
333 dnl ******************************
334 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
336 dnl ***********************************
337 dnl Check for base dependencies early.
338 dnl ***********************************
339 PKG_CHECK_MODULES(GNOME_PLATFORM,
340 [gio-2.0 >= glib_minimum_version
341 gmodule-2.0 >= glib_minimum_version
342 gtk+-3.0 >= gtk_minimum_version
343 libxml-2.0 >= libxml_minimum_version
344 libsoup-2.4 >= libsoup_minimum_version
345 libgdata >= libgdata_minimum_version])
347 if test x$os_win32 = xno; then
348 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
351 dnl *******************************
352 dnl Check for GNOME Online Accounts
353 dnl *******************************
355 [AS_HELP_STRING([--enable-goa],
356 [enable GNOME Online Accounts support (default=yes)])],
357 [enable_goa=$enableval], [enable_goa=yes])
358 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
359 AC_MSG_RESULT([$enable_goa])
360 if test "x$enable_goa" = xyes; then
361 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
364 goa-1.0 not found (or version < goa_minimum_version)
366 If you want to disable GNOME Online Accounts support,
367 please append --disable-goa to configure.
370 AC_DEFINE(HAVE_GOA, 1, [Define to 1 if you have the goa-1.0 package.])
372 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
374 dnl GoaPasswordBased was introduced in version 3.5.
375 if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
376 AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
379 dnl ***********************************
380 dnl Check for GNOME Keyring.
381 dnl ***********************************
382 if test x$os_win32 = xno; then
383 PKG_CHECK_MODULES(LIBSECRET,
384 [libsecret-unstable >= libsecret_minimum_version])
386 AC_SUBST(LIBSECRET_CFLAGS)
387 AC_SUBST(LIBSECRET_LIBS)
389 dnl **********************************************************
390 dnl gcr-base is needed for secure password exchange over D-Bus
391 dnl **********************************************************
392 PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
393 AC_SUBST(GCR_BASE_CFLAGS)
394 AC_SUBST(GCR_BASE_LIBS)
396 LIBICAL_REQUIRED=libical_minimum_version
397 AC_SUBST(LIBICAL_REQUIRED)
399 dnl ******************************
401 dnl ******************************
402 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
404 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
405 [AC_MSG_ERROR([No regex library found])])])
408 dnl ******************************
410 dnl ******************************
412 AS_HELP_STRING([--with-libdb=PREFIX],
413 [Prefix where libdb is installed]),
414 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
416 DB_CFLAGS="-I$libdb_prefix/include"
417 DB_LIBS="-L$libdb_prefix/lib -ldb"
419 AC_MSG_CHECKING([Berkeley DB])
420 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
421 save_libs=$LIBS; LIBS="$DB_LIBS"
422 AC_LINK_IFELSE([AC_LANG_PROGRAM(
424 [[db_create(NULL, NULL, 0)]])],
425 [AC_MSG_RESULT([yes])],
426 [AC_MSG_ERROR([Cannot find libdb])])
432 dnl ******************************
434 dnl ******************************
438 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
439 AC_LINK_IFELSE([AC_LANG_PROGRAM(
446 cd = iconv_open ("UTF-8", "ISO-8859-1");
448 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
450 if test "x$ac_cv_libiconv" = "xyes"; then
452 if test "x$os_win32" = "xyes"; then
453 dnl Don't pointlessly auto-export the global symbols
454 dnl from a potentially static libiconv.a
455 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
460 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
463 if test "x$have_iconv" = "xyes"; then
464 if test "x$ac_cv_libiconv" = "xno"; then
465 AC_CHECK_FUNCS(gnu_get_libc_version)
467 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
468 AC_RUN_IFELSE([AC_LANG_SOURCE([[
472 #ifdef HAVE_GNU_GET_LIBC_VERSION
473 #include <gnu/libc-version.h>
476 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
477 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
478 char *transbuf = malloc (10), *trans = transbuf;
480 size_t jp_len = strlen (jp), utf8_len = 10;
481 size_t utf8_real_len = strlen (utf8);
483 #ifdef HAVE_GNU_GET_LIBC_VERSION
484 /* glibc 2.1.2's iconv is broken in hard to test ways. */
485 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
489 cd = iconv_open ("UTF-8", "ISO-2022-JP");
490 if (cd == (iconv_t) -1)
492 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
494 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
498 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
501 if test "x$have_iconv" = "xno"; then
502 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
506 CFLAGS="$CFLAGS -I$srcdir"
508 AC_MSG_CHECKING([preferred charset name formats for system iconv])
509 AC_RUN_IFELSE([AC_LANG_SOURCE([[
511 #include "iconv-detect.c"
513 [AC_MSG_RESULT([found])],
514 [AC_MSG_RESULT([not found])
516 *** The iconv-detect program was unable to determine the
517 *** preferred charset name formats recognized by your
518 *** iconv library. It is suggested that you install a
519 *** working iconv library such as the one found at
520 *** ftp://ftp.gnu.org/pub/gnu/libiconv
522 [if test "x$os_win32" = xyes; then
523 AC_MSG_RESULT([using known win32 result])
524 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
525 echo >>iconv-detect.h
526 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
527 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
528 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
530 AC_MSG_RESULT([unknown])
532 *** We can't determine the preferred charset name formats
533 *** recognized by your iconv library. You are
534 *** cross-compiling and supposed to know what you are doing.
535 *** Please construct the iconv-detect.h file manually.
540 CFLAGS="$save_CFLAGS"
543 AC_ARG_ENABLE([backtraces],
544 [AS_HELP_STRING([--enable-backtraces],
545 [enable backtraces for camel_pointer_tracker (default=no)])],
546 [enable_backtraces=$enableval], [enable_backtraces=no])
548 if test "x$enable_backtraces" = xyes; then
549 dnl ****************************
550 dnl Check for backtrace_symbols function and dwfl from elfutils
551 dnl ****************************
552 AC_MSG_CHECKING([libc backtrace_symbols function])
553 AC_LINK_IFELSE([AC_LANG_PROGRAM(
554 [[#include <execinfo.h>]],
555 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
556 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
557 AC_MSG_RESULT([$ac_cv_have_bsf])
559 if test "x$ac_cv_have_bsf" = xyes; then
562 AC_MSG_CHECKING([elfutils/libdwfl])
563 AC_LINK_IFELSE([AC_LANG_PROGRAM(
564 [[#include <elfutils/libdwfl.h>]],
568 Dwarf_Addr module_low_addr;
571 dwfl_standard_find_debuginfo;
572 dwfl_linux_proc_find_elf;
574 dwfl_linux_proc_report (NULL, 1);
575 dwfl_report_end (NULL, NULL, NULL);
577 dwfl_module_addrname (NULL, NULL);
578 dwfl_module_getsrc (NULL, NULL);
579 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
580 DWARF_CB_ABORT; DWARF_CB_OK;
581 dwfl_getmodules (NULL, NULL, NULL, 0);
583 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
584 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
588 if test "x$ac_cv_have_elfdwfl" = xyes; then
590 AC_SUBST(LIBDWFL_LIBS)
595 dnl **********************************
596 dnl Check for nl_langinfo and CODESET
597 dnl **********************************
598 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
599 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
600 [[#include <langinfo.h>]],
601 [[char *codeset = nl_langinfo (CODESET);]]
602 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
603 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
604 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
606 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
608 dnl *******************************************************
609 dnl Check to see if strftime supports the use of %l and %k
610 dnl *******************************************************
611 AC_MSG_CHECKING([for %l and %k support in strftime])
612 AC_RUN_IFELSE([AC_LANG_SOURCE(
613 [[ #include <stdlib.h>
616 int main(int argc, char **argv) {
622 timeinfo=localtime(&rawtime);
624 strftime(buf, 10, "%lx%k", timeinfo);
626 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
633 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
634 AC_MSG_RESULT([$ac_cv_lkstrftime])
636 dnl ********************************************************************************
637 dnl security extension support (SSL and S/MIME)
639 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
640 dnl needed by Camel (SSL and S/MIME).
642 dnl The Evolution security extensions are only built if these libraries are found
643 dnl ********************************************************************************
646 AC_ARG_ENABLE([smime],
647 AS_HELP_STRING([--enable-smime],
648 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
649 [enable_smime="$enableval"],[enable_smime="yes"])
651 AC_ARG_WITH([nspr-includes],
652 AS_HELP_STRING([--with-nspr-includes],
653 [Prefix of Mozilla nspr4 includes.]),
654 [with_nspr_includes="$withval"])
656 AC_ARG_WITH([nspr-libs],
657 AS_HELP_STRING([--with-nspr-libs],
658 [Prefix of Mozilla nspr4 libs.]),
659 [with_nspr_libs="$withval"])
661 AC_ARG_WITH([nss-includes],
662 AS_HELP_STRING([--with-nss-includes],
663 [Prefix of Mozilla nss3 includes.]),
664 [with_nss_includes="$withval"])
666 AC_ARG_WITH([nss-libs],
667 AS_HELP_STRING([--with-nss-libs],
668 [Prefix of Mozilla nss3 libs.]),
669 [with_nss_libs="$withval"])
671 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
677 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
678 if test "x${check_manually}" = "xno"; then
679 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
680 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
681 for pc in $mozilla_nspr_pcs; do
682 if $PKG_CONFIG --exists $pc; then
689 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
690 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
691 for pc in $mozilla_nss_pcs; do
692 if $PKG_CONFIG --exists $pc; then
699 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
700 if test "x$enable_smime" = "xyes"; then
701 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
704 MANUAL_NSPR_CFLAGS=""
715 if test "x${check_manually}" = "xyes"; then
716 dnl ******************
718 dnl ******************
719 AC_MSG_CHECKING([for Mozilla nspr4 includes])
720 CPPFLAGS_save="$CPPFLAGS"
721 if test -n "$with_nspr_includes"; then
722 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
725 AC_CHECK_HEADERS(nspr.h prio.h,
726 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
727 CPPFLAGS="$CPPFLAGS_save"
729 if test "x${moz_nspr_includes}" = "xyes"; then
730 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
732 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
734 AC_MSG_RESULT([$moz_nspr_includes])
736 AC_MSG_CHECKING([for Mozilla nspr libraries])
737 CFLAGS_save="$CFLAGS"
738 LDFLAGS_save="$LDFLAGS"
740 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
742 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
744 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
745 if test -n "${with_nspr_libs}"; then
746 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
751 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
752 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
754 CFLAGS="$CFLAGS_save"
755 LDFLAGS="$LDFLAGS_save"
758 if test "x${moz_nspr_libs}" = "xyes"; then
759 if test -n "${with_nspr_libs}"; then
760 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
762 MANUAL_NSPR_LIBS="$nsprlibs"
765 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
767 AC_MSG_RESULT([$moz_nspr_libs])
769 dnl *****************
771 dnl *****************
772 AC_MSG_CHECKING([for Mozilla nss3 includes])
773 CPPFLAGS_save="$CPPFLAGS"
774 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
776 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
777 [moz_nss_includes="yes"],[moz_nss_includes="no"])
778 CPPFLAGS="$CPPFLAGS_save"
780 if test "x${moz_nss_includes}" = "xyes"; then
781 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
783 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
785 AC_MSG_RESULT($moz_nss_includes)
787 AC_MSG_CHECKING([for Mozilla nss libraries])
788 LDFLAGS_save="$LDFLAGS"
790 nsslibs="-lssl3 -lsmime3 -lnss3"
792 LIBS="$nsslibs $nsprlibs"
793 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
794 if test -n "${with_nss_libs}"; then
795 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
797 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
800 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
801 [moz_nss_libs="yes"],[moz_nss_libs="no"])
802 LDFLAGS="$LDFLAGS_save"
805 if test "x${moz_nss_libs}" = "xyes"; then
806 if test "x${enable_smime}" = "xyes"; then
807 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
810 if test -n "${with_nss_libs}"; then
811 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
813 MANUAL_NSS_LIBS="$nsslibs"
816 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
818 AC_MSG_RESULT([$moz_nss_libs])
820 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
821 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
824 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
826 dnl For pkgconfig files.
827 AC_SUBST(mozilla_nss)
828 AC_SUBST(mozilla_nspr)
830 AC_SUBST(MANUAL_NSPR_CFLAGS)
831 AC_SUBST(MANUAL_NSPR_LIBS)
832 AC_SUBST(MANUAL_NSS_CFLAGS)
833 AC_SUBST(MANUAL_NSS_LIBS)
835 dnl ******************************
836 dnl system mail stuff
837 dnl ******************************
838 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
839 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
841 AC_MSG_CHECKING([system mail directory])
842 if test -d /var/mail -a '!' -h /var/mail ; then
843 system_mail_dir="/var/mail"
845 system_mail_dir="/var/spool/mail"
847 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
849 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
851 CAMEL_LOCK_HELPER_USER=""
852 CAMEL_LOCK_HELPER_GROUP=""
853 system_mail_perm="world writable"
856 CAMEL_LOCK_HELPER_USER=""
857 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
858 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
861 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
862 CAMEL_LOCK_HELPER_GROUP=""
863 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
866 CAMEL_LOCK_HELPER_USER=""
867 CAMEL_LOCK_HELPER_GROUP=""
868 system_mail_perm="???"
872 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
873 AC_SUBST(CAMEL_LOCK_HELPER_USER)
874 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
876 dnl ******************************
878 dnl ******************************
879 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
880 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
881 [[ #include <time.h> ]],
886 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
887 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
888 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
890 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
891 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
892 [[ #include <time.h> ]],
894 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
895 if test "x$ac_cv_var_timezone" = "xyes"; then
896 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
897 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
899 [[ #include <time.h> ]],
901 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
902 if test "x$ac_cv_var_altzone" = "xyes"; then
903 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
906 AC_MSG_ERROR([unable to find a way to determine timezone])
910 dnl ******************************
911 dnl ctime_r prototype
912 dnl ******************************
913 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
915 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
916 [[ #include <time.h> ]],
919 ctime_r (&date, buf, 100); ]]
920 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
923 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
924 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
927 dnl ******************************
928 dnl gethostbyname_r prototype
929 dnl ******************************
930 AC_CHECK_FUNCS(gethostbyname_r,[
931 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
933 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
935 #include "confdefs.h"
936 #include <sys/types.h>
937 #include <sys/socket.h>
938 #include <netinet/in.h>
940 #define BUFSIZE (sizeof(struct hostent)+10)
944 char buffer[BUFSIZE];
947 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
949 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
952 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
953 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
956 dnl ******************************
957 dnl gethostbyaddr_r prototype
958 dnl ******************************
959 AC_CHECK_FUNCS(gethostbyaddr_r,[
960 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
962 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
964 #include "confdefs.h"
965 #include <sys/types.h>
966 #include <sys/socket.h>
967 #include <netinet/in.h>
969 #define BUFSIZE (sizeof(struct hostent)+10)
973 char buffer[BUFSIZE];
976 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
977 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
980 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
981 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
984 dnl ******************************
985 dnl stat(v)fs location/type
986 dnl ******************************
987 AC_CHECK_HEADER([sys/statvfs.h],
988 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
989 [[ #if HAVE_SYS_STATVFS_H
990 #include <sys/statvfs.h>
993 AC_CHECK_FUNCS(statvfs)
995 AC_CHECK_HEADER([sys/param.h],
996 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
997 [[ #if HAVE_SYS_PARAM_H
998 #include <sys/param.h>
1001 AC_CHECK_HEADER([sys/mount.h],
1002 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1003 [[ #if HAVE_SYS_MOUNT_H
1004 #include <sys/mount.h>
1007 AC_CHECK_FUNCS(statfs)
1009 dnl ******************************
1010 dnl IPv6 support and getaddrinfo calls
1011 dnl ******************************
1012 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1014 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1015 [[ #include "confdefs.h"
1016 #include <sys/types.h>
1017 #include <sys/socket.h>
1018 #include <netinet/in.h>
1022 [[ #ifndef NI_MAXHOST
1023 #define NI_MAXHOST 1025
1027 #define NI_MAXSERV 32
1030 struct addrinfo hints, *res;
1031 struct sockaddr_in6 sin6;
1033 char host[NI_MAXHOST];
1034 char serv[NI_MAXSERV];
1036 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1038 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1039 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1042 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1043 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1044 if test "x$enable_ipv6" = "xyes" ; then
1045 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1049 AC_ARG_ENABLE([ipv6],
1050 AS_HELP_STRING([--enable-ipv6=no/yes],
1051 [Enable support for resolving IPv6 addresses.]),
1052 [enable_ipv6=$enableval],[enable_ipv6=yes])
1053 if test "x$enable_ipv6" = "xyes"; then
1055 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1056 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1057 [[ #include "confdefs.h"
1058 #include <sys/types.h>
1059 #include <sys/socket.h>
1060 #include <netinet/in.h>
1063 [[ struct addrinfo hints;
1064 hints.ai_flags = AI_ADDRCONFIG;
1066 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1072 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1074 AC_CHECK_HEADER([wspiapi.h],
1075 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1077 dnl **********************************
1078 dnl Weather calendar backend support
1079 dnl **********************************
1080 AC_MSG_CHECKING([if we should build the weather calendar backend])
1081 AC_ARG_ENABLE([weather],
1082 [AS_HELP_STRING([--enable-weather],
1083 [Build the weather calendar backend (default=yes)])],
1084 [use_gweather=$enableval], [use_gweather=yes])
1086 AC_MSG_RESULT([$use_gweather])
1087 if test "x$use_gweather" = "xyes"; then
1088 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1089 [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.])])
1091 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1093 dnl ******************************
1095 dnl ******************************
1096 AC_ARG_ENABLE([nntp],
1097 AS_HELP_STRING([--enable-nntp],
1098 [Build Usenet news (NNTP) backend]),
1099 [enable_nntp=$enableval],[enable_nntp=yes])
1100 if test "x$enable_nntp" = "xyes"; then
1101 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1106 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1108 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1110 dnl ******************************
1112 dnl ******************************
1113 AC_ARG_ENABLE([dot-locking],
1114 AS_HELP_STRING([--enable-dot-locking=yes/no],
1115 [Enable support for locking mail files with dot locking]),
1116 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1118 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1119 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1125 AC_ARG_ENABLE([file-locking],
1126 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1127 [Enable support for locking mail files with file locking]),
1128 [],[enable_file_locking=fcntl])
1130 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1131 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1134 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1135 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1142 dnl ******************************
1143 dnl sendmail operation
1144 dnl ******************************
1145 AC_MSG_CHECKING([for SunOS broken spool format])
1146 if test "x$host_os" = "xsunos" ; then
1147 with_broken_spool="yes"
1150 AC_ARG_WITH([broken-spool],
1151 AS_HELP_STRING([--with-broken-spool=yes/no],
1152 [Using SunOS/Solaris sendmail which has a broken spool format]),
1153 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1155 if test "x$with_broken_spool" = "xyes"; then
1156 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1159 AC_MSG_RESULT([$with_broken_spool])
1161 dnl ******************************
1162 dnl DBus call timeout
1163 dnl ******************************
1165 AC_ARG_WITH([dbus-call-timeout],
1166 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1167 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1168 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1170 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1171 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1176 EVO_KRB5_SUPPORT(no)
1178 dnl ******************************
1180 dnl ******************************
1183 dnl ******************************
1185 dnl ******************************
1186 if test "x$os_win32" != "xyes"; then
1188 case $with_openldap in
1193 case $with_static_ldap in
1195 msg_ldap="$with_openldap (static)"
1198 msg_ldap="$with_openldap (dynamic)"
1203 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1204 if test "x$with_openldap" = "xno" ; then
1205 EVO_SUNLDAP_CHECK(no)
1206 case $with_sunldap in
1211 case $with_static_sunldap in
1213 msg_ldap="$with_sunldap (static)"
1216 msg_ldap="$with_sunldap (dynamic)"
1223 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1225 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1227 dnl Win32 LDAP support
1228 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1229 LDAP_LIBS="-lwldap32"
1230 AC_SUBST(LDAP_CFLAGS)
1232 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1233 AM_CONDITIONAL(ENABLE_LDAP, true)
1234 AM_CONDITIONAL(SUNLDAP, false)
1238 dnl ******************************
1239 dnl GObject marshalling
1240 dnl ******************************
1243 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1244 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1245 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1247 dnl ******************************
1248 dnl Utility macro to set compiler flags for a specific lib.
1249 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1250 dnl ******************************
1251 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1252 PKG_CHECK_MODULES([$1], [$2])
1253 $1_CFLAGS="[$]$1_CFLAGS $3 "
1254 $1_LIBS="[$]$1_LIBS $4 "
1257 dnl ******************************
1259 dnl ******************************
1260 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1262 dnl ******************************
1263 dnl libedataserver flags
1264 dnl ******************************
1265 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
1267 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1268 AC_SUBST(E_DATA_SERVER_CFLAGS)
1269 AC_SUBST(E_DATA_SERVER_LIBS)
1271 dnl ******************************
1272 dnl libedataserverui
1273 dnl ******************************
1274 E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 libsoup-2.4"
1276 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1277 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1278 AC_SUBST(E_DATA_SERVER_UI_LIBS)
1280 if test "x$enable_maintainer_mode" = "xyes" ; then
1281 FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1282 FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1283 AC_SUBST(FACTORY_GTK_CFLAGS)
1284 AC_SUBST(FACTORY_GTK_LIBS)
1287 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libsecret-1 libsoup-2.4 libxml-2.0"
1289 dnl ******************************
1290 dnl libebackend flags
1291 dnl ******************************
1292 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1293 AC_SUBST(E_BACKEND_CFLAGS)
1294 AC_SUBST(E_BACKEND_LIBS)
1296 dnl ******************************
1297 dnl evolution-addressbook flags
1298 dnl ******************************
1299 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 libsecret-1"
1301 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1302 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1303 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1305 dnl ******************************
1306 dnl evolution-calendar flags
1307 dnl ******************************
1308 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 libsecret-1"
1311 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1312 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1313 dnl to differentiate between <libical/ical.h> and <ical.h>
1314 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1315 dnl libical is fixed, we have to work-around the buggy CFlags.
1317 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1318 LIBICAL_EXTRA_LIBS=""
1319 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1320 AC_SUBST(LIBICAL_EXTRA_LIBS)
1322 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1323 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1324 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1326 dnl ****************************
1327 dnl Check for ical_set_unknown_token_handling_setting function
1328 dnl ****************************
1329 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1330 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1331 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1332 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1333 [[#include <libical/ical.h>]],
1334 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1335 [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])
1338 AC_MSG_RESULT([$ac_cv_have_iuth])
1340 dnl ******************************
1342 dnl ******************************
1343 LIBGDATA_REQUIRED=libgdata_minimum_version
1344 AC_SUBST(LIBGDATA_REQUIRED)
1346 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1347 AC_SUBST(GDATA_CFLAGS)
1348 AC_SUBST(GDATA_LIBS)
1350 dnl ******************************
1352 dnl ******************************
1353 LIBSOUP_REQUIRED=libsoup_minimum_version
1354 AC_SUBST(LIBSOUP_REQUIRED)
1356 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1357 AC_SUBST(SOUP_CFLAGS)
1360 dnl ******************************
1362 dnl ******************************
1363 SQLITE_REQUIRED=sqlite_minimum_version
1364 AC_SUBST(SQLITE_REQUIRED)
1367 dnl deflateInit is a #define, use deflateEnd instead
1368 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1370 if test "x$zlib_found" = "xfalse"; then
1371 AC_MSG_ERROR([*** zlib is required])
1374 dnl ******************************
1375 dnl Checks for large file support
1376 dnl ******************************
1377 AC_ARG_ENABLE([largefile],
1378 AS_HELP_STRING([--enable-largefile],
1379 [enable support for large files [[default=no]]]),
1380 [],[enable_largefile="yes"])
1382 if test "x$enable_largefile" != "xno"; then
1384 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1385 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1386 [[ #include <sys/types.h>
1387 #include <sys/stat.h>
1390 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1391 )],[ac_cv_largefile64_source="no"],
1392 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1393 [[ #define _LARGEFILE64_SOURCE
1394 #include <sys/types.h>
1395 #include <sys/stat.h>
1398 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1399 [ac_cv_largefile64_source="unknown"])])
1402 enable_largefile="no"
1404 if test "x$ac_cv_largefile64_source" = "xyes"; then
1405 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1406 enable_largefile="yes"
1407 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1408 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1411 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1412 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1413 enable_largefile="yes"
1416 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1417 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1418 enable_largefile="yes"
1421 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1425 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1427 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)
1428 AC_SUBST(CAMEL_CFLAGS)
1429 AC_SUBST(CAMEL_LIBS)
1431 dnl ******************************
1432 dnl Special directories
1433 dnl ******************************
1435 dnl If you add something here, consider whether or not you also
1436 dnl need to add it to one or more .pc.in files (for Connector,
1439 privdatadir='${datadir}'/evolution-data-server
1440 AC_SUBST(privdatadir)
1442 privincludedir='${includedir}'/evolution-data-server
1443 AC_SUBST(privincludedir)
1445 privlibdir='${libdir}'/evolution-data-server
1446 AC_SUBST(privlibdir)
1448 imagesdir='${datadir}'/pixmaps/evolution-data-server
1451 moduledir='${privlibdir}'/registry-modules
1454 ebook_backenddir='${privlibdir}'/addressbook-backends
1455 AC_SUBST(ebook_backenddir)
1457 ecal_backenddir='${privlibdir}'/calendar-backends
1458 AC_SUBST(ecal_backenddir)
1460 ro_sourcesdir='${privdatadir}'/ro-sources
1461 AC_SUBST(ro_sourcesdir)
1463 rw_sourcesdir='${privdatadir}'/rw-sources
1464 AC_SUBST(rw_sourcesdir)
1466 if test "x$use_gweather" = "xyes"; then
1467 weatherdatadir="$privdatadir/weather"
1468 AC_SUBST(weatherdatadir)
1471 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1472 camel_providerdir='${privlibdir}'/camel-providers
1473 AC_SUBST(camel_providerdir)
1475 dnl *******************
1476 dnl D-BUS service stuff
1477 dnl *******************
1478 m4_pattern_allow([AM_V_GEN])
1479 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)|" $< > $@'
1480 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1482 dnl ******************************
1484 dnl ******************************
1488 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1489 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1490 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1492 dnl ******************************
1494 dnl ******************************
1495 AC_PATH_PROG(GPERF, gperf, [no])
1496 if test "x$GPERF" = "xno"; then
1497 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1500 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1502 dnl ******************************
1504 dnl ******************************
1505 AC_ARG_ENABLE(vala-bindings,
1506 AC_HELP_STRING([--enable-vala-bindings],
1507 [build the EXPERIMENTAL Vala bindings]),
1508 enable_vala_bindings=$enableval,
1509 enable_vala_bindings=no)
1511 if test x$enable_vala_bindings = xyes; then
1512 if test "x$INTROSPECTION_SCANNER" = x; then
1513 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1516 AM_PROG_VALAC([0.13.0])
1519 AC_PATH_PROG(VALAC, valac, valac)
1523 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1525 if test "x$VAPIGEN" = "xfalse"; then
1526 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1532 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1535 dnl ******************************
1537 dnl ******************************
1539 export privincludedir
1544 evolution-data-server-zip
1545 evolution-data-server.pc
1546 addressbook/Makefile
1547 addressbook/libebook/Makefile
1548 addressbook/libebook/libebook.pc
1549 addressbook/libedata-book/Makefile
1550 addressbook/libedata-book/libedata-book.pc
1551 addressbook/libegdbus/Makefile
1552 addressbook/backends/Makefile
1553 addressbook/backends/file/Makefile
1554 addressbook/backends/vcf/Makefile
1555 addressbook/backends/ldap/Makefile
1556 addressbook/backends/google/Makefile
1557 addressbook/backends/google/tests/Makefile
1558 addressbook/backends/webdav/Makefile
1561 calendar/libecal/Makefile
1562 calendar/libecal/libecal.pc
1563 calendar/libedata-cal/Makefile
1564 calendar/libedata-cal/libedata-cal.pc
1565 calendar/libegdbus/Makefile
1566 calendar/backends/Makefile
1567 calendar/backends/caldav/Makefile
1568 calendar/backends/file/Makefile
1569 calendar/backends/http/Makefile
1570 calendar/backends/contacts/Makefile
1571 calendar/backends/weather/Makefile
1573 camel/providers/Makefile
1574 camel/providers/imap/Makefile
1575 camel/providers/imapx/Makefile
1576 camel/providers/local/Makefile
1577 camel/providers/nntp/Makefile
1578 camel/providers/pop3/Makefile
1579 camel/providers/sendmail/Makefile
1580 camel/providers/smtp/Makefile
1581 camel/tests/Makefile
1582 camel/tests/folder/Makefile
1583 camel/tests/lib/Makefile
1584 camel/tests/message/Makefile
1585 camel/tests/mime-filter/Makefile
1586 camel/tests/misc/Makefile
1587 camel/tests/smime/Makefile
1590 data/sources/Makefile
1591 libebackend/Makefile
1592 libebackend/libebackend.pc
1593 libedataserver/Makefile
1594 libedataserver/eds-version.h
1595 libedataserver/libedataserver.pc
1596 libedataserverui/Makefile
1597 libedataserverui/libedataserverui.pc
1599 modules/cache-reaper/Makefile
1600 modules/gnome-online-accounts/Makefile
1601 modules/google-backend/Makefile
1602 modules/yahoo-backend/Makefile
1605 services/evolution-addressbook-factory/Makefile
1606 services/evolution-calendar-factory/Makefile
1607 services/evolution-source-registry/Makefile
1609 tests/libebook/Makefile
1610 tests/libebook/client/Makefile
1611 tests/libebook/vcard/Makefile
1612 tests/libecal/Makefile
1613 tests/libecal/client/Makefile
1614 tests/libedata-cal/Makefile
1615 tests/libedataserver/Makefile
1616 tests/libedataserverui/Makefile
1618 docs/reference/Makefile
1619 docs/reference/addressbook/Makefile
1620 docs/reference/addressbook/libebook/Makefile
1621 docs/reference/addressbook/libedata-book/Makefile
1622 docs/reference/calendar/Makefile
1623 docs/reference/calendar/libecal/Makefile
1624 docs/reference/calendar/libedata-cal/Makefile
1625 docs/reference/camel/Makefile
1626 docs/reference/libedataserver/Makefile
1627 docs/reference/libedataserverui/Makefile
1628 docs/reference/libebackend/Makefile
1629 docs/reference/private/Makefile
1636 evolution-data-server has been configured as follows:
1637 Weather calendar: $use_gweather
1638 Mail Directory: $system_mail_dir, $system_mail_perm
1639 LDAP support: $msg_ldap
1640 NNTP support: $msg_nntp
1641 Kerberos 5: $msg_krb5
1642 SMIME support: $msg_smime
1643 IPv6 support: $msg_ipv6
1644 Dot Locking: $msg_dot
1645 File Locking: $msg_file
1646 Large files: $enable_largefile
1647 Gtk Doc: $enable_gtk_doc
1648 Introspection: $enable_introspection
1649 Vala bindings: $enable_vala_bindings
1650 GNOME Online Accounts $enable_goa
1651 Code coverage (gcov): $enable_code_coverage