2 dnl Evolution-Data-Server version
3 m4_define([eds_major_version], [3])
4 m4_define([eds_minor_version], [3])
5 m4_define([eds_micro_version], [90])
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.4])
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 -Werror 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.30])
37 m4_define([gtk_minimum_version], [3.2])
38 m4_define([gconf_minimum_version], [2.0.0]) dnl XXX Just a Guess
39 m4_define([gnome_keyring_minimum_version], [2.20.1])
40 m4_define([goa_minimum_version], [3.1.1])
41 m4_define([libxml_minimum_version], [2.0.0]) dnl XXX Just a Guess
42 m4_define([libsoup_minimum_version], [2.31.2])
43 m4_define([libgdata_minimum_version], [0.10])
44 m4_define([oauth_minimum_version], [0.9.4])
45 m4_define([sqlite_minimum_version], [3.5])
46 m4_define([libical_minimum_version], [0.43])
47 m4_define([gweather_minimum_version], [2.90.0])
49 AC_SUBST([BASE_VERSION],[base_version])
50 AC_SUBST([API_VERSION],[api_version])
51 AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
52 AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
54 EDS_MAJOR_VERSION=eds_major_version
55 EDS_MINOR_VERSION=eds_minor_version
56 EDS_MICRO_VERSION=eds_micro_version
58 dnl ******************************
60 dnl ******************************
61 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook3"
62 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar1"
65 ADDRESS_BOOK_DBUS_SERVICE_NAME,
66 ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
67 [D-Bus service name for the address book factory])
70 CALENDAR_DBUS_SERVICE_NAME,
71 ["$CALENDAR_DBUS_SERVICE_NAME"],
72 [D-Bus service name for the calendar factory])
74 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
75 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
77 dnl ******************************
78 dnl Libtool versioning
79 dnl ******************************
80 LIBEDATASERVER_CURRENT=16
81 LIBEDATASERVER_REVISION=0
84 LIBEDATASERVERUI_CURRENT=1
85 LIBEDATASERVERUI_REVISION=0
86 LIBEDATASERVERUI_AGE=0
92 LIBEDATACAL_CURRENT=15
93 LIBEDATACAL_REVISION=0
96 LIBEDATABOOK_CURRENT=13
97 LIBEDATABOOK_REVISION=0
108 LIBEBACKEND_CURRENT=2
109 LIBEBACKEND_REVISION=0
112 AC_SUBST(EDS_MAJOR_VERSION)
113 AC_SUBST(EDS_MINOR_VERSION)
114 AC_SUBST(EDS_MICRO_VERSION)
115 AC_SUBST(LIBEDATASERVER_CURRENT)
116 AC_SUBST(LIBEDATASERVER_REVISION)
117 AC_SUBST(LIBEDATASERVER_AGE)
118 AC_SUBST(LIBEDATASERVERUI_CURRENT)
119 AC_SUBST(LIBEDATASERVERUI_REVISION)
120 AC_SUBST(LIBEDATASERVERUI_AGE)
121 AC_SUBST(LIBECAL_CURRENT)
122 AC_SUBST(LIBECAL_REVISION)
123 AC_SUBST(LIBECAL_AGE)
124 AC_SUBST(LIBEDATACAL_CURRENT)
125 AC_SUBST(LIBEDATACAL_REVISION)
126 AC_SUBST(LIBEDATACAL_AGE)
127 AC_SUBST(LIBEBOOK_CURRENT)
128 AC_SUBST(LIBEBOOK_REVISION)
129 AC_SUBST(LIBEBOOK_AGE)
130 AC_SUBST(LIBEDATABOOK_CURRENT)
131 AC_SUBST(LIBEDATABOOK_REVISION)
132 AC_SUBST(LIBEDATABOOK_AGE)
133 AC_SUBST(LIBCAMEL_CURRENT)
134 AC_SUBST(LIBCAMEL_REVISION)
135 AC_SUBST(LIBCAMEL_AGE)
136 AC_SUBST(LIBEBACKEND_CURRENT)
137 AC_SUBST(LIBEBACKEND_REVISION)
138 AC_SUBST(LIBEBACKEND_AGE)
140 dnl **************************************
141 dnl Put the ACLOCAL flags in the Makefile
142 dnl **************************************
143 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
145 dnl ******************************
146 dnl Compiler Warning Flags
147 dnl ******************************
148 AS_COMPILER_FLAGS(WARNING_FLAGS,
150 -Wno-missing-field-initializers
152 -Wno-unused-parameter
153 -Wdeclaration-after-statement
154 -Werror-implicit-function-declaration
155 -Wformat-security -Winit-self
156 -Wmissing-declarations -Wmissing-include-dirs
157 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
158 -Wredundant-decls -Wundef -Wwrite-strings")
159 AC_SUBST(WARNING_FLAGS)
161 dnl More depracation from EBook/ECal:
162 dnl -DE_BOOK_DISABLE_DEPRECATED
163 dnl -DE_CAL_DISABLE_DEPRECATED
165 dnl Other useful compiler warnings for test builds only.
166 dnl These may produce warnings we have no control over,
167 dnl or false positives we don't always want to see.
169 dnl -Wformat-nonliteral
170 dnl -Wmissing-format-attribute
172 dnl -Wstrict-aliasing=2
174 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
175 AC_SUBST(AM_CPPFLAGS)
178 dnl define disable deprecated for EBook and ECal .am files
179 case "$WARNING_FLAGS" in
180 *E_BOOK_DISABLE_DEPRECATED*)
181 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 1 == 1 ])
184 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 0 == 1 ])
188 case "$WARNING_FLAGS" in
189 *E_CAL_DISABLE_DEPRECATED*)
190 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 1 == 1 ])
193 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 0 == 1 ])
197 dnl ******************************
198 dnl Initialize maintainer mode
199 dnl ******************************
200 AM_MAINTAINER_MODE([enable])
202 if test "x$enable_maintainer_mode" = "xyes" ; then
203 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
217 AC_MSG_ERROR([You need bison to build evolution-data-server])
221 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
222 dnl behavior that -- according to the C99 standard -- is supposed to be
223 dnl undefined. We may still have aliasing abuses lying around that rely
224 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
225 dnl optimization until we can find and fix all the abuses.
226 dnl (AC_PROG_CC must run first to set the GCC variable.)
227 dnl XXX This really belongs in AM_CFLAGS.
228 if test "x${GCC}" = "xyes"; then
229 CFLAGS="$CFLAGS -fno-strict-aliasing"
232 dnl ******************************
233 dnl Test whether jw is installed
234 dnl ******************************
235 AC_PATH_PROG(JW,jw,no)
236 if test "x$JW" = "xno"; then
241 AM_CONDITIONAL(HAVE_JW, test "x$HAVE_JW" = "xyes")
244 dnl ******************************
246 dnl ******************************
247 IT_PROG_INTLTOOL([0.35.5])
249 AM_GNU_GETTEXT_VERSION([0.17])
250 AM_GNU_GETTEXT([external])
252 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
253 AC_SUBST(GETTEXT_PACKAGE)
254 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
256 localedir='$(prefix)/$(DATADIRNAME)/locale'
259 dnl ******************************
260 dnl Initialize libtool
261 dnl ******************************
263 LT_INIT(disable-static win32-dll)
267 dnl ******************************
269 dnl ******************************
270 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
272 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
275 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
278 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
282 dnl ******************************
284 dnl ******************************
285 AC_MSG_CHECKING([for Win32])
289 NO_UNDEFINED='-no-undefined'
290 SOCKET_LIBS='-lws2_32 -ldnsapi'
292 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
293 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
294 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
301 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
308 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
311 AC_MSG_RESULT([$os_win32])
312 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
313 AC_SUBST(NO_UNDEFINED)
314 AC_SUBST(SOCKET_LIBS)
315 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
317 dnl **************************************
318 dnl Check for posix compatible sys/wait.h
319 dnl **************************************
322 dnl ************************************
323 dnl Check for posix compatible alloca()
324 dnl ************************************
327 dnl ******************************
328 dnl Checks for functions
329 dnl ******************************
330 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
332 dnl ***********************************
333 dnl Check for base dependencies early.
334 dnl ***********************************
335 PKG_CHECK_MODULES(GNOME_PLATFORM,
336 [gio-2.0 >= glib_minimum_version
337 gmodule-2.0 >= glib_minimum_version
338 gtk+-3.0 >= gtk_minimum_version
339 gconf-2.0 >= gconf_minimum_version
340 libxml-2.0 >= libxml_minimum_version
341 libsoup-2.4 >= libsoup_minimum_version
342 libgdata >= libgdata_minimum_version])
344 if test x$os_win32 = xno; then
345 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
348 dnl *******************************
349 dnl Check for GNOME Online Accounts
350 dnl *******************************
352 [AS_HELP_STRING([--enable-goa],
353 [enable GNOME Online Accounts support (default=yes)])],
354 [enable_goa=$enableval], [enable_goa=yes])
355 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
356 AC_MSG_RESULT([$enable_goa])
357 if test "x$enable_goa" = xyes; then
358 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
359 [AC_MSG_ERROR([goa-1.0 not found (or version < goa_minimum_version),
360 If you want to disable GNOME Online Accounts support,
361 please append --disable-goa to configure.])])
363 PKG_CHECK_MODULES([OAUTH], [oauth >= oauth_minimum_version],,
364 [AC_MSG_ERROR([oauth not found (or version < oauth_minimum_version),
365 If you want to disable GNOME Online Accounts support,
366 please append --disable-goa to configure.])])
368 if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
369 AC_DEFINE(HAVE_GOA,1,[Have goa-1.0 and libgdata >= 0.9.1])
372 libgdata >= 0.9.1 is required for GNOME Online Accounts support.
373 If you want to disable GNOME Online Accounts support, please
374 append --disable-goa to configure.])
377 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
379 if test x$os_win32 = xno; then
380 dnl ***********************************
381 dnl Check for GNOME Keyring.
382 dnl ***********************************
383 PKG_CHECK_MODULES(GNOME_KEYRING,
384 [gnome-keyring-1 >= gnome_keyring_minimum_version])
388 LIBICAL_REQUIRED=libical_minimum_version
389 AC_SUBST(LIBICAL_REQUIRED)
391 dnl ******************************
393 dnl ******************************
394 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
396 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
397 [AC_MSG_ERROR([No regex library found])])])
400 dnl ******************************
402 dnl ******************************
404 AS_HELP_STRING([--with-libdb=PREFIX],
405 [Prefix where libdb is installed]),
406 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
408 DB_CFLAGS="-I$libdb_prefix/include"
409 DB_LIBS="-L$libdb_prefix/lib -ldb"
411 AC_MSG_CHECKING([Berkeley DB])
412 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
413 save_libs=$LIBS; LIBS="$DB_LIBS"
414 AC_LINK_IFELSE([AC_LANG_PROGRAM(
416 [[db_create(NULL, NULL, 0)]])],
417 [AC_MSG_RESULT([yes])],
418 [AC_MSG_ERROR([Cannot find libdb])])
424 dnl ******************************
426 dnl ******************************
430 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
431 AC_LINK_IFELSE([AC_LANG_PROGRAM(
438 cd = iconv_open ("UTF-8", "ISO-8859-1");
440 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
442 if test "x$ac_cv_libiconv" = "xyes"; then
444 if test "x$os_win32" = "xyes"; then
445 dnl Don't pointlessly auto-export the global symbols
446 dnl from a potentially static libiconv.a
447 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
452 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
455 if test "x$have_iconv" = "xyes"; then
456 if test "x$ac_cv_libiconv" = "xno"; then
457 AC_CHECK_FUNCS(gnu_get_libc_version)
459 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
460 AC_RUN_IFELSE([AC_LANG_SOURCE([[
464 #ifdef HAVE_GNU_GET_LIBC_VERSION
465 #include <gnu/libc-version.h>
468 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
469 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
470 char *transbuf = malloc (10), *trans = transbuf;
472 size_t jp_len = strlen (jp), utf8_len = 10;
473 size_t utf8_real_len = strlen (utf8);
475 #ifdef HAVE_GNU_GET_LIBC_VERSION
476 /* glibc 2.1.2's iconv is broken in hard to test ways. */
477 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
481 cd = iconv_open ("UTF-8", "ISO-2022-JP");
482 if (cd == (iconv_t) -1)
484 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
486 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
490 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
493 if test "x$have_iconv" = "xno"; then
494 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
498 CFLAGS="$CFLAGS -I$srcdir"
500 AC_MSG_CHECKING([preferred charset name formats for system iconv])
501 AC_RUN_IFELSE([AC_LANG_SOURCE([[
503 #include "iconv-detect.c"
505 [AC_MSG_RESULT([found])],
506 [AC_MSG_RESULT([not found])
508 *** The iconv-detect program was unable to determine the
509 *** preferred charset name formats recognized by your
510 *** iconv library. It is suggested that you install a
511 *** working iconv library such as the one found at
512 *** ftp://ftp.gnu.org/pub/gnu/libiconv
514 [if test "x$os_win32" = xyes; then
515 AC_MSG_RESULT([using known win32 result])
516 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
517 echo >>iconv-detect.h
518 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
519 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
520 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
522 AC_MSG_RESULT([unknown])
524 *** We can't determine the preferred charset name formats
525 *** recognized by your iconv library. You are
526 *** cross-compiling and supposed to know what you are doing.
527 *** Please construct the iconv-detect.h file manually.
532 CFLAGS="$save_CFLAGS"
535 AC_ARG_ENABLE([backtraces],
536 [AS_HELP_STRING([--enable-backtraces],
537 [enable backtraces for e_pointer_tracker (default=no)])],
538 [enable_backtraces=$enableval], [enable_backtraces=no])
540 if test "x$enable_backtraces" = xyes; then
541 dnl ****************************
542 dnl Check for backtrace_symbols function and dwfl from elfutils
543 dnl ****************************
544 AC_MSG_CHECKING([libc backtrace_symbols function])
545 AC_LINK_IFELSE([AC_LANG_PROGRAM(
546 [[#include <execinfo.h>]],
547 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
548 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
549 AC_MSG_RESULT([$ac_cv_have_bsf])
551 if test "x$ac_cv_have_bsf" = xyes; then
554 AC_MSG_CHECKING([elfutils/libdwfl])
555 AC_LINK_IFELSE([AC_LANG_PROGRAM(
556 [[#include <elfutils/libdwfl.h>]],
560 Dwarf_Addr module_low_addr;
563 dwfl_standard_find_debuginfo;
564 dwfl_linux_proc_find_elf;
566 dwfl_linux_proc_report (NULL, 1);
567 dwfl_report_end (NULL, NULL, NULL);
569 dwfl_module_addrname (NULL, NULL);
570 dwfl_module_getsrc (NULL, NULL);
571 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
572 DWARF_CB_ABORT; DWARF_CB_OK;
573 dwfl_getmodules (NULL, NULL, NULL, 0);
575 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
576 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
580 if test "x$ac_cv_have_elfdwfl" = xyes; then
582 AC_SUBST(LIBDWFL_LIBS)
587 dnl **********************************
588 dnl Check for nl_langinfo and CODESET
589 dnl **********************************
590 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
591 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
592 [[#include <langinfo.h>]],
593 [[char *codeset = nl_langinfo (CODESET);]]
594 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
595 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
596 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
598 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
600 dnl *******************************************************
601 dnl Check to see if strftime supports the use of %l and %k
602 dnl *******************************************************
603 AC_MSG_CHECKING([for %l and %k support in strftime])
604 AC_RUN_IFELSE([AC_LANG_SOURCE(
605 [[ #include <stdlib.h>
608 int main(int argc, char **argv) {
614 timeinfo=localtime(&rawtime);
616 strftime(buf, 10, "%lx%k", timeinfo);
618 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
625 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
626 AC_MSG_RESULT([$ac_cv_lkstrftime])
628 dnl ********************************************************************************
629 dnl security extension support (SSL and S/MIME)
631 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
632 dnl needed by Camel (SSL and S/MIME).
634 dnl The Evolution security extensions are only built if these libraries are found
635 dnl ********************************************************************************
638 AC_ARG_ENABLE([smime],
639 AS_HELP_STRING([--enable-smime],
640 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
641 [enable_smime="$enableval"],[enable_smime="yes"])
643 AC_ARG_WITH([nspr-includes],
644 AS_HELP_STRING([--with-nspr-includes],
645 [Prefix of Mozilla nspr4 includes.]),
646 [with_nspr_includes="$withval"])
648 AC_ARG_WITH([nspr-libs],
649 AS_HELP_STRING([--with-nspr-libs],
650 [Prefix of Mozilla nspr4 libs.]),
651 [with_nspr_libs="$withval"])
653 AC_ARG_WITH([nss-includes],
654 AS_HELP_STRING([--with-nss-includes],
655 [Prefix of Mozilla nss3 includes.]),
656 [with_nss_includes="$withval"])
658 AC_ARG_WITH([nss-libs],
659 AS_HELP_STRING([--with-nss-libs],
660 [Prefix of Mozilla nss3 libs.]),
661 [with_nss_libs="$withval"])
663 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
669 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
670 if test "x${check_manually}" = "xno"; then
671 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
672 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
673 for pc in $mozilla_nspr_pcs; do
674 if $PKG_CONFIG --exists $pc; then
681 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
682 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
683 for pc in $mozilla_nss_pcs; do
684 if $PKG_CONFIG --exists $pc; then
691 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
692 if test "x$enable_smime" = "xyes"; then
693 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
696 MANUAL_NSPR_CFLAGS=""
707 if test "x${check_manually}" = "xyes"; then
708 dnl ******************
710 dnl ******************
711 AC_MSG_CHECKING([for Mozilla nspr4 includes])
712 CPPFLAGS_save="$CPPFLAGS"
713 if test -n "$with_nspr_includes"; then
714 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
717 AC_CHECK_HEADERS(nspr.h prio.h,
718 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
719 CPPFLAGS="$CPPFLAGS_save"
721 if test "x${moz_nspr_includes}" = "xyes"; then
722 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
724 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
726 AC_MSG_RESULT([$moz_nspr_includes])
728 AC_MSG_CHECKING([for Mozilla nspr libraries])
729 CFLAGS_save="$CFLAGS"
730 LDFLAGS_save="$LDFLAGS"
732 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
734 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
736 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
737 if test -n "${with_nspr_libs}"; then
738 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
743 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
744 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
746 CFLAGS="$CFLAGS_save"
747 LDFLAGS="$LDFLAGS_save"
750 if test "x${moz_nspr_libs}" = "xyes"; then
751 if test -n "${with_nspr_libs}"; then
752 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
754 MANUAL_NSPR_LIBS="$nsprlibs"
757 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
759 AC_MSG_RESULT([$moz_nspr_libs])
761 dnl *****************
763 dnl *****************
764 AC_MSG_CHECKING([for Mozilla nss3 includes])
765 CPPFLAGS_save="$CPPFLAGS"
766 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
768 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
769 [moz_nss_includes="yes"],[moz_nss_includes="no"])
770 CPPFLAGS="$CPPFLAGS_save"
772 if test "x${moz_nss_includes}" = "xyes"; then
773 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
775 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
777 AC_MSG_RESULT($moz_nss_includes)
779 AC_MSG_CHECKING([for Mozilla nss libraries])
780 LDFLAGS_save="$LDFLAGS"
782 nsslibs="-lssl3 -lsmime3 -lnss3"
784 LIBS="$nsslibs $nsprlibs"
785 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
786 if test -n "${with_nss_libs}"; then
787 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
789 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
792 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
793 [moz_nss_libs="yes"],[moz_nss_libs="no"])
794 LDFLAGS="$LDFLAGS_save"
797 if test "x${moz_nss_libs}" = "xyes"; then
798 if test "x${enable_smime}" = "xyes"; then
799 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
802 if test -n "${with_nss_libs}"; then
803 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
805 MANUAL_NSS_LIBS="$nsslibs"
808 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
810 AC_MSG_RESULT([$moz_nss_libs])
812 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
813 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
816 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
818 dnl For pkgconfig files.
819 AC_SUBST(mozilla_nss)
820 AC_SUBST(mozilla_nspr)
822 AC_SUBST(MANUAL_NSPR_CFLAGS)
823 AC_SUBST(MANUAL_NSPR_LIBS)
824 AC_SUBST(MANUAL_NSS_CFLAGS)
825 AC_SUBST(MANUAL_NSS_LIBS)
827 dnl ******************************
828 dnl system mail stuff
829 dnl ******************************
830 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
831 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
833 AC_MSG_CHECKING([system mail directory])
834 if test -d /var/mail -a '!' -h /var/mail ; then
835 system_mail_dir="/var/mail"
837 system_mail_dir="/var/spool/mail"
839 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
841 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
843 CAMEL_LOCK_HELPER_USER=""
844 CAMEL_LOCK_HELPER_GROUP=""
845 system_mail_perm="world writable"
848 CAMEL_LOCK_HELPER_USER=""
849 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
850 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
853 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
854 CAMEL_LOCK_HELPER_GROUP=""
855 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
858 CAMEL_LOCK_HELPER_USER=""
859 CAMEL_LOCK_HELPER_GROUP=""
860 system_mail_perm="???"
864 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
865 AC_SUBST(CAMEL_LOCK_HELPER_USER)
866 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
868 dnl ******************************
870 dnl ******************************
871 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
872 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
873 [[ #include <time.h> ]],
878 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
879 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
880 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
882 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
883 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
884 [[ #include <time.h> ]],
886 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
887 if test "x$ac_cv_var_timezone" = "xyes"; then
888 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
889 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
890 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
891 [[ #include <time.h> ]],
893 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
894 if test "x$ac_cv_var_altzone" = "xyes"; then
895 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
898 AC_MSG_ERROR([unable to find a way to determine timezone])
902 dnl ******************************
903 dnl ctime_r prototype
904 dnl ******************************
905 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
907 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
908 [[ #include <time.h> ]],
911 ctime_r (&date, buf, 100); ]]
912 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
915 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
916 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
919 dnl ******************************
920 dnl gethostbyname_r prototype
921 dnl ******************************
922 AC_CHECK_FUNCS(gethostbyname_r,[
923 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
925 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
927 #include "confdefs.h"
928 #include <sys/types.h>
929 #include <sys/socket.h>
930 #include <netinet/in.h>
932 #define BUFSIZE (sizeof(struct hostent)+10)
936 char buffer[BUFSIZE];
939 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
941 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
944 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
945 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
948 dnl ******************************
949 dnl gethostbyaddr_r prototype
950 dnl ******************************
951 AC_CHECK_FUNCS(gethostbyaddr_r,[
952 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
954 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
956 #include "confdefs.h"
957 #include <sys/types.h>
958 #include <sys/socket.h>
959 #include <netinet/in.h>
961 #define BUFSIZE (sizeof(struct hostent)+10)
965 char buffer[BUFSIZE];
968 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
969 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
972 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
973 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
976 dnl ******************************
977 dnl stat(v)fs location/type
978 dnl ******************************
979 AC_CHECK_HEADER([sys/statvfs.h],
980 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
981 [[ #if HAVE_SYS_STATVFS_H
982 #include <sys/statvfs.h>
985 AC_CHECK_FUNCS(statvfs)
987 AC_CHECK_HEADER([sys/param.h],
988 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
989 [[ #if HAVE_SYS_PARAM_H
990 #include <sys/param.h>
993 AC_CHECK_HEADER([sys/mount.h],
994 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
995 [[ #if HAVE_SYS_MOUNT_H
996 #include <sys/mount.h>
999 AC_CHECK_FUNCS(statfs)
1001 dnl ******************************
1002 dnl IPv6 support and getaddrinfo calls
1003 dnl ******************************
1004 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1006 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1007 [[ #include "confdefs.h"
1008 #include <sys/types.h>
1009 #include <sys/socket.h>
1010 #include <netinet/in.h>
1014 [[ #ifndef NI_MAXHOST
1015 #define NI_MAXHOST 1025
1019 #define NI_MAXSERV 32
1022 struct addrinfo hints, *res;
1023 struct sockaddr_in6 sin6;
1025 char host[NI_MAXHOST];
1026 char serv[NI_MAXSERV];
1028 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1030 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1031 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1034 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1035 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1036 if test "x$enable_ipv6" = "xyes" ; then
1037 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1041 AC_ARG_ENABLE([ipv6],
1042 AS_HELP_STRING([--enable-ipv6=no/yes],
1043 [Enable support for resolving IPv6 addresses.]),
1044 [enable_ipv6=$enableval],[enable_ipv6=yes])
1045 if test "x$enable_ipv6" = "xyes"; then
1047 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1048 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1049 [[ #include "confdefs.h"
1050 #include <sys/types.h>
1051 #include <sys/socket.h>
1052 #include <netinet/in.h>
1055 [[ struct addrinfo hints;
1056 hints.ai_flags = AI_ADDRCONFIG;
1058 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1064 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1066 AC_CHECK_HEADER([wspiapi.h],
1067 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1069 dnl **********************************
1070 dnl Weather calendar backend support
1071 dnl **********************************
1072 AC_MSG_CHECKING([if we should build the weather calendar backend])
1073 AC_ARG_ENABLE([weather],
1074 [AS_HELP_STRING([--enable-weather],
1075 [Build the weather calendar backend (default=yes)])],
1076 [use_gweather=$enableval], [use_gweather=yes])
1078 AC_MSG_RESULT([$use_gweather])
1079 if test "x$use_gweather" = "xyes"; then
1080 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1081 [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.])])
1083 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1085 dnl ******************************
1087 dnl ******************************
1088 AC_ARG_ENABLE([nntp],
1089 AS_HELP_STRING([--enable-nntp],
1090 [Build Usenet news (NNTP) backend]),
1091 [enable_nntp=$enableval],[enable_nntp=yes])
1092 if test "x$enable_nntp" = "xyes"; then
1093 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1098 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1100 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1102 dnl ******************************
1104 dnl ******************************
1105 AC_ARG_ENABLE([dot-locking],
1106 AS_HELP_STRING([--enable-dot-locking=yes/no],
1107 [Enable support for locking mail files with dot locking]),
1108 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1110 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1111 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1117 AC_ARG_ENABLE([file-locking],
1118 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1119 [Enable support for locking mail files with file locking]),
1120 [],[enable_file_locking=fcntl])
1122 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1123 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1126 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1127 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1134 dnl ******************************
1135 dnl sendmail operation
1136 dnl ******************************
1137 AC_MSG_CHECKING([for SunOS broken spool format])
1138 if test "x$host_os" = "xsunos" ; then
1139 with_broken_spool="yes"
1142 AC_ARG_WITH([broken-spool],
1143 AS_HELP_STRING([--with-broken-spool=yes/no],
1144 [Using SunOS/Solaris sendmail which has a broken spool format]),
1145 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1147 if test "x$with_broken_spool" = "xyes"; then
1148 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1151 AC_MSG_RESULT([$with_broken_spool])
1153 dnl ******************************
1154 dnl DBus call timeout
1155 dnl ******************************
1157 AC_ARG_WITH([dbus-call-timeout],
1158 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1159 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1160 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1162 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1163 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1168 EVO_KRB5_SUPPORT(no)
1170 dnl ******************************
1172 dnl ******************************
1175 dnl ******************************
1177 dnl ******************************
1178 if test "x$os_win32" != "xyes"; then
1180 case $with_openldap in
1185 case $with_static_ldap in
1187 msg_ldap="$with_openldap (static)"
1190 msg_ldap="$with_openldap (dynamic)"
1195 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1196 if test "x$with_openldap" = "xno" ; then
1197 EVO_SUNLDAP_CHECK(no)
1198 case $with_sunldap in
1203 case $with_static_sunldap in
1205 msg_ldap="$with_sunldap (static)"
1208 msg_ldap="$with_sunldap (dynamic)"
1215 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1217 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1219 dnl Win32 LDAP support
1220 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1221 LDAP_LIBS="-lwldap32"
1222 AC_SUBST(LDAP_CFLAGS)
1224 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1225 AM_CONDITIONAL(ENABLE_LDAP, true)
1226 AM_CONDITIONAL(SUNLDAP, false)
1230 dnl ******************************
1231 dnl GObject marshalling
1232 dnl ******************************
1235 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1236 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1237 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1239 dnl ******************************
1240 dnl Utility macro to set compiler flags for a specific lib.
1241 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1242 dnl ******************************
1243 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1244 PKG_CHECK_MODULES([$1], [$2])
1245 $1_CFLAGS="[$]$1_CFLAGS $3 "
1246 $1_LIBS="[$]$1_LIBS $4 "
1249 dnl ******************************
1251 dnl ******************************
1252 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1254 dnl ******************************
1255 dnl libedataserver flags
1256 dnl ******************************
1257 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"
1259 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1260 AC_SUBST(E_DATA_SERVER_CFLAGS)
1261 AC_SUBST(E_DATA_SERVER_LIBS)
1263 dnl ******************************
1264 dnl libedataserverui
1265 dnl ******************************
1266 E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
1268 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1269 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1270 AC_SUBST(E_DATA_SERVER_UI_LIBS)
1272 if test "x$enable_maintainer_mode" = "xyes" ; then
1273 FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1274 FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1275 AC_SUBST(FACTORY_GTK_CFLAGS)
1276 AC_SUBST(FACTORY_GTK_LIBS)
1279 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 gconf-2.0"
1281 dnl ******************************
1282 dnl libebackend flags
1283 dnl ******************************
1284 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1285 AC_SUBST(E_BACKEND_CFLAGS)
1286 AC_SUBST(E_BACKEND_LIBS)
1288 dnl ******************************
1289 dnl evolution-addressbook flags
1290 dnl ******************************
1291 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1293 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1294 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1295 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1297 dnl ******************************
1298 dnl evolution-calendar flags
1299 dnl ******************************
1300 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
1303 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1304 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1305 dnl to differentiate between <libical/ical.h> and <ical.h>
1306 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1307 dnl libical is fixed, we have to work-around the buggy CFlags.
1309 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1310 LIBICAL_EXTRA_LIBS=""
1311 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1312 AC_SUBST(LIBICAL_EXTRA_LIBS)
1314 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1315 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1316 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1318 dnl ****************************
1319 dnl Check for ical_set_unknown_token_handling_setting function
1320 dnl ****************************
1321 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1322 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1323 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1324 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1325 [[#include <libical/ical.h>]],
1326 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1327 [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])
1330 AC_MSG_RESULT([$ac_cv_have_iuth])
1332 dnl ******************************
1334 dnl ******************************
1335 LIBGDATA_REQUIRED=libgdata_minimum_version
1336 AC_SUBST(LIBGDATA_REQUIRED)
1338 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1339 AC_SUBST(GDATA_CFLAGS)
1340 AC_SUBST(GDATA_LIBS)
1342 dnl ******************************
1344 dnl ******************************
1345 LIBSOUP_REQUIRED=libsoup_minimum_version
1346 AC_SUBST(LIBSOUP_REQUIRED)
1348 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1349 AC_SUBST(SOUP_CFLAGS)
1352 dnl ******************************
1354 dnl ******************************
1355 SQLITE_REQUIRED=sqlite_minimum_version
1356 AC_SUBST(SQLITE_REQUIRED)
1359 dnl deflateInit is a #define, use deflateEnd instead
1360 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1362 if test "x$zlib_found" = "xfalse"; then
1363 AC_MSG_ERROR([*** zlib is required])
1366 dnl ******************************
1367 dnl Checks for large file support
1368 dnl ******************************
1369 AC_ARG_ENABLE([largefile],
1370 AS_HELP_STRING([--enable-largefile],
1371 [enable support for large files [[default=no]]]),
1372 [],[enable_largefile="yes"])
1374 if test "x$enable_largefile" != "xno"; then
1376 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1377 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1378 [[ #include <sys/types.h>
1379 #include <sys/stat.h>
1382 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1383 )],[ac_cv_largefile64_source="no"],
1384 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1385 [[ #define _LARGEFILE64_SOURCE
1386 #include <sys/types.h>
1387 #include <sys/stat.h>
1390 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1391 [ac_cv_largefile64_source="unknown"])])
1394 enable_largefile="no"
1396 if test "x$ac_cv_largefile64_source" = "xyes"; then
1397 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1398 enable_largefile="yes"
1399 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1400 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1403 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1404 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1405 enable_largefile="yes"
1408 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1409 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1410 enable_largefile="yes"
1413 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1417 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1419 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)
1420 AC_SUBST(CAMEL_CFLAGS)
1421 AC_SUBST(CAMEL_LIBS)
1423 dnl ******************************
1424 dnl Special directories
1425 dnl ******************************
1427 dnl If you add something here, consider whether or not you also
1428 dnl need to add it to one or more .pc.in files (for Connector,
1431 privdatadir='${datadir}'/evolution-data-server-$BASE_VERSION
1432 AC_SUBST(privdatadir)
1434 privincludedir='${includedir}'/evolution-data-server-$BASE_VERSION
1435 AC_SUBST(privincludedir)
1437 privlibdir='${libdir}'/evolution-data-server-$BASE_VERSION
1438 AC_SUBST(privlibdir)
1440 imagesdir='${datadir}'/pixmaps/evolution-data-server
1443 ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
1444 AC_SUBST(ebook_backenddir)
1446 ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
1447 AC_SUBST(ecal_backenddir)
1449 if test "x$use_gweather" = "xyes"; then
1450 weatherdatadir="$privdatadir/weather"
1451 AC_SUBST(weatherdatadir)
1454 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1455 camel_providerdir='${libdir}'/evolution-data-server/camel-providers
1456 AC_SUBST(camel_providerdir)
1458 dnl *******************
1459 dnl D-BUS service stuff
1460 dnl *******************
1461 m4_pattern_allow([AM_V_GEN])
1462 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)|" $< > $@'
1463 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1465 dnl ******************************
1467 dnl ******************************
1468 AC_PATH_PROG(GCONFTOOL, gconftool-2, [no])
1471 dnl ******************************
1473 dnl ******************************
1474 AC_PATH_PROG(GPERF, gperf, [no])
1475 if test "x$GPERF" = "xno"; then
1476 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1479 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1481 dnl ******************************
1483 dnl ******************************
1484 AC_ARG_ENABLE(vala-bindings,
1485 AC_HELP_STRING([--enable-vala-bindings],
1486 [build the EXPERIMENTAL Vala bindings]),
1487 enable_vala_bindings=$enableval,
1488 enable_vala_bindings=no)
1490 if test x$enable_vala_bindings = xyes; then
1491 if test "x$INTROSPECTION_SCANNER" = x; then
1492 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1495 AM_PROG_VALAC([0.13.0])
1498 AC_PATH_PROG(VALAC, valac, valac)
1502 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1504 if test "x$VAPIGEN" = "xfalse"; then
1505 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1511 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1514 dnl ******************************
1516 dnl ******************************
1518 export privincludedir
1523 evolution-data-server-zip
1524 evolution-data-server.pc
1525 addressbook/Makefile
1526 addressbook/libebook/Makefile
1527 addressbook/libebook/libebook.pc
1528 addressbook/libedata-book/Makefile
1529 addressbook/libedata-book/libedata-book.pc
1530 addressbook/libegdbus/Makefile
1531 addressbook/backends/Makefile
1532 addressbook/backends/file/Makefile
1533 addressbook/backends/vcf/Makefile
1534 addressbook/backends/ldap/Makefile
1535 addressbook/backends/google/Makefile
1536 addressbook/backends/webdav/Makefile
1539 calendar/libecal/Makefile
1540 calendar/libecal/libecal.pc
1541 calendar/libedata-cal/Makefile
1542 calendar/libedata-cal/libedata-cal.pc
1543 calendar/libegdbus/Makefile
1544 calendar/backends/Makefile
1545 calendar/backends/caldav/Makefile
1546 calendar/backends/file/Makefile
1547 calendar/backends/http/Makefile
1548 calendar/backends/contacts/Makefile
1549 calendar/backends/weather/Makefile
1551 camel/providers/Makefile
1552 camel/providers/imap/Makefile
1553 camel/providers/imapx/Makefile
1554 camel/providers/local/Makefile
1555 camel/providers/nntp/Makefile
1556 camel/providers/pop3/Makefile
1557 camel/providers/sendmail/Makefile
1558 camel/providers/smtp/Makefile
1559 camel/tests/Makefile
1560 camel/tests/folder/Makefile
1561 camel/tests/lib/Makefile
1562 camel/tests/message/Makefile
1563 camel/tests/mime-filter/Makefile
1564 camel/tests/misc/Makefile
1565 camel/tests/smime/Makefile
1567 libebackend/Makefile
1568 libebackend/libebackend.pc
1569 libedataserver/Makefile
1570 libedataserver/eds-version.h
1571 libedataserver/libedataserver.pc
1572 libedataserverui/Makefile
1573 libedataserverui/libedataserverui.pc
1575 services/evolution-addressbook-factory/Makefile
1576 services/evolution-calendar-factory/Makefile
1578 tests/libebook/Makefile
1579 tests/libebook/client/Makefile
1580 tests/libebook/vcard/Makefile
1581 tests/libecal/Makefile
1582 tests/libecal/client/Makefile
1583 tests/libedata-cal/Makefile
1584 tests/libedataserver/Makefile
1585 tests/libedataserverui/Makefile
1587 docs/reference/Makefile
1588 docs/reference/addressbook/Makefile
1589 docs/reference/addressbook/libebook/Makefile
1590 docs/reference/addressbook/libedata-book/Makefile
1591 docs/reference/calendar/Makefile
1592 docs/reference/calendar/libecal/Makefile
1593 docs/reference/calendar/libedata-cal/Makefile
1594 docs/reference/camel/Makefile
1595 docs/reference/libedataserver/Makefile
1596 docs/reference/libedataserverui/Makefile
1597 docs/reference/libebackend/Makefile
1604 evolution-data-server has been configured as follows:
1605 Weather calendar: $use_gweather
1606 Mail Directory: $system_mail_dir, $system_mail_perm
1607 LDAP support: $msg_ldap
1608 NNTP support: $msg_nntp
1609 Kerberos 5: $msg_krb5
1610 SMIME support: $msg_smime
1611 IPv6 support: $msg_ipv6
1612 Dot Locking: $msg_dot
1613 File Locking: $msg_file
1614 Large files: $enable_largefile
1615 Gtk Doc: $enable_gtk_doc
1616 Introspection: $enable_introspection
1617 Vala bindings: $enable_vala_bindings
1618 GNOME Online Accounts $enable_goa