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
60 dnl ******************************
62 dnl ******************************
63 ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook3"
64 CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar1"
67 ADDRESS_BOOK_DBUS_SERVICE_NAME,
68 ["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
69 [D-Bus service name for the address book factory])
72 CALENDAR_DBUS_SERVICE_NAME,
73 ["$CALENDAR_DBUS_SERVICE_NAME"],
74 [D-Bus service name for the calendar factory])
76 AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
77 AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
79 dnl ******************************
80 dnl Libtool versioning
81 dnl ******************************
82 LIBEDATASERVER_CURRENT=16
83 LIBEDATASERVER_REVISION=0
86 LIBEDATASERVERUI_CURRENT=1
87 LIBEDATASERVERUI_REVISION=0
88 LIBEDATASERVERUI_AGE=0
94 LIBEDATACAL_CURRENT=15
95 LIBEDATACAL_REVISION=0
98 LIBEDATABOOK_CURRENT=13
99 LIBEDATABOOK_REVISION=0
110 LIBEBACKEND_CURRENT=2
111 LIBEBACKEND_REVISION=0
114 AC_SUBST(EDS_MAJOR_VERSION)
115 AC_SUBST(EDS_MINOR_VERSION)
116 AC_SUBST(EDS_MICRO_VERSION)
117 AC_SUBST(LIBEDATASERVER_CURRENT)
118 AC_SUBST(LIBEDATASERVER_REVISION)
119 AC_SUBST(LIBEDATASERVER_AGE)
120 AC_SUBST(LIBEDATASERVERUI_CURRENT)
121 AC_SUBST(LIBEDATASERVERUI_REVISION)
122 AC_SUBST(LIBEDATASERVERUI_AGE)
123 AC_SUBST(LIBECAL_CURRENT)
124 AC_SUBST(LIBECAL_REVISION)
125 AC_SUBST(LIBECAL_AGE)
126 AC_SUBST(LIBEDATACAL_CURRENT)
127 AC_SUBST(LIBEDATACAL_REVISION)
128 AC_SUBST(LIBEDATACAL_AGE)
129 AC_SUBST(LIBEBOOK_CURRENT)
130 AC_SUBST(LIBEBOOK_REVISION)
131 AC_SUBST(LIBEBOOK_AGE)
132 AC_SUBST(LIBEDATABOOK_CURRENT)
133 AC_SUBST(LIBEDATABOOK_REVISION)
134 AC_SUBST(LIBEDATABOOK_AGE)
135 AC_SUBST(LIBCAMEL_CURRENT)
136 AC_SUBST(LIBCAMEL_REVISION)
137 AC_SUBST(LIBCAMEL_AGE)
138 AC_SUBST(LIBEBACKEND_CURRENT)
139 AC_SUBST(LIBEBACKEND_REVISION)
140 AC_SUBST(LIBEBACKEND_AGE)
142 dnl **************************************
143 dnl Put the ACLOCAL flags in the Makefile
144 dnl **************************************
145 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
147 dnl ******************************
148 dnl Compiler Warning Flags
149 dnl ******************************
150 AS_COMPILER_FLAGS(WARNING_FLAGS,
152 -Wno-missing-field-initializers
154 -Wno-unused-parameter
155 -Wdeclaration-after-statement
156 -Werror-implicit-function-declaration
157 -Wformat-security -Winit-self
158 -Wmissing-declarations -Wmissing-include-dirs
159 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
160 -Wredundant-decls -Wundef -Wwrite-strings")
161 AC_SUBST(WARNING_FLAGS)
163 dnl More depracation from EBook/ECal:
164 dnl -DE_BOOK_DISABLE_DEPRECATED
165 dnl -DE_CAL_DISABLE_DEPRECATED
167 dnl Other useful compiler warnings for test builds only.
168 dnl These may produce warnings we have no control over,
169 dnl or false positives we don't always want to see.
171 dnl -Wformat-nonliteral
172 dnl -Wmissing-format-attribute
174 dnl -Wstrict-aliasing=2
176 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
177 AC_SUBST(AM_CPPFLAGS)
180 dnl define disable deprecated for EBook and ECal .am files
181 case "$WARNING_FLAGS" in
182 *E_BOOK_DISABLE_DEPRECATED*)
183 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 1 == 1 ])
186 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 0 == 1 ])
190 case "$WARNING_FLAGS" in
191 *E_CAL_DISABLE_DEPRECATED*)
192 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 1 == 1 ])
195 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 0 == 1 ])
199 dnl ******************************
200 dnl Initialize maintainer mode
201 dnl ******************************
202 AM_MAINTAINER_MODE([enable])
204 if test "x$enable_maintainer_mode" = "xyes" ; then
205 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
219 AC_MSG_ERROR([You need bison to build evolution-data-server])
223 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
224 dnl behavior that -- according to the C99 standard -- is supposed to be
225 dnl undefined. We may still have aliasing abuses lying around that rely
226 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
227 dnl optimization until we can find and fix all the abuses.
228 dnl (AC_PROG_CC must run first to set the GCC variable.)
229 dnl XXX This really belongs in AM_CFLAGS.
230 if test "x${GCC}" = "xyes"; then
231 CFLAGS="$CFLAGS -fno-strict-aliasing"
234 dnl ******************************
235 dnl Test whether jw is installed
236 dnl ******************************
237 AC_PATH_PROG(JW,jw,no)
238 if test "x$JW" = "xno"; then
243 AM_CONDITIONAL(HAVE_JW, test "x$HAVE_JW" = "xyes")
246 dnl ******************************
248 dnl ******************************
249 IT_PROG_INTLTOOL([0.35.5])
251 AM_GNU_GETTEXT_VERSION([0.17])
252 AM_GNU_GETTEXT([external])
254 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
255 AC_SUBST(GETTEXT_PACKAGE)
256 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
258 localedir='$(prefix)/$(DATADIRNAME)/locale'
261 dnl ******************************
262 dnl Initialize libtool
263 dnl ******************************
265 LT_INIT(disable-static win32-dll)
269 dnl ******************************
271 dnl ******************************
272 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
274 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
277 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
280 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
284 dnl ******************************
286 dnl ******************************
287 AC_MSG_CHECKING([for Win32])
291 NO_UNDEFINED='-no-undefined'
292 SOCKET_LIBS='-lws2_32 -ldnsapi'
294 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
295 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
296 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
303 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
310 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
313 AC_MSG_RESULT([$os_win32])
314 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
315 AC_SUBST(NO_UNDEFINED)
316 AC_SUBST(SOCKET_LIBS)
317 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
319 dnl **************************************
320 dnl Check for posix compatible sys/wait.h
321 dnl **************************************
324 dnl ************************************
325 dnl Check for posix compatible alloca()
326 dnl ************************************
329 dnl ******************************
330 dnl Checks for functions
331 dnl ******************************
332 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
334 dnl ***********************************
335 dnl Check for base dependencies early.
336 dnl ***********************************
337 PKG_CHECK_MODULES(GNOME_PLATFORM,
338 [gio-2.0 >= glib_minimum_version
339 gmodule-2.0 >= glib_minimum_version
340 gtk+-3.0 >= gtk_minimum_version
341 gconf-2.0 >= gconf_minimum_version
342 libxml-2.0 >= libxml_minimum_version
343 libsoup-2.4 >= libsoup_minimum_version
344 libgdata >= libgdata_minimum_version])
346 if test x$os_win32 = xno; then
347 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
350 dnl *******************************
351 dnl Check for GNOME Online Accounts
352 dnl *******************************
354 [AS_HELP_STRING([--enable-goa],
355 [enable GNOME Online Accounts support (default=yes)])],
356 [enable_goa=$enableval], [enable_goa=yes])
357 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
358 AC_MSG_RESULT([$enable_goa])
359 if test "x$enable_goa" = xyes; then
360 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
361 [AC_MSG_ERROR([goa-1.0 not found (or version < goa_minimum_version),
362 If you want to disable GNOME Online Accounts support,
363 please append --disable-goa to configure.])])
365 PKG_CHECK_MODULES([OAUTH], [oauth >= oauth_minimum_version],,
366 [AC_MSG_ERROR([oauth not found (or version < oauth_minimum_version),
367 If you want to disable GNOME Online Accounts support,
368 please append --disable-goa to configure.])])
370 if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
371 AC_DEFINE(HAVE_GOA,1,[Have goa-1.0 and libgdata >= 0.9.1])
374 libgdata >= 0.9.1 is required for GNOME Online Accounts support.
375 If you want to disable GNOME Online Accounts support, please
376 append --disable-goa to configure.])
379 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
381 if test x$os_win32 = xno; then
382 dnl ***********************************
383 dnl Check for GNOME Keyring.
384 dnl ***********************************
385 PKG_CHECK_MODULES(GNOME_KEYRING,
386 [gnome-keyring-1 >= gnome_keyring_minimum_version])
390 LIBICAL_REQUIRED=libical_minimum_version
391 AC_SUBST(LIBICAL_REQUIRED)
393 dnl ******************************
395 dnl ******************************
396 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
398 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
399 [AC_MSG_ERROR([No regex library found])])])
402 dnl ******************************
404 dnl ******************************
406 AS_HELP_STRING([--with-libdb=PREFIX],
407 [Prefix where libdb is installed]),
408 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
410 DB_CFLAGS="-I$libdb_prefix/include"
411 DB_LIBS="-L$libdb_prefix/lib -ldb"
413 AC_MSG_CHECKING([Berkeley DB])
414 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
415 save_libs=$LIBS; LIBS="$DB_LIBS"
416 AC_LINK_IFELSE([AC_LANG_PROGRAM(
418 [[db_create(NULL, NULL, 0)]])],
419 [AC_MSG_RESULT([yes])],
420 [AC_MSG_ERROR([Cannot find libdb])])
426 dnl ******************************
428 dnl ******************************
432 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
433 AC_LINK_IFELSE([AC_LANG_PROGRAM(
440 cd = iconv_open ("UTF-8", "ISO-8859-1");
442 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
444 if test "x$ac_cv_libiconv" = "xyes"; then
446 if test "x$os_win32" = "xyes"; then
447 dnl Don't pointlessly auto-export the global symbols
448 dnl from a potentially static libiconv.a
449 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
454 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
457 if test "x$have_iconv" = "xyes"; then
458 if test "x$ac_cv_libiconv" = "xno"; then
459 AC_CHECK_FUNCS(gnu_get_libc_version)
461 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
462 AC_RUN_IFELSE([AC_LANG_SOURCE([[
466 #ifdef HAVE_GNU_GET_LIBC_VERSION
467 #include <gnu/libc-version.h>
470 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
471 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
472 char *transbuf = malloc (10), *trans = transbuf;
474 size_t jp_len = strlen (jp), utf8_len = 10;
475 size_t utf8_real_len = strlen (utf8);
477 #ifdef HAVE_GNU_GET_LIBC_VERSION
478 /* glibc 2.1.2's iconv is broken in hard to test ways. */
479 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
483 cd = iconv_open ("UTF-8", "ISO-2022-JP");
484 if (cd == (iconv_t) -1)
486 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
488 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
492 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
495 if test "x$have_iconv" = "xno"; then
496 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
500 CFLAGS="$CFLAGS -I$srcdir"
502 AC_MSG_CHECKING([preferred charset name formats for system iconv])
503 AC_RUN_IFELSE([AC_LANG_SOURCE([[
505 #include "iconv-detect.c"
507 [AC_MSG_RESULT([found])],
508 [AC_MSG_RESULT([not found])
510 *** The iconv-detect program was unable to determine the
511 *** preferred charset name formats recognized by your
512 *** iconv library. It is suggested that you install a
513 *** working iconv library such as the one found at
514 *** ftp://ftp.gnu.org/pub/gnu/libiconv
516 [if test "x$os_win32" = xyes; then
517 AC_MSG_RESULT([using known win32 result])
518 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
519 echo >>iconv-detect.h
520 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
521 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
522 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
524 AC_MSG_RESULT([unknown])
526 *** We can't determine the preferred charset name formats
527 *** recognized by your iconv library. You are
528 *** cross-compiling and supposed to know what you are doing.
529 *** Please construct the iconv-detect.h file manually.
534 CFLAGS="$save_CFLAGS"
537 AC_ARG_ENABLE([backtraces],
538 [AS_HELP_STRING([--enable-backtraces],
539 [enable backtraces for e_pointer_tracker (default=no)])],
540 [enable_backtraces=$enableval], [enable_backtraces=no])
542 if test "x$enable_backtraces" = xyes; then
543 dnl ****************************
544 dnl Check for backtrace_symbols function and dwfl from elfutils
545 dnl ****************************
546 AC_MSG_CHECKING([libc backtrace_symbols function])
547 AC_LINK_IFELSE([AC_LANG_PROGRAM(
548 [[#include <execinfo.h>]],
549 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
550 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
551 AC_MSG_RESULT([$ac_cv_have_bsf])
553 if test "x$ac_cv_have_bsf" = xyes; then
556 AC_MSG_CHECKING([elfutils/libdwfl])
557 AC_LINK_IFELSE([AC_LANG_PROGRAM(
558 [[#include <elfutils/libdwfl.h>]],
562 Dwarf_Addr module_low_addr;
565 dwfl_standard_find_debuginfo;
566 dwfl_linux_proc_find_elf;
568 dwfl_linux_proc_report (NULL, 1);
569 dwfl_report_end (NULL, NULL, NULL);
571 dwfl_module_addrname (NULL, NULL);
572 dwfl_module_getsrc (NULL, NULL);
573 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
574 DWARF_CB_ABORT; DWARF_CB_OK;
575 dwfl_getmodules (NULL, NULL, NULL, 0);
577 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
578 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
582 if test "x$ac_cv_have_elfdwfl" = xyes; then
584 AC_SUBST(LIBDWFL_LIBS)
589 dnl **********************************
590 dnl Check for nl_langinfo and CODESET
591 dnl **********************************
592 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
593 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
594 [[#include <langinfo.h>]],
595 [[char *codeset = nl_langinfo (CODESET);]]
596 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
597 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
598 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
600 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
602 dnl *******************************************************
603 dnl Check to see if strftime supports the use of %l and %k
604 dnl *******************************************************
605 AC_MSG_CHECKING([for %l and %k support in strftime])
606 AC_RUN_IFELSE([AC_LANG_SOURCE(
607 [[ #include <stdlib.h>
610 int main(int argc, char **argv) {
616 timeinfo=localtime(&rawtime);
618 strftime(buf, 10, "%lx%k", timeinfo);
620 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
627 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
628 AC_MSG_RESULT([$ac_cv_lkstrftime])
630 dnl ********************************************************************************
631 dnl security extension support (SSL and S/MIME)
633 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
634 dnl needed by Camel (SSL and S/MIME).
636 dnl The Evolution security extensions are only built if these libraries are found
637 dnl ********************************************************************************
640 AC_ARG_ENABLE([smime],
641 AS_HELP_STRING([--enable-smime],
642 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
643 [enable_smime="$enableval"],[enable_smime="yes"])
645 AC_ARG_WITH([nspr-includes],
646 AS_HELP_STRING([--with-nspr-includes],
647 [Prefix of Mozilla nspr4 includes.]),
648 [with_nspr_includes="$withval"])
650 AC_ARG_WITH([nspr-libs],
651 AS_HELP_STRING([--with-nspr-libs],
652 [Prefix of Mozilla nspr4 libs.]),
653 [with_nspr_libs="$withval"])
655 AC_ARG_WITH([nss-includes],
656 AS_HELP_STRING([--with-nss-includes],
657 [Prefix of Mozilla nss3 includes.]),
658 [with_nss_includes="$withval"])
660 AC_ARG_WITH([nss-libs],
661 AS_HELP_STRING([--with-nss-libs],
662 [Prefix of Mozilla nss3 libs.]),
663 [with_nss_libs="$withval"])
665 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
671 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
672 if test "x${check_manually}" = "xno"; then
673 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
674 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
675 for pc in $mozilla_nspr_pcs; do
676 if $PKG_CONFIG --exists $pc; then
683 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
684 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
685 for pc in $mozilla_nss_pcs; do
686 if $PKG_CONFIG --exists $pc; then
693 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
694 if test "x$enable_smime" = "xyes"; then
695 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
698 MANUAL_NSPR_CFLAGS=""
709 if test "x${check_manually}" = "xyes"; then
710 dnl ******************
712 dnl ******************
713 AC_MSG_CHECKING([for Mozilla nspr4 includes])
714 CPPFLAGS_save="$CPPFLAGS"
715 if test -n "$with_nspr_includes"; then
716 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
719 AC_CHECK_HEADERS(nspr.h prio.h,
720 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
721 CPPFLAGS="$CPPFLAGS_save"
723 if test "x${moz_nspr_includes}" = "xyes"; then
724 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
726 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
728 AC_MSG_RESULT([$moz_nspr_includes])
730 AC_MSG_CHECKING([for Mozilla nspr libraries])
731 CFLAGS_save="$CFLAGS"
732 LDFLAGS_save="$LDFLAGS"
734 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
736 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
738 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
739 if test -n "${with_nspr_libs}"; then
740 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
745 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
746 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
748 CFLAGS="$CFLAGS_save"
749 LDFLAGS="$LDFLAGS_save"
752 if test "x${moz_nspr_libs}" = "xyes"; then
753 if test -n "${with_nspr_libs}"; then
754 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
756 MANUAL_NSPR_LIBS="$nsprlibs"
759 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
761 AC_MSG_RESULT([$moz_nspr_libs])
763 dnl *****************
765 dnl *****************
766 AC_MSG_CHECKING([for Mozilla nss3 includes])
767 CPPFLAGS_save="$CPPFLAGS"
768 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
770 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
771 [moz_nss_includes="yes"],[moz_nss_includes="no"])
772 CPPFLAGS="$CPPFLAGS_save"
774 if test "x${moz_nss_includes}" = "xyes"; then
775 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
777 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
779 AC_MSG_RESULT($moz_nss_includes)
781 AC_MSG_CHECKING([for Mozilla nss libraries])
782 LDFLAGS_save="$LDFLAGS"
784 nsslibs="-lssl3 -lsmime3 -lnss3"
786 LIBS="$nsslibs $nsprlibs"
787 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
788 if test -n "${with_nss_libs}"; then
789 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
791 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
794 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
795 [moz_nss_libs="yes"],[moz_nss_libs="no"])
796 LDFLAGS="$LDFLAGS_save"
799 if test "x${moz_nss_libs}" = "xyes"; then
800 if test "x${enable_smime}" = "xyes"; then
801 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
804 if test -n "${with_nss_libs}"; then
805 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
807 MANUAL_NSS_LIBS="$nsslibs"
810 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
812 AC_MSG_RESULT([$moz_nss_libs])
814 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
815 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
818 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
820 dnl For pkgconfig files.
821 AC_SUBST(mozilla_nss)
822 AC_SUBST(mozilla_nspr)
824 AC_SUBST(MANUAL_NSPR_CFLAGS)
825 AC_SUBST(MANUAL_NSPR_LIBS)
826 AC_SUBST(MANUAL_NSS_CFLAGS)
827 AC_SUBST(MANUAL_NSS_LIBS)
829 dnl ******************************
830 dnl system mail stuff
831 dnl ******************************
832 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
833 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
835 AC_MSG_CHECKING([system mail directory])
836 if test -d /var/mail -a '!' -h /var/mail ; then
837 system_mail_dir="/var/mail"
839 system_mail_dir="/var/spool/mail"
841 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
843 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
845 CAMEL_LOCK_HELPER_USER=""
846 CAMEL_LOCK_HELPER_GROUP=""
847 system_mail_perm="world writable"
850 CAMEL_LOCK_HELPER_USER=""
851 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
852 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
855 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
856 CAMEL_LOCK_HELPER_GROUP=""
857 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
860 CAMEL_LOCK_HELPER_USER=""
861 CAMEL_LOCK_HELPER_GROUP=""
862 system_mail_perm="???"
866 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
867 AC_SUBST(CAMEL_LOCK_HELPER_USER)
868 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
870 dnl ******************************
872 dnl ******************************
873 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
874 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
875 [[ #include <time.h> ]],
880 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
881 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
882 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
884 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
885 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
886 [[ #include <time.h> ]],
888 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
889 if test "x$ac_cv_var_timezone" = "xyes"; then
890 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
891 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
892 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
893 [[ #include <time.h> ]],
895 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
896 if test "x$ac_cv_var_altzone" = "xyes"; then
897 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
900 AC_MSG_ERROR([unable to find a way to determine timezone])
904 dnl ******************************
905 dnl ctime_r prototype
906 dnl ******************************
907 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
909 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
910 [[ #include <time.h> ]],
913 ctime_r (&date, buf, 100); ]]
914 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
917 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
918 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
921 dnl ******************************
922 dnl gethostbyname_r prototype
923 dnl ******************************
924 AC_CHECK_FUNCS(gethostbyname_r,[
925 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
927 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
929 #include "confdefs.h"
930 #include <sys/types.h>
931 #include <sys/socket.h>
932 #include <netinet/in.h>
934 #define BUFSIZE (sizeof(struct hostent)+10)
938 char buffer[BUFSIZE];
941 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
943 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
946 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
947 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
950 dnl ******************************
951 dnl gethostbyaddr_r prototype
952 dnl ******************************
953 AC_CHECK_FUNCS(gethostbyaddr_r,[
954 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
956 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
958 #include "confdefs.h"
959 #include <sys/types.h>
960 #include <sys/socket.h>
961 #include <netinet/in.h>
963 #define BUFSIZE (sizeof(struct hostent)+10)
967 char buffer[BUFSIZE];
970 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
971 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
974 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
975 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
978 dnl ******************************
979 dnl stat(v)fs location/type
980 dnl ******************************
981 AC_CHECK_HEADER([sys/statvfs.h],
982 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
983 [[ #if HAVE_SYS_STATVFS_H
984 #include <sys/statvfs.h>
987 AC_CHECK_FUNCS(statvfs)
989 AC_CHECK_HEADER([sys/param.h],
990 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
991 [[ #if HAVE_SYS_PARAM_H
992 #include <sys/param.h>
995 AC_CHECK_HEADER([sys/mount.h],
996 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
997 [[ #if HAVE_SYS_MOUNT_H
998 #include <sys/mount.h>
1001 AC_CHECK_FUNCS(statfs)
1003 dnl ******************************
1004 dnl IPv6 support and getaddrinfo calls
1005 dnl ******************************
1006 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1008 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1009 [[ #include "confdefs.h"
1010 #include <sys/types.h>
1011 #include <sys/socket.h>
1012 #include <netinet/in.h>
1016 [[ #ifndef NI_MAXHOST
1017 #define NI_MAXHOST 1025
1021 #define NI_MAXSERV 32
1024 struct addrinfo hints, *res;
1025 struct sockaddr_in6 sin6;
1027 char host[NI_MAXHOST];
1028 char serv[NI_MAXSERV];
1030 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1032 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1033 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1036 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1037 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1038 if test "x$enable_ipv6" = "xyes" ; then
1039 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1043 AC_ARG_ENABLE([ipv6],
1044 AS_HELP_STRING([--enable-ipv6=no/yes],
1045 [Enable support for resolving IPv6 addresses.]),
1046 [enable_ipv6=$enableval],[enable_ipv6=yes])
1047 if test "x$enable_ipv6" = "xyes"; then
1049 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1050 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1051 [[ #include "confdefs.h"
1052 #include <sys/types.h>
1053 #include <sys/socket.h>
1054 #include <netinet/in.h>
1057 [[ struct addrinfo hints;
1058 hints.ai_flags = AI_ADDRCONFIG;
1060 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1066 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1068 AC_CHECK_HEADER([wspiapi.h],
1069 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1071 dnl **********************************
1072 dnl Weather calendar backend support
1073 dnl **********************************
1074 AC_MSG_CHECKING([if we should build the weather calendar backend])
1075 AC_ARG_ENABLE([weather],
1076 [AS_HELP_STRING([--enable-weather],
1077 [Build the weather calendar backend (default=yes)])],
1078 [use_gweather=$enableval], [use_gweather=yes])
1080 AC_MSG_RESULT([$use_gweather])
1081 if test "x$use_gweather" = "xyes"; then
1082 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1083 [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.])])
1085 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1087 dnl ******************************
1089 dnl ******************************
1090 AC_ARG_ENABLE([nntp],
1091 AS_HELP_STRING([--enable-nntp],
1092 [Build Usenet news (NNTP) backend]),
1093 [enable_nntp=$enableval],[enable_nntp=yes])
1094 if test "x$enable_nntp" = "xyes"; then
1095 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1100 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1102 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1104 dnl ******************************
1106 dnl ******************************
1107 AC_ARG_ENABLE([dot-locking],
1108 AS_HELP_STRING([--enable-dot-locking=yes/no],
1109 [Enable support for locking mail files with dot locking]),
1110 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1112 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1113 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1119 AC_ARG_ENABLE([file-locking],
1120 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1121 [Enable support for locking mail files with file locking]),
1122 [],[enable_file_locking=fcntl])
1124 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1125 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1128 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1129 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1136 dnl ******************************
1137 dnl sendmail operation
1138 dnl ******************************
1139 AC_MSG_CHECKING([for SunOS broken spool format])
1140 if test "x$host_os" = "xsunos" ; then
1141 with_broken_spool="yes"
1144 AC_ARG_WITH([broken-spool],
1145 AS_HELP_STRING([--with-broken-spool=yes/no],
1146 [Using SunOS/Solaris sendmail which has a broken spool format]),
1147 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1149 if test "x$with_broken_spool" = "xyes"; then
1150 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1153 AC_MSG_RESULT([$with_broken_spool])
1155 dnl ******************************
1156 dnl DBus call timeout
1157 dnl ******************************
1159 AC_ARG_WITH([dbus-call-timeout],
1160 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1161 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1162 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1164 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1165 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1170 EVO_KRB5_SUPPORT(no)
1172 dnl ******************************
1174 dnl ******************************
1177 dnl ******************************
1179 dnl ******************************
1180 if test "x$os_win32" != "xyes"; then
1182 case $with_openldap in
1187 case $with_static_ldap in
1189 msg_ldap="$with_openldap (static)"
1192 msg_ldap="$with_openldap (dynamic)"
1197 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1198 if test "x$with_openldap" = "xno" ; then
1199 EVO_SUNLDAP_CHECK(no)
1200 case $with_sunldap in
1205 case $with_static_sunldap in
1207 msg_ldap="$with_sunldap (static)"
1210 msg_ldap="$with_sunldap (dynamic)"
1217 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1219 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1221 dnl Win32 LDAP support
1222 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1223 LDAP_LIBS="-lwldap32"
1224 AC_SUBST(LDAP_CFLAGS)
1226 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1227 AM_CONDITIONAL(ENABLE_LDAP, true)
1228 AM_CONDITIONAL(SUNLDAP, false)
1232 dnl ******************************
1233 dnl GObject marshalling
1234 dnl ******************************
1237 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1238 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1239 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1241 dnl ******************************
1242 dnl Utility macro to set compiler flags for a specific lib.
1243 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1244 dnl ******************************
1245 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1246 PKG_CHECK_MODULES([$1], [$2])
1247 $1_CFLAGS="[$]$1_CFLAGS $3 "
1248 $1_LIBS="[$]$1_LIBS $4 "
1251 dnl ******************************
1253 dnl ******************************
1254 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1256 dnl ******************************
1257 dnl libedataserver flags
1258 dnl ******************************
1259 E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"
1261 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1262 AC_SUBST(E_DATA_SERVER_CFLAGS)
1263 AC_SUBST(E_DATA_SERVER_LIBS)
1265 dnl ******************************
1266 dnl libedataserverui
1267 dnl ******************************
1268 E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
1270 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1271 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1272 AC_SUBST(E_DATA_SERVER_UI_LIBS)
1274 if test "x$enable_maintainer_mode" = "xyes" ; then
1275 FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1276 FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1277 AC_SUBST(FACTORY_GTK_CFLAGS)
1278 AC_SUBST(FACTORY_GTK_LIBS)
1281 E_BACKEND_DEPS="gio-2.0 gmodule-2.0 libxml-2.0 gconf-2.0"
1283 dnl ******************************
1284 dnl libebackend flags
1285 dnl ******************************
1286 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1287 AC_SUBST(E_BACKEND_CFLAGS)
1288 AC_SUBST(E_BACKEND_LIBS)
1290 dnl ******************************
1291 dnl evolution-addressbook flags
1292 dnl ******************************
1293 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1295 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1296 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1297 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1299 dnl ******************************
1300 dnl evolution-calendar flags
1301 dnl ******************************
1302 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
1305 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1306 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1307 dnl to differentiate between <libical/ical.h> and <ical.h>
1308 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1309 dnl libical is fixed, we have to work-around the buggy CFlags.
1311 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1312 LIBICAL_EXTRA_LIBS=""
1313 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1314 AC_SUBST(LIBICAL_EXTRA_LIBS)
1316 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1317 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1318 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1320 dnl ****************************
1321 dnl Check for ical_set_unknown_token_handling_setting function
1322 dnl ****************************
1323 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1324 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1325 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1326 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1327 [[#include <libical/ical.h>]],
1328 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1329 [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])
1332 AC_MSG_RESULT([$ac_cv_have_iuth])
1334 dnl ******************************
1336 dnl ******************************
1337 LIBGDATA_REQUIRED=libgdata_minimum_version
1338 AC_SUBST(LIBGDATA_REQUIRED)
1340 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1341 AC_SUBST(GDATA_CFLAGS)
1342 AC_SUBST(GDATA_LIBS)
1344 dnl ******************************
1346 dnl ******************************
1347 LIBSOUP_REQUIRED=libsoup_minimum_version
1348 AC_SUBST(LIBSOUP_REQUIRED)
1350 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1351 AC_SUBST(SOUP_CFLAGS)
1354 dnl ******************************
1356 dnl ******************************
1357 SQLITE_REQUIRED=sqlite_minimum_version
1358 AC_SUBST(SQLITE_REQUIRED)
1361 dnl deflateInit is a #define, use deflateEnd instead
1362 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1364 if test "x$zlib_found" = "xfalse"; then
1365 AC_MSG_ERROR([*** zlib is required])
1368 dnl ******************************
1369 dnl Checks for large file support
1370 dnl ******************************
1371 AC_ARG_ENABLE([largefile],
1372 AS_HELP_STRING([--enable-largefile],
1373 [enable support for large files [[default=no]]]),
1374 [],[enable_largefile="yes"])
1376 if test "x$enable_largefile" != "xno"; then
1378 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1379 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1380 [[ #include <sys/types.h>
1381 #include <sys/stat.h>
1384 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1385 )],[ac_cv_largefile64_source="no"],
1386 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1387 [[ #define _LARGEFILE64_SOURCE
1388 #include <sys/types.h>
1389 #include <sys/stat.h>
1392 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1393 [ac_cv_largefile64_source="unknown"])])
1396 enable_largefile="no"
1398 if test "x$ac_cv_largefile64_source" = "xyes"; then
1399 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1400 enable_largefile="yes"
1401 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1402 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1405 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1406 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1407 enable_largefile="yes"
1410 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1411 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1412 enable_largefile="yes"
1415 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1419 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1421 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)
1422 AC_SUBST(CAMEL_CFLAGS)
1423 AC_SUBST(CAMEL_LIBS)
1425 dnl ******************************
1426 dnl Special directories
1427 dnl ******************************
1429 dnl If you add something here, consider whether or not you also
1430 dnl need to add it to one or more .pc.in files (for Connector,
1433 privdatadir='${datadir}'/evolution-data-server-$BASE_VERSION
1434 AC_SUBST(privdatadir)
1436 privincludedir='${includedir}'/evolution-data-server-$BASE_VERSION
1437 AC_SUBST(privincludedir)
1439 privlibdir='${libdir}'/evolution-data-server-$BASE_VERSION
1440 AC_SUBST(privlibdir)
1442 imagesdir='${datadir}'/pixmaps/evolution-data-server
1445 ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
1446 AC_SUBST(ebook_backenddir)
1448 ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
1449 AC_SUBST(ecal_backenddir)
1451 if test "x$use_gweather" = "xyes"; then
1452 weatherdatadir="$privdatadir/weather"
1453 AC_SUBST(weatherdatadir)
1456 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1457 camel_providerdir='${libdir}'/evolution-data-server/camel-providers
1458 AC_SUBST(camel_providerdir)
1460 dnl *******************
1461 dnl D-BUS service stuff
1462 dnl *******************
1463 m4_pattern_allow([AM_V_GEN])
1464 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)|" $< > $@'
1465 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1467 dnl ******************************
1469 dnl ******************************
1470 AC_PATH_PROG(GCONFTOOL, gconftool-2, [no])
1473 dnl ******************************
1475 dnl ******************************
1476 AC_PATH_PROG(GPERF, gperf, [no])
1477 if test "x$GPERF" = "xno"; then
1478 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1481 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1483 dnl ******************************
1485 dnl ******************************
1486 AC_ARG_ENABLE(vala-bindings,
1487 AC_HELP_STRING([--enable-vala-bindings],
1488 [build the EXPERIMENTAL Vala bindings]),
1489 enable_vala_bindings=$enableval,
1490 enable_vala_bindings=no)
1492 if test x$enable_vala_bindings = xyes; then
1493 if test "x$INTROSPECTION_SCANNER" = x; then
1494 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1497 AM_PROG_VALAC([0.13.0])
1500 AC_PATH_PROG(VALAC, valac, valac)
1504 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1506 if test "x$VAPIGEN" = "xfalse"; then
1507 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1513 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1516 dnl ******************************
1518 dnl ******************************
1520 export privincludedir
1525 evolution-data-server-zip
1526 evolution-data-server.pc
1527 addressbook/Makefile
1528 addressbook/libebook/Makefile
1529 addressbook/libebook/libebook.pc
1530 addressbook/libedata-book/Makefile
1531 addressbook/libedata-book/libedata-book.pc
1532 addressbook/libegdbus/Makefile
1533 addressbook/backends/Makefile
1534 addressbook/backends/file/Makefile
1535 addressbook/backends/vcf/Makefile
1536 addressbook/backends/ldap/Makefile
1537 addressbook/backends/google/Makefile
1538 addressbook/backends/webdav/Makefile
1541 calendar/libecal/Makefile
1542 calendar/libecal/libecal.pc
1543 calendar/libedata-cal/Makefile
1544 calendar/libedata-cal/libedata-cal.pc
1545 calendar/libegdbus/Makefile
1546 calendar/backends/Makefile
1547 calendar/backends/caldav/Makefile
1548 calendar/backends/file/Makefile
1549 calendar/backends/http/Makefile
1550 calendar/backends/contacts/Makefile
1551 calendar/backends/weather/Makefile
1553 camel/providers/Makefile
1554 camel/providers/imap/Makefile
1555 camel/providers/imapx/Makefile
1556 camel/providers/local/Makefile
1557 camel/providers/nntp/Makefile
1558 camel/providers/pop3/Makefile
1559 camel/providers/sendmail/Makefile
1560 camel/providers/smtp/Makefile
1561 camel/tests/Makefile
1562 camel/tests/folder/Makefile
1563 camel/tests/lib/Makefile
1564 camel/tests/message/Makefile
1565 camel/tests/mime-filter/Makefile
1566 camel/tests/misc/Makefile
1567 camel/tests/smime/Makefile
1569 libebackend/Makefile
1570 libebackend/libebackend.pc
1571 libedataserver/Makefile
1572 libedataserver/eds-version.h
1573 libedataserver/libedataserver.pc
1574 libedataserverui/Makefile
1575 libedataserverui/libedataserverui.pc
1577 services/evolution-addressbook-factory/Makefile
1578 services/evolution-calendar-factory/Makefile
1580 tests/libebook/Makefile
1581 tests/libebook/client/Makefile
1582 tests/libebook/vcard/Makefile
1583 tests/libecal/Makefile
1584 tests/libecal/client/Makefile
1585 tests/libedata-cal/Makefile
1586 tests/libedataserver/Makefile
1587 tests/libedataserverui/Makefile
1589 docs/reference/Makefile
1590 docs/reference/addressbook/Makefile
1591 docs/reference/addressbook/libebook/Makefile
1592 docs/reference/addressbook/libedata-book/Makefile
1593 docs/reference/calendar/Makefile
1594 docs/reference/calendar/libecal/Makefile
1595 docs/reference/calendar/libedata-cal/Makefile
1596 docs/reference/camel/Makefile
1597 docs/reference/libedataserver/Makefile
1598 docs/reference/libedataserverui/Makefile
1599 docs/reference/libebackend/Makefile
1606 evolution-data-server has been configured as follows:
1607 Weather calendar: $use_gweather
1608 Mail Directory: $system_mail_dir, $system_mail_perm
1609 LDAP support: $msg_ldap
1610 NNTP support: $msg_nntp
1611 Kerberos 5: $msg_krb5
1612 SMIME support: $msg_smime
1613 IPv6 support: $msg_ipv6
1614 Dot Locking: $msg_dot
1615 File Locking: $msg_file
1616 Large files: $enable_largefile
1617 Gtk Doc: $enable_gtk_doc
1618 Introspection: $enable_introspection
1619 Vala bindings: $enable_vala_bindings
1620 GNOME Online Accounts $enable_goa