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], [1])
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.AddressBook2"
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=14
93 LIBEDATACAL_REVISION=0
96 LIBEDATABOOK_CURRENT=12
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,
149 "-DPANGO_DISABLE_DEPRECATED
150 -DGDK_PIXBUF_DISABLE_DEPRECATED
151 -DG_DISABLE_SINGLE_INCLUDES
152 -DGTK_DISABLE_SINGLE_INCLUDES
155 -Wno-missing-field-initializers
157 -Wno-unused-parameter
158 -Wdeclaration-after-statement
159 -Wformat-security -Winit-self
160 -Wmissing-declarations -Wmissing-include-dirs
161 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
162 -Wredundant-decls -Wundef -Wwrite-strings")
163 AC_SUBST(WARNING_FLAGS)
165 dnl More depracation from EBook/ECal:
166 dnl -DE_BOOK_DISABLE_DEPRECATED
167 dnl -DE_CAL_DISABLE_DEPRECATED
169 dnl Other useful compiler warnings for test builds only.
170 dnl These may produce warnings we have no control over,
171 dnl or false positives we don't always want to see.
173 dnl -Wformat-nonliteral
174 dnl -Wmissing-format-attribute
176 dnl -Wstrict-aliasing=2
177 dnl -Werror-implicit-function-declaration
179 AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
180 AC_SUBST(AM_CPPFLAGS)
183 dnl define disable deprecated for EBook and ECal .am files
184 case "$WARNING_FLAGS" in
185 *E_BOOK_DISABLE_DEPRECATED*)
186 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 1 == 1 ])
189 AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 0 == 1 ])
193 case "$WARNING_FLAGS" in
194 *E_CAL_DISABLE_DEPRECATED*)
195 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 1 == 1 ])
198 AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 0 == 1 ])
202 dnl ******************************
203 dnl Initialize maintainer mode
204 dnl ******************************
205 AM_MAINTAINER_MODE([enable])
207 if test "x$enable_maintainer_mode" = "xyes" ; then
208 AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
222 AC_MSG_ERROR([You need bison to build evolution-data-server])
226 dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
227 dnl behavior that -- according to the C99 standard -- is supposed to be
228 dnl undefined. We may still have aliasing abuses lying around that rely
229 dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
230 dnl optimization until we can find and fix all the abuses.
231 dnl (AC_PROG_CC must run first to set the GCC variable.)
232 dnl XXX This really belongs in AM_CFLAGS.
233 if test "x${GCC}" = "xyes"; then
234 CFLAGS="$CFLAGS -fno-strict-aliasing"
237 dnl ******************************
238 dnl Test whether jw is installed
239 dnl ******************************
240 AC_PATH_PROG(JW,jw,no)
241 if test "x$JW" = "xno"; then
246 AM_CONDITIONAL(HAVE_JW, test "x$HAVE_JW" = "xyes")
249 dnl ******************************
251 dnl ******************************
252 IT_PROG_INTLTOOL([0.35.5])
254 AM_GNU_GETTEXT_VERSION([0.17])
255 AM_GNU_GETTEXT([external])
257 GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
258 AC_SUBST(GETTEXT_PACKAGE)
259 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
261 localedir='$(prefix)/$(DATADIRNAME)/locale'
264 dnl ******************************
265 dnl Initialize libtool
266 dnl ******************************
268 LT_INIT(disable-static win32-dll)
272 dnl ******************************
274 dnl ******************************
277 dnl This must appear after AC_CANONICAL_HOST, which defines $host.
280 dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
283 LDFLAGS="$LDFLAGS -Wl,--no-undefined"
287 dnl ******************************
289 dnl ******************************
290 AC_MSG_CHECKING([for Win32])
294 NO_UNDEFINED='-no-undefined'
295 SOCKET_LIBS='-lws2_32 -ldnsapi'
297 LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
298 AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
299 AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
306 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
313 LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
316 AC_MSG_RESULT([$os_win32])
317 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
318 AC_SUBST(NO_UNDEFINED)
319 AC_SUBST(SOCKET_LIBS)
320 AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
322 dnl **************************************
323 dnl Check for posix compatible sys/wait.h
324 dnl **************************************
327 dnl ************************************
328 dnl Check for posix compatible alloca()
329 dnl ************************************
332 dnl ******************************
333 dnl Checks for functions
334 dnl ******************************
335 AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
337 dnl ***********************************
338 dnl Check for base dependencies early.
339 dnl ***********************************
340 PKG_CHECK_MODULES(GNOME_PLATFORM,
341 [gio-2.0 >= glib_minimum_version
342 gtk+-3.0 >= gtk_minimum_version
343 gconf-2.0 >= gconf_minimum_version
344 libxml-2.0 >= libxml_minimum_version
345 libsoup-2.4 >= libsoup_minimum_version
346 libgdata >= libgdata_minimum_version])
348 if test x$os_win32 = xno; then
349 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
352 dnl *******************************
353 dnl Check for GNOME Online Accounts
354 dnl *******************************
356 [AS_HELP_STRING([--enable-goa],
357 [enable GNOME Online Accounts support (default=yes)])],
358 [enable_goa=$enableval], [enable_goa=yes])
359 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
360 AC_MSG_RESULT([$enable_goa])
361 if test "x$enable_goa" = xyes; then
362 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
363 [AC_MSG_ERROR([goa-1.0 not found (or version < goa_minimum_version),
364 If you want to disable GNOME Online Accounts support,
365 please append --disable-goa to configure.])])
367 PKG_CHECK_MODULES([OAUTH], [oauth >= oauth_minimum_version],,
368 [AC_MSG_ERROR([oauth not found (or version < oauth_minimum_version),
369 If you want to disable GNOME Online Accounts support,
370 please append --disable-goa to configure.])])
372 if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
373 AC_DEFINE(HAVE_GOA,1,[Have goa-1.0 and libgdata >= 0.9.1])
376 libgdata >= 0.9.1 is required for GNOME Online Accounts support.
377 If you want to disable GNOME Online Accounts support, please
378 append --disable-goa to configure.])
381 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
383 if test x$os_win32 = xno; then
384 dnl ***********************************
385 dnl Check for GNOME Keyring.
386 dnl ***********************************
387 PKG_CHECK_MODULES(GNOME_KEYRING,
388 [gnome-keyring-1 >= gnome_keyring_minimum_version])
392 LIBICAL_REQUIRED=libical_minimum_version
393 AC_SUBST(LIBICAL_REQUIRED)
395 dnl ******************************
397 dnl ******************************
398 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
400 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
401 [AC_MSG_ERROR([No regex library found])])])
404 dnl ******************************
406 dnl ******************************
408 AS_HELP_STRING([--with-libdb=PREFIX],
409 [Prefix where libdb is installed]),
410 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
412 DB_CFLAGS="-I$libdb_prefix/include"
413 DB_LIBS="-L$libdb_prefix/lib -ldb"
415 AC_MSG_CHECKING([Berkeley DB])
416 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
417 save_libs=$LIBS; LIBS="$DB_LIBS"
418 AC_LINK_IFELSE([AC_LANG_PROGRAM(
420 [[db_create(NULL, NULL, 0)]])],
421 [AC_MSG_RESULT([yes])],
422 [AC_MSG_ERROR([Cannot find libdb])])
428 dnl ******************************
430 dnl ******************************
434 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
435 AC_LINK_IFELSE([AC_LANG_PROGRAM(
442 cd = iconv_open ("UTF-8", "ISO-8859-1");
444 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
446 if test "x$ac_cv_libiconv" = "xyes"; then
448 if test "x$os_win32" = "xyes"; then
449 dnl Don't pointlessly auto-export the global symbols
450 dnl from a potentially static libiconv.a
451 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
456 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
459 if test "x$have_iconv" = "xyes"; then
460 if test "x$ac_cv_libiconv" = "xno"; then
461 AC_CHECK_FUNCS(gnu_get_libc_version)
463 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
464 AC_RUN_IFELSE([AC_LANG_SOURCE([[
468 #ifdef HAVE_GNU_GET_LIBC_VERSION
469 #include <gnu/libc-version.h>
472 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
473 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
474 char *transbuf = malloc (10), *trans = transbuf;
476 size_t jp_len = strlen (jp), utf8_len = 10;
477 size_t utf8_real_len = strlen (utf8);
479 #ifdef HAVE_GNU_GET_LIBC_VERSION
480 /* glibc 2.1.2's iconv is broken in hard to test ways. */
481 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
485 cd = iconv_open ("UTF-8", "ISO-2022-JP");
486 if (cd == (iconv_t) -1)
488 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
490 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
494 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
497 if test "x$have_iconv" = "xno"; then
498 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
502 CFLAGS="$CFLAGS -I$srcdir"
504 AC_MSG_CHECKING([preferred charset name formats for system iconv])
505 AC_RUN_IFELSE([AC_LANG_SOURCE([[
507 #include "iconv-detect.c"
509 [AC_MSG_RESULT([found])],
510 [AC_MSG_RESULT([not found])
512 *** The iconv-detect program was unable to determine the
513 *** preferred charset name formats recognized by your
514 *** iconv library. It is suggested that you install a
515 *** working iconv library such as the one found at
516 *** ftp://ftp.gnu.org/pub/gnu/libiconv
518 [if test "x$os_win32" = xyes; then
519 AC_MSG_RESULT([using known win32 result])
520 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
521 echo >>iconv-detect.h
522 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
523 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
524 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
526 AC_MSG_RESULT([unknown])
528 *** We can't determine the preferred charset name formats
529 *** recognized by your iconv library. You are
530 *** cross-compiling and supposed to know what you are doing.
531 *** Please construct the iconv-detect.h file manually.
536 CFLAGS="$save_CFLAGS"
539 AC_ARG_ENABLE([backtraces],
540 [AS_HELP_STRING([--enable-backtraces],
541 [enable backtraces for e_pointer_tracker (default=no)])],
542 [enable_backtraces=$enableval], [enable_backtraces=no])
544 if test "x$enable_backtraces" = xyes; then
545 dnl ****************************
546 dnl Check for backtrace_symbols function and dwfl from elfutils
547 dnl ****************************
548 AC_MSG_CHECKING([libc backtrace_symbols function])
549 AC_LINK_IFELSE([AC_LANG_PROGRAM(
550 [[#include <execinfo.h>]],
551 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
552 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
553 AC_MSG_RESULT([$ac_cv_have_bsf])
555 if test "x$ac_cv_have_bsf" = xyes; then
558 AC_MSG_CHECKING([elfutils/libdwfl])
559 AC_LINK_IFELSE([AC_LANG_PROGRAM(
560 [[#include <elfutils/libdwfl.h>]],
564 Dwarf_Addr module_low_addr;
567 dwfl_standard_find_debuginfo;
568 dwfl_linux_proc_find_elf;
570 dwfl_linux_proc_report (NULL, 1);
571 dwfl_report_end (NULL, NULL, NULL);
573 dwfl_module_addrname (NULL, NULL);
574 dwfl_module_getsrc (NULL, NULL);
575 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
576 DWARF_CB_ABORT; DWARF_CB_OK;
577 dwfl_getmodules (NULL, NULL, NULL, 0);
579 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
580 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
584 if test "x$ac_cv_have_elfdwfl" = xyes; then
586 AC_SUBST(LIBDWFL_LIBS)
591 dnl **********************************
592 dnl Check for nl_langinfo and CODESET
593 dnl **********************************
594 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
595 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
596 [[#include <langinfo.h>]],
597 [[char *codeset = nl_langinfo (CODESET);]]
598 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
599 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
600 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
602 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
604 dnl *******************************************************
605 dnl Check to see if strftime supports the use of %l and %k
606 dnl *******************************************************
607 AC_MSG_CHECKING([for %l and %k support in strftime])
608 AC_RUN_IFELSE([AC_LANG_SOURCE(
609 [[ #include <stdlib.h>
612 int main(int argc, char **argv) {
618 timeinfo=localtime(&rawtime);
620 strftime(buf, 10, "%lx%k", timeinfo);
622 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
629 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
630 AC_MSG_RESULT([$ac_cv_lkstrftime])
632 dnl ********************************************************************************
633 dnl security extension support (SSL and S/MIME)
635 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
636 dnl needed by Camel (SSL and S/MIME).
638 dnl The Evolution security extensions are only built if these libraries are found
639 dnl ********************************************************************************
642 AC_ARG_ENABLE([smime],
643 AS_HELP_STRING([--enable-smime],
644 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
645 [enable_smime="$enableval"],[enable_smime="yes"])
647 AC_ARG_WITH([nspr-includes],
648 AS_HELP_STRING([--with-nspr-includes],
649 [Prefix of Mozilla nspr4 includes.]),
650 [with_nspr_includes="$withval"])
652 AC_ARG_WITH([nspr-libs],
653 AS_HELP_STRING([--with-nspr-libs],
654 [Prefix of Mozilla nspr4 libs.]),
655 [with_nspr_libs="$withval"])
657 AC_ARG_WITH([nss-includes],
658 AS_HELP_STRING([--with-nss-includes],
659 [Prefix of Mozilla nss3 includes.]),
660 [with_nss_includes="$withval"])
662 AC_ARG_WITH([nss-libs],
663 AS_HELP_STRING([--with-nss-libs],
664 [Prefix of Mozilla nss3 libs.]),
665 [with_nss_libs="$withval"])
667 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
673 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
674 if test "x${check_manually}" = "xno"; then
675 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
676 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
677 for pc in $mozilla_nspr_pcs; do
678 if $PKG_CONFIG --exists $pc; then
685 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
686 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
687 for pc in $mozilla_nss_pcs; do
688 if $PKG_CONFIG --exists $pc; then
695 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
696 if test "x$enable_smime" = "xyes"; then
697 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
700 MANUAL_NSPR_CFLAGS=""
711 if test "x${check_manually}" = "xyes"; then
712 dnl ******************
714 dnl ******************
715 AC_MSG_CHECKING([for Mozilla nspr4 includes])
716 CPPFLAGS_save="$CPPFLAGS"
717 if test -n "$with_nspr_includes"; then
718 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
721 AC_CHECK_HEADERS(nspr.h prio.h,
722 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
723 CPPFLAGS="$CPPFLAGS_save"
725 if test "x${moz_nspr_includes}" = "xyes"; then
726 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
728 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
730 AC_MSG_RESULT([$moz_nspr_includes])
732 AC_MSG_CHECKING([for Mozilla nspr libraries])
733 CFLAGS_save="$CFLAGS"
734 LDFLAGS_save="$LDFLAGS"
736 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
738 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
740 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
741 if test -n "${with_nspr_libs}"; then
742 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
747 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
748 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
750 CFLAGS="$CFLAGS_save"
751 LDFLAGS="$LDFLAGS_save"
754 if test "x${moz_nspr_libs}" = "xyes"; then
755 if test -n "${with_nspr_libs}"; then
756 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
758 MANUAL_NSPR_LIBS="$nsprlibs"
761 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
763 AC_MSG_RESULT([$moz_nspr_libs])
765 dnl *****************
767 dnl *****************
768 AC_MSG_CHECKING([for Mozilla nss3 includes])
769 CPPFLAGS_save="$CPPFLAGS"
770 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
772 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
773 [moz_nss_includes="yes"],[moz_nss_includes="no"])
774 CPPFLAGS="$CPPFLAGS_save"
776 if test "x${moz_nss_includes}" = "xyes"; then
777 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
779 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
781 AC_MSG_RESULT($moz_nss_includes)
783 AC_MSG_CHECKING([for Mozilla nss libraries])
784 LDFLAGS_save="$LDFLAGS"
786 nsslibs="-lssl3 -lsmime3 -lnss3"
788 LIBS="$nsslibs $nsprlibs"
789 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
790 if test -n "${with_nss_libs}"; then
791 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
793 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
796 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
797 [moz_nss_libs="yes"],[moz_nss_libs="no"])
798 LDFLAGS="$LDFLAGS_save"
801 if test "x${moz_nss_libs}" = "xyes"; then
802 if test "x${enable_smime}" = "xyes"; then
803 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
806 if test -n "${with_nss_libs}"; then
807 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
809 MANUAL_NSS_LIBS="$nsslibs"
812 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
814 AC_MSG_RESULT([$moz_nss_libs])
816 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
817 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
820 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
822 dnl For pkgconfig files.
823 AC_SUBST(mozilla_nss)
824 AC_SUBST(mozilla_nspr)
826 AC_SUBST(MANUAL_NSPR_CFLAGS)
827 AC_SUBST(MANUAL_NSPR_LIBS)
828 AC_SUBST(MANUAL_NSS_CFLAGS)
829 AC_SUBST(MANUAL_NSS_LIBS)
831 dnl ******************************
832 dnl system mail stuff
833 dnl ******************************
834 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
835 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
837 AC_MSG_CHECKING([system mail directory])
838 if test -d /var/mail -a '!' -h /var/mail ; then
839 system_mail_dir="/var/mail"
841 system_mail_dir="/var/spool/mail"
843 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
845 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
847 CAMEL_LOCK_HELPER_USER=""
848 CAMEL_LOCK_HELPER_GROUP=""
849 system_mail_perm="world writable"
852 CAMEL_LOCK_HELPER_USER=""
853 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
854 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
857 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
858 CAMEL_LOCK_HELPER_GROUP=""
859 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
862 CAMEL_LOCK_HELPER_USER=""
863 CAMEL_LOCK_HELPER_GROUP=""
864 system_mail_perm="???"
868 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
869 AC_SUBST(CAMEL_LOCK_HELPER_USER)
870 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
872 dnl ******************************
874 dnl ******************************
875 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
876 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
877 [[ #include <time.h> ]],
882 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
883 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
884 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
886 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
887 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
888 [[ #include <time.h> ]],
890 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
891 if test "x$ac_cv_var_timezone" = "xyes"; then
892 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
893 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
894 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
895 [[ #include <time.h> ]],
897 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
898 if test "x$ac_cv_var_altzone" = "xyes"; then
899 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
902 AC_MSG_ERROR([unable to find a way to determine timezone])
906 dnl ******************************
907 dnl ctime_r prototype
908 dnl ******************************
909 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
911 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
912 [[ #include <time.h> ]],
915 ctime_r (&date, buf, 100); ]]
916 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
919 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
920 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
923 dnl ******************************
924 dnl gethostbyname_r prototype
925 dnl ******************************
926 AC_CHECK_FUNCS(gethostbyname_r,[
927 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
929 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
931 #include "confdefs.h"
932 #include <sys/types.h>
933 #include <sys/socket.h>
934 #include <netinet/in.h>
936 #define BUFSIZE (sizeof(struct hostent)+10)
940 char buffer[BUFSIZE];
943 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
945 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
948 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
949 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
952 dnl ******************************
953 dnl gethostbyaddr_r prototype
954 dnl ******************************
955 AC_CHECK_FUNCS(gethostbyaddr_r,[
956 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
958 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
960 #include "confdefs.h"
961 #include <sys/types.h>
962 #include <sys/socket.h>
963 #include <netinet/in.h>
965 #define BUFSIZE (sizeof(struct hostent)+10)
969 char buffer[BUFSIZE];
972 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
973 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
976 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
977 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
980 dnl ******************************
981 dnl stat(v)fs location/type
982 dnl ******************************
983 AC_CHECK_HEADER([sys/statvfs.h],
984 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
985 [[ #if HAVE_SYS_STATVFS_H
986 #include <sys/statvfs.h>
989 AC_CHECK_FUNCS(statvfs)
991 AC_CHECK_HEADER([sys/param.h],
992 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
993 [[ #if HAVE_SYS_PARAM_H
994 #include <sys/param.h>
997 AC_CHECK_HEADER([sys/mount.h],
998 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
999 [[ #if HAVE_SYS_MOUNT_H
1000 #include <sys/mount.h>
1003 AC_CHECK_FUNCS(statfs)
1005 dnl ******************************
1006 dnl IPv6 support and getaddrinfo calls
1007 dnl ******************************
1008 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1010 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1011 [[ #include "confdefs.h"
1012 #include <sys/types.h>
1013 #include <sys/socket.h>
1014 #include <netinet/in.h>
1018 [[ #ifndef NI_MAXHOST
1019 #define NI_MAXHOST 1025
1023 #define NI_MAXSERV 32
1026 struct addrinfo hints, *res;
1027 struct sockaddr_in6 sin6;
1029 char host[NI_MAXHOST];
1030 char serv[NI_MAXSERV];
1032 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1034 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1035 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1038 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1039 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1040 if test "x$enable_ipv6" = "xyes" ; then
1041 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1045 AC_ARG_ENABLE([ipv6],
1046 AS_HELP_STRING([--enable-ipv6=no/yes],
1047 [Enable support for resolving IPv6 addresses.]),
1048 [enable_ipv6=$enableval],[enable_ipv6=yes])
1049 if test "x$enable_ipv6" = "xyes"; then
1051 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1052 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1053 [[ #include "confdefs.h"
1054 #include <sys/types.h>
1055 #include <sys/socket.h>
1056 #include <netinet/in.h>
1059 [[ struct addrinfo hints;
1060 hints.ai_flags = AI_ADDRCONFIG;
1062 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1068 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1070 AC_CHECK_HEADER([wspiapi.h],
1071 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1073 dnl ******************************
1074 dnl Calendar support
1075 dnl ******************************
1076 AC_MSG_CHECKING([if we should build the calendar])
1077 AC_ARG_ENABLE([calendar],
1078 AS_HELP_STRING([--enable-calendar=yes/no],
1079 [Enable the calendar components (default yes)]),
1080 [enable_calendar=$enableval], [enable_calendar=yes])
1082 if test "x${enable_calendar}" != "xno"; then
1083 AC_DEFINE(ENABLE_CALENDAR, 1, [Define if Calendar should be built])
1085 AM_CONDITIONAL(ENABLE_CALENDAR, [test x$enable_calendar = xyes])
1086 AC_MSG_RESULT([$enable_calendar])
1087 msg_calendar=$enable_calendar
1089 dnl **********************************
1090 dnl Weather calendar backend support
1091 dnl **********************************
1092 AC_MSG_CHECKING([if we should build the weather calendar backend])
1093 AC_ARG_ENABLE([weather],
1094 [AS_HELP_STRING([--enable-weather],
1095 [Build the weather calendar backend (default=yes)])],
1096 [use_gweather=$enableval], [use_gweather=yes])
1097 if test "$enable_calendar" = "no"; then
1098 use_gweather="no (calendar support is disabled)"
1101 AC_MSG_RESULT([$use_gweather])
1102 if test "x$use_gweather" = "xyes"; then
1103 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1104 [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.])])
1106 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1108 dnl ******************************
1110 dnl ******************************
1111 AC_ARG_ENABLE([nntp],
1112 AS_HELP_STRING([--enable-nntp],
1113 [Build Usenet news (NNTP) backend]),
1114 [enable_nntp=$enableval],[enable_nntp=yes])
1115 if test "x$enable_nntp" = "xyes"; then
1116 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1121 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1123 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1125 dnl ******************************
1127 dnl ******************************
1128 AC_ARG_ENABLE([dot-locking],
1129 AS_HELP_STRING([--enable-dot-locking=yes/no],
1130 [Enable support for locking mail files with dot locking]),
1131 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1133 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1134 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1140 AC_ARG_ENABLE([file-locking],
1141 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1142 [Enable support for locking mail files with file locking]),
1143 [],[enable_file_locking=fcntl])
1145 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1146 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1149 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1150 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1157 dnl ******************************
1158 dnl sendmail operation
1159 dnl ******************************
1160 AC_MSG_CHECKING([for SunOS broken spool format])
1161 if test "x$host_os" = "xsunos" ; then
1162 with_broken_spool="yes"
1165 AC_ARG_WITH([broken-spool],
1166 AS_HELP_STRING([--with-broken-spool=yes/no],
1167 [Using SunOS/Solaris sendmail which has a broken spool format]),
1168 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1170 if test "x$with_broken_spool" = "xyes"; then
1171 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1174 AC_MSG_RESULT([$with_broken_spool])
1176 dnl ******************************
1177 dnl DBus call timeout
1178 dnl ******************************
1180 AC_ARG_WITH([dbus-call-timeout],
1181 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1182 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1183 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1185 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1186 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1191 EVO_KRB5_SUPPORT(no)
1193 dnl ******************************
1195 dnl ******************************
1198 dnl ******************************
1200 dnl ******************************
1201 if test "x$os_win32" != "xyes"; then
1203 case $with_openldap in
1208 case $with_static_ldap in
1210 msg_ldap="$with_openldap (static)"
1213 msg_ldap="$with_openldap (dynamic)"
1218 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1219 if test "x$with_openldap" = "xno" ; then
1220 EVO_SUNLDAP_CHECK(no)
1221 case $with_sunldap in
1226 case $with_static_sunldap in
1228 msg_ldap="$with_sunldap (static)"
1231 msg_ldap="$with_sunldap (dynamic)"
1238 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1240 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1242 dnl Win32 LDAP support
1243 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1244 LDAP_LIBS="-lwldap32"
1245 AC_SUBST(LDAP_CFLAGS)
1247 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1248 AM_CONDITIONAL(ENABLE_LDAP, true)
1249 AM_CONDITIONAL(SUNLDAP, false)
1253 dnl ******************************
1254 dnl GObject marshalling
1255 dnl ******************************
1258 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1259 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1260 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1262 dnl ******************************
1263 dnl Utility macro to set compiler flags for a specific lib.
1264 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1265 dnl ******************************
1266 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1267 PKG_CHECK_MODULES([$1], [$2])
1268 $1_CFLAGS="[$]$1_CFLAGS $3 "
1269 $1_LIBS="[$]$1_LIBS $4 "
1272 dnl ******************************
1274 dnl ******************************
1275 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1277 dnl ******************************
1278 dnl libedataserver flags
1279 dnl ******************************
1280 E_DATA_SERVER_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"
1282 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1283 AC_SUBST(E_DATA_SERVER_CFLAGS)
1284 AC_SUBST(E_DATA_SERVER_LIBS)
1286 dnl ******************************
1287 dnl libedataserverui
1288 dnl ******************************
1289 E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
1291 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1292 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1293 AC_SUBST(E_DATA_SERVER_UI_LIBS)
1295 if test "x$enable_maintainer_mode" = "xyes" ; then
1296 FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1297 FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1298 AC_SUBST(FACTORY_GTK_CFLAGS)
1299 AC_SUBST(FACTORY_GTK_LIBS)
1302 E_BACKEND_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1304 dnl ******************************
1305 dnl libebackend flags
1306 dnl ******************************
1307 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1308 AC_SUBST(E_BACKEND_CFLAGS)
1309 AC_SUBST(E_BACKEND_LIBS)
1311 dnl ******************************
1312 dnl evolution-addressbook flags
1313 dnl ******************************
1314 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1316 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1317 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1318 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1320 dnl ******************************
1321 dnl evolution-calendar flags
1322 dnl ******************************
1323 if test "x${enable_calendar}" = "xyes"; then
1324 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
1327 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1328 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1329 dnl to differentiate between <libical/ical.h> and <ical.h>
1330 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1331 dnl libical is fixed, we have to work-around the buggy CFlags.
1333 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1334 LIBICAL_EXTRA_LIBS=""
1335 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1336 AC_SUBST(LIBICAL_EXTRA_LIBS)
1338 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1339 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1340 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1342 dnl ****************************
1343 dnl Check for ical_set_unknown_token_handling_setting function
1344 dnl ****************************
1345 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1346 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1347 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1348 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1349 [[#include <libical/ical.h>]],
1350 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1351 [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])
1354 AC_MSG_RESULT([$ac_cv_have_iuth])
1358 dnl ******************************
1360 dnl ******************************
1361 LIBGDATA_REQUIRED=libgdata_minimum_version
1362 AC_SUBST(LIBGDATA_REQUIRED)
1364 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1365 AC_SUBST(GDATA_CFLAGS)
1366 AC_SUBST(GDATA_LIBS)
1368 dnl ******************************
1370 dnl ******************************
1371 LIBSOUP_REQUIRED=libsoup_minimum_version
1372 AC_SUBST(LIBSOUP_REQUIRED)
1374 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1375 AC_SUBST(SOUP_CFLAGS)
1378 dnl ******************************
1380 dnl ******************************
1381 SQLITE_REQUIRED=sqlite_minimum_version
1382 AC_SUBST(SQLITE_REQUIRED)
1385 dnl deflateInit is a #define, use deflateEnd instead
1386 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1388 if test "x$zlib_found" = "xfalse"; then
1389 AC_MSG_ERROR([*** zlib is required])
1392 dnl ******************************
1393 dnl Checks for large file support
1394 dnl ******************************
1395 AC_ARG_ENABLE([largefile],
1396 AS_HELP_STRING([--enable-largefile],
1397 [enable support for large files [[default=no]]]),
1398 [],[enable_largefile="yes"])
1400 if test "x$enable_largefile" != "xno"; then
1402 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1403 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1404 [[ #include <sys/types.h>
1405 #include <sys/stat.h>
1408 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1409 )],[ac_cv_largefile64_source="no"],
1410 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1411 [[ #define _LARGEFILE64_SOURCE
1412 #include <sys/types.h>
1413 #include <sys/stat.h>
1416 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1417 [ac_cv_largefile64_source="unknown"])])
1420 enable_largefile="no"
1422 if test "x$ac_cv_largefile64_source" = "xyes"; then
1423 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1424 enable_largefile="yes"
1425 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1426 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1429 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1430 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1431 enable_largefile="yes"
1434 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1435 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1436 enable_largefile="yes"
1439 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1443 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1445 EVO_SET_COMPILE_FLAGS(CAMEL, gio-2.0 $mozilla_nss sqlite3 >= sqlite_minimum_version, $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $KRB5_LIBS $MANUAL_NSS_LIBS)
1446 AC_SUBST(CAMEL_CFLAGS)
1447 AC_SUBST(CAMEL_LIBS)
1449 dnl ******************************
1450 dnl Special directories
1451 dnl ******************************
1453 dnl If you add something here, consider whether or not you also
1454 dnl need to add it to one or more .pc.in files (for Connector,
1457 privdatadir='${datadir}'/evolution-data-server-$BASE_VERSION
1458 AC_SUBST(privdatadir)
1460 privincludedir='${includedir}'/evolution-data-server-$BASE_VERSION
1461 AC_SUBST(privincludedir)
1463 privlibdir='${libdir}'/evolution-data-server-$BASE_VERSION
1464 AC_SUBST(privlibdir)
1466 imagesdir='${datadir}'/pixmaps/evolution-data-server
1469 ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
1470 AC_SUBST(ebook_backenddir)
1472 ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
1473 AC_SUBST(ecal_backenddir)
1475 if test "x$use_gweather" = "xyes"; then
1476 weatherdatadir="$privdatadir/weather"
1477 AC_SUBST(weatherdatadir)
1480 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1481 camel_providerdir='${libdir}'/evolution-data-server/camel-providers
1482 AC_SUBST(camel_providerdir)
1484 dnl *******************
1485 dnl D-BUS service stuff
1486 dnl *******************
1487 m4_pattern_allow([AM_V_GEN])
1488 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)|" $< > $@'
1489 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1491 dnl ******************************
1493 dnl ******************************
1494 AC_PATH_PROG(GCONFTOOL, gconftool-2, [no])
1497 dnl ******************************
1499 dnl ******************************
1500 AC_PATH_PROG(GPERF, gperf, [no])
1501 if test "x$GPERF" = "xno"; then
1502 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1505 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1507 dnl ******************************
1509 dnl ******************************
1510 AC_ARG_ENABLE(vala-bindings,
1511 AC_HELP_STRING([--enable-vala-bindings],
1512 [build the EXPERIMENTAL Vala bindings]),
1513 enable_vala_bindings=$enableval,
1514 enable_vala_bindings=no)
1516 if test x$enable_vala_bindings = xyes; then
1517 if test "x$INTROSPECTION_SCANNER" = x; then
1518 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1521 AM_PROG_VALAC([0.13.0])
1524 AC_PATH_PROG(VALAC, valac, valac)
1528 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1530 if test "x$VAPIGEN" = "xfalse"; then
1531 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1537 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1540 dnl ******************************
1542 dnl ******************************
1544 export privincludedir
1549 evolution-data-server-zip
1550 evolution-data-server.pc
1551 addressbook/Makefile
1552 addressbook/libebook/Makefile
1553 addressbook/libebook/libebook.pc
1554 addressbook/libedata-book/Makefile
1555 addressbook/libedata-book/libedata-book.pc
1556 addressbook/libegdbus/Makefile
1557 addressbook/backends/Makefile
1558 addressbook/backends/file/Makefile
1559 addressbook/backends/vcf/Makefile
1560 addressbook/backends/ldap/Makefile
1561 addressbook/backends/google/Makefile
1562 addressbook/backends/webdav/Makefile
1565 calendar/libecal/Makefile
1566 calendar/libecal/libecal.pc
1567 calendar/libedata-cal/Makefile
1568 calendar/libedata-cal/libedata-cal.pc
1569 calendar/libegdbus/Makefile
1570 calendar/backends/Makefile
1571 calendar/backends/caldav/Makefile
1572 calendar/backends/file/Makefile
1573 calendar/backends/http/Makefile
1574 calendar/backends/contacts/Makefile
1575 calendar/backends/weather/Makefile
1577 camel/providers/Makefile
1578 camel/providers/imap/Makefile
1579 camel/providers/imapx/Makefile
1580 camel/providers/local/Makefile
1581 camel/providers/nntp/Makefile
1582 camel/providers/pop3/Makefile
1583 camel/providers/sendmail/Makefile
1584 camel/providers/smtp/Makefile
1585 camel/tests/Makefile
1586 camel/tests/folder/Makefile
1587 camel/tests/lib/Makefile
1588 camel/tests/message/Makefile
1589 camel/tests/mime-filter/Makefile
1590 camel/tests/misc/Makefile
1591 camel/tests/smime/Makefile
1593 libebackend/Makefile
1594 libebackend/libebackend.pc
1595 libedataserver/Makefile
1596 libedataserver/eds-version.h
1597 libedataserver/libedataserver.pc
1598 libedataserverui/Makefile
1599 libedataserverui/libedataserverui.pc
1601 services/evolution-addressbook-factory/Makefile
1602 services/evolution-calendar-factory/Makefile
1604 tests/libebook/Makefile
1605 tests/libebook/client/Makefile
1606 tests/libebook/vcard/Makefile
1607 tests/libecal/Makefile
1608 tests/libecal/client/Makefile
1609 tests/libedata-cal/Makefile
1610 tests/libedataserver/Makefile
1611 tests/libedataserverui/Makefile
1613 docs/reference/Makefile
1614 docs/reference/addressbook/Makefile
1615 docs/reference/addressbook/libebook/Makefile
1616 docs/reference/addressbook/libedata-book/Makefile
1617 docs/reference/calendar/Makefile
1618 docs/reference/calendar/libecal/Makefile
1619 docs/reference/calendar/libedata-cal/Makefile
1620 docs/reference/camel/Makefile
1621 docs/reference/libedataserver/Makefile
1622 docs/reference/libedataserverui/Makefile
1623 docs/reference/libebackend/Makefile
1630 evolution-data-server has been configured as follows:
1631 Calendar: $msg_calendar
1632 Weather calendar: $use_gweather
1633 Mail Directory: $system_mail_dir, $system_mail_perm
1634 LDAP support: $msg_ldap
1635 NNTP support: $msg_nntp
1636 Kerberos 5: $msg_krb5
1637 SMIME support: $msg_smime
1638 IPv6 support: $msg_ipv6
1639 Dot Locking: $msg_dot
1640 File Locking: $msg_file
1641 Large files: $enable_largefile
1642 Gtk Doc: $enable_gtk_doc
1643 Introspection: $enable_introspection
1644 Vala bindings: $enable_vala_bindings
1645 GNOME Online Accounts $enable_goa