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.28])
37 m4_define([gtk_minimum_version], [3.0])
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.7.0])
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.AddressBook1"
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 -Werror-implicit-function-declaration
160 -Wformat-security -Winit-self
161 -Wmissing-declarations -Wmissing-include-dirs
162 -Wmissing-noreturn -Wnested-externs -Wpointer-arith
163 -Wredundant-decls -Wundef -Wwrite-strings")
164 AC_SUBST(WARNING_FLAGS)
166 dnl More depracation from EBook/ECal:
167 dnl -DE_BOOK_DISABLE_DEPRECATED
168 dnl -DE_CAL_DISABLE_DEPRECATED
170 dnl Other useful compiler warnings for test builds only.
171 dnl These may produce warnings we have no control over,
172 dnl or false positives we don't always want to see.
174 dnl -Wformat-nonliteral
175 dnl -Wmissing-format-attribute
177 dnl -Wstrict-aliasing=2
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 `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
349 AC_DEFINE(HAVE_LIBGDATA_0_9, 1, [libgdata is 0.9.1 or higher])
352 if test x$os_win32 = xno; then
353 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
356 dnl *******************************
357 dnl Check for GNOME Online Accounts
358 dnl *******************************
360 [AS_HELP_STRING([--enable-goa],
361 [enable GNOME Online Accounts support (default=yes)])],
362 [enable_goa=$enableval], [enable_goa=yes])
363 AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
364 AC_MSG_RESULT([$enable_goa])
365 if test "x$enable_goa" = xyes; then
366 PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
367 [AC_MSG_ERROR([goa-1.0 not found (or version < goa_minimum_version),
368 If you want to disable GNOME Online Accounts support,
369 please append --disable-goa to configure.])])
371 PKG_CHECK_MODULES([OAUTH], [oauth >= oauth_minimum_version],,
372 [AC_MSG_ERROR([oauth not found (or version < oauth_minimum_version),
373 If you want to disable GNOME Online Accounts support,
374 please append --disable-goa to configure.])])
376 if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
377 AC_DEFINE(HAVE_GOA,1,[Have goa-1.0 and libgdata >= 0.9.1])
380 libgdata >= 0.9.1 is required for GNOME Online Accounts support.
381 If you want to disable GNOME Online Accounts support, please
382 append --disable-goa to configure.])
385 AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
387 if test x$os_win32 = xno; then
388 dnl ***********************************
389 dnl Check for GNOME Keyring.
390 dnl ***********************************
391 PKG_CHECK_MODULES(GNOME_KEYRING,
392 [gnome-keyring-1 >= gnome_keyring_minimum_version])
396 LIBICAL_REQUIRED=libical_minimum_version
397 AC_SUBST(LIBICAL_REQUIRED)
399 dnl ******************************
401 dnl ******************************
402 AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
404 AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
405 [AC_MSG_ERROR([No regex library found])])])
408 dnl ******************************
410 dnl ******************************
412 AS_HELP_STRING([--with-libdb=PREFIX],
413 [Prefix where libdb is installed]),
414 [libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
416 DB_CFLAGS="-I$libdb_prefix/include"
417 DB_LIBS="-L$libdb_prefix/lib -ldb"
419 AC_MSG_CHECKING([Berkeley DB])
420 save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
421 save_libs=$LIBS; LIBS="$DB_LIBS"
422 AC_LINK_IFELSE([AC_LANG_PROGRAM(
424 [[db_create(NULL, NULL, 0)]])],
425 [AC_MSG_RESULT([yes])],
426 [AC_MSG_ERROR([Cannot find libdb])])
432 dnl ******************************
434 dnl ******************************
438 AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
439 AC_LINK_IFELSE([AC_LANG_PROGRAM(
446 cd = iconv_open ("UTF-8", "ISO-8859-1");
448 )],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
450 if test "x$ac_cv_libiconv" = "xyes"; then
452 if test "x$os_win32" = "xyes"; then
453 dnl Don't pointlessly auto-export the global symbols
454 dnl from a potentially static libiconv.a
455 ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
460 AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
463 if test "x$have_iconv" = "xyes"; then
464 if test "x$ac_cv_libiconv" = "xno"; then
465 AC_CHECK_FUNCS(gnu_get_libc_version)
467 AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
468 AC_RUN_IFELSE([AC_LANG_SOURCE([[
472 #ifdef HAVE_GNU_GET_LIBC_VERSION
473 #include <gnu/libc-version.h>
476 char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
477 char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
478 char *transbuf = malloc (10), *trans = transbuf;
480 size_t jp_len = strlen (jp), utf8_len = 10;
481 size_t utf8_real_len = strlen (utf8);
483 #ifdef HAVE_GNU_GET_LIBC_VERSION
484 /* glibc 2.1.2's iconv is broken in hard to test ways. */
485 if (!strcmp (gnu_get_libc_version (), "2.1.2"))
489 cd = iconv_open ("UTF-8", "ISO-2022-JP");
490 if (cd == (iconv_t) -1)
492 if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
494 if (memcmp (utf8, transbuf, utf8_real_len) != 0)
498 ],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
501 if test "x$have_iconv" = "xno"; then
502 AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
506 CFLAGS="$CFLAGS -I$srcdir"
508 AC_MSG_CHECKING([preferred charset name formats for system iconv])
509 AC_RUN_IFELSE([AC_LANG_SOURCE([[
511 #include "iconv-detect.c"
513 [AC_MSG_RESULT([found])],
514 [AC_MSG_RESULT([not found])
516 *** The iconv-detect program was unable to determine the
517 *** preferred charset name formats recognized by your
518 *** iconv library. It is suggested that you install a
519 *** working iconv library such as the one found at
520 *** ftp://ftp.gnu.org/pub/gnu/libiconv
522 [if test "x$os_win32" = xyes; then
523 AC_MSG_RESULT([using known win32 result])
524 echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
525 echo >>iconv-detect.h
526 echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
527 echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
528 echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
530 AC_MSG_RESULT([unknown])
532 *** We can't determine the preferred charset name formats
533 *** recognized by your iconv library. You are
534 *** cross-compiling and supposed to know what you are doing.
535 *** Please construct the iconv-detect.h file manually.
540 CFLAGS="$save_CFLAGS"
543 AC_ARG_ENABLE([backtraces],
544 [AS_HELP_STRING([--enable-backtraces],
545 [enable backtraces for e_pointer_tracker (default=no)])],
546 [enable_backtraces=$enableval], [enable_backtraces=no])
548 if test "x$enable_backtraces" = xyes; then
549 dnl ****************************
550 dnl Check for backtrace_symbols function and dwfl from elfutils
551 dnl ****************************
552 AC_MSG_CHECKING([libc backtrace_symbols function])
553 AC_LINK_IFELSE([AC_LANG_PROGRAM(
554 [[#include <execinfo.h>]],
555 [[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
556 [AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
557 AC_MSG_RESULT([$ac_cv_have_bsf])
559 if test "x$ac_cv_have_bsf" = xyes; then
562 AC_MSG_CHECKING([elfutils/libdwfl])
563 AC_LINK_IFELSE([AC_LANG_PROGRAM(
564 [[#include <elfutils/libdwfl.h>]],
568 Dwarf_Addr module_low_addr;
571 dwfl_standard_find_debuginfo;
572 dwfl_linux_proc_find_elf;
574 dwfl_linux_proc_report (NULL, 1);
575 dwfl_report_end (NULL, NULL, NULL);
577 dwfl_module_addrname (NULL, NULL);
578 dwfl_module_getsrc (NULL, NULL);
579 dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
580 DWARF_CB_ABORT; DWARF_CB_OK;
581 dwfl_getmodules (NULL, NULL, NULL, 0);
583 [AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
584 AC_MSG_RESULT([$ac_cv_have_elfdwfl])
588 if test "x$ac_cv_have_elfdwfl" = xyes; then
590 AC_SUBST(LIBDWFL_LIBS)
595 dnl **********************************
596 dnl Check for nl_langinfo and CODESET
597 dnl **********************************
598 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
599 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
600 [[#include <langinfo.h>]],
601 [[char *codeset = nl_langinfo (CODESET);]]
602 )],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
603 if test "x$ac_cv_langinfo_codeset" = "xyes"; then
604 AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
606 AC_MSG_RESULT([$ac_cv_langinfo_codeset])
608 dnl *******************************************************
609 dnl Check to see if strftime supports the use of %l and %k
610 dnl *******************************************************
611 AC_MSG_CHECKING([for %l and %k support in strftime])
612 AC_RUN_IFELSE([AC_LANG_SOURCE(
613 [[ #include <stdlib.h>
616 int main(int argc, char **argv) {
622 timeinfo=localtime(&rawtime);
624 strftime(buf, 10, "%lx%k", timeinfo);
626 if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
633 )],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
634 AC_MSG_RESULT([$ac_cv_lkstrftime])
636 dnl ********************************************************************************
637 dnl security extension support (SSL and S/MIME)
639 dnl The following voodoo does detection of mozilla libraries (nspr and nss)
640 dnl needed by Camel (SSL and S/MIME).
642 dnl The Evolution security extensions are only built if these libraries are found
643 dnl ********************************************************************************
646 AC_ARG_ENABLE([smime],
647 AS_HELP_STRING([--enable-smime],
648 [Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
649 [enable_smime="$enableval"],[enable_smime="yes"])
651 AC_ARG_WITH([nspr-includes],
652 AS_HELP_STRING([--with-nspr-includes],
653 [Prefix of Mozilla nspr4 includes.]),
654 [with_nspr_includes="$withval"])
656 AC_ARG_WITH([nspr-libs],
657 AS_HELP_STRING([--with-nspr-libs],
658 [Prefix of Mozilla nspr4 libs.]),
659 [with_nspr_libs="$withval"])
661 AC_ARG_WITH([nss-includes],
662 AS_HELP_STRING([--with-nss-includes],
663 [Prefix of Mozilla nss3 includes.]),
664 [with_nss_includes="$withval"])
666 AC_ARG_WITH([nss-libs],
667 AS_HELP_STRING([--with-nss-libs],
668 [Prefix of Mozilla nss3 libs.]),
669 [with_nss_libs="$withval"])
671 if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
677 dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
678 if test "x${check_manually}" = "xno"; then
679 AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
680 mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
681 for pc in $mozilla_nspr_pcs; do
682 if $PKG_CONFIG --exists $pc; then
689 AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
690 mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
691 for pc in $mozilla_nss_pcs; do
692 if $PKG_CONFIG --exists $pc; then
699 if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
700 if test "x$enable_smime" = "xyes"; then
701 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
704 MANUAL_NSPR_CFLAGS=""
715 if test "x${check_manually}" = "xyes"; then
716 dnl ******************
718 dnl ******************
719 AC_MSG_CHECKING([for Mozilla nspr4 includes])
720 CPPFLAGS_save="$CPPFLAGS"
721 if test -n "$with_nspr_includes"; then
722 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
725 AC_CHECK_HEADERS(nspr.h prio.h,
726 [moz_nspr_includes="yes"],[moz_nspr_includes="no"])
727 CPPFLAGS="$CPPFLAGS_save"
729 if test "x${moz_nspr_includes}" = "xyes"; then
730 MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
732 AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
734 AC_MSG_RESULT([$moz_nspr_includes])
736 AC_MSG_CHECKING([for Mozilla nspr libraries])
737 CFLAGS_save="$CFLAGS"
738 LDFLAGS_save="$LDFLAGS"
740 nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
742 CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
744 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
745 if test -n "${with_nspr_libs}"; then
746 LDFLAGS="$LDFLAGS -L$with_nspr_libs"
751 AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
752 [moz_nspr_libs="yes"],[moz_nspr_libs="no"])
754 CFLAGS="$CFLAGS_save"
755 LDFLAGS="$LDFLAGS_save"
758 if test "x${moz_nspr_libs}" = "xyes"; then
759 if test -n "${with_nspr_libs}"; then
760 MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
762 MANUAL_NSPR_LIBS="$nsprlibs"
765 AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
767 AC_MSG_RESULT([$moz_nspr_libs])
769 dnl *****************
771 dnl *****************
772 AC_MSG_CHECKING([for Mozilla nss3 includes])
773 CPPFLAGS_save="$CPPFLAGS"
774 CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
776 AC_CHECK_HEADERS(nss.h ssl.h smime.h,
777 [moz_nss_includes="yes"],[moz_nss_includes="no"])
778 CPPFLAGS="$CPPFLAGS_save"
780 if test "x${moz_nss_includes}" = "xyes"; then
781 MANUAL_NSS_CFLAGS="-I$with_nss_includes"
783 AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
785 AC_MSG_RESULT($moz_nss_includes)
787 AC_MSG_CHECKING([for Mozilla nss libraries])
788 LDFLAGS_save="$LDFLAGS"
790 nsslibs="-lssl3 -lsmime3 -lnss3"
792 LIBS="$nsslibs $nsprlibs"
793 dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
794 if test -n "${with_nss_libs}"; then
795 LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
797 LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
800 AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
801 [moz_nss_libs="yes"],[moz_nss_libs="no"])
802 LDFLAGS="$LDFLAGS_save"
805 if test "x${moz_nss_libs}" = "xyes"; then
806 if test "x${enable_smime}" = "xyes"; then
807 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
810 if test -n "${with_nss_libs}"; then
811 MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
813 MANUAL_NSS_LIBS="$nsslibs"
816 AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
818 AC_MSG_RESULT([$moz_nss_libs])
820 MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
821 MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
824 AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
826 dnl For pkgconfig files.
827 AC_SUBST(mozilla_nss)
828 AC_SUBST(mozilla_nspr)
830 AC_SUBST(MANUAL_NSPR_CFLAGS)
831 AC_SUBST(MANUAL_NSPR_LIBS)
832 AC_SUBST(MANUAL_NSS_CFLAGS)
833 AC_SUBST(MANUAL_NSS_LIBS)
835 dnl ******************************
836 dnl system mail stuff
837 dnl ******************************
838 AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
839 AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
841 AC_MSG_CHECKING([system mail directory])
842 if test -d /var/mail -a '!' -h /var/mail ; then
843 system_mail_dir="/var/mail"
845 system_mail_dir="/var/spool/mail"
847 AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
849 case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
851 CAMEL_LOCK_HELPER_USER=""
852 CAMEL_LOCK_HELPER_GROUP=""
853 system_mail_perm="world writable"
856 CAMEL_LOCK_HELPER_USER=""
857 CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
858 system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
861 CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
862 CAMEL_LOCK_HELPER_GROUP=""
863 system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
866 CAMEL_LOCK_HELPER_USER=""
867 CAMEL_LOCK_HELPER_GROUP=""
868 system_mail_perm="???"
872 AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
873 AC_SUBST(CAMEL_LOCK_HELPER_USER)
874 AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
876 dnl ******************************
878 dnl ******************************
879 AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
880 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
881 [[ #include <time.h> ]],
886 )],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
887 if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
888 AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
890 AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
891 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
892 [[ #include <time.h> ]],
894 )],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
895 if test "x$ac_cv_var_timezone" = "xyes"; then
896 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
897 AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
899 [[ #include <time.h> ]],
901 )],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
902 if test "x$ac_cv_var_altzone" = "xyes"; then
903 AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
906 AC_MSG_ERROR([unable to find a way to determine timezone])
910 dnl ******************************
911 dnl ctime_r prototype
912 dnl ******************************
913 AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
915 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
916 [[ #include <time.h> ]],
919 ctime_r (&date, buf, 100); ]]
920 )],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
923 if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
924 AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
927 dnl ******************************
928 dnl gethostbyname_r prototype
929 dnl ******************************
930 AC_CHECK_FUNCS(gethostbyname_r,[
931 AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
933 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
935 #include "confdefs.h"
936 #include <sys/types.h>
937 #include <sys/socket.h>
938 #include <netinet/in.h>
940 #define BUFSIZE (sizeof(struct hostent)+10)
944 char buffer[BUFSIZE];
947 (void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
949 )],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
952 if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
953 AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
956 dnl ******************************
957 dnl gethostbyaddr_r prototype
958 dnl ******************************
959 AC_CHECK_FUNCS(gethostbyaddr_r,[
960 AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
962 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
964 #include "confdefs.h"
965 #include <sys/types.h>
966 #include <sys/socket.h>
967 #include <netinet/in.h>
969 #define BUFSIZE (sizeof(struct hostent)+10)
973 char buffer[BUFSIZE];
976 (void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
977 )],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
980 if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
981 AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
984 dnl ******************************
985 dnl stat(v)fs location/type
986 dnl ******************************
987 AC_CHECK_HEADER([sys/statvfs.h],
988 [AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
989 [[ #if HAVE_SYS_STATVFS_H
990 #include <sys/statvfs.h>
993 AC_CHECK_FUNCS(statvfs)
995 AC_CHECK_HEADER([sys/param.h],
996 [AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
997 [[ #if HAVE_SYS_PARAM_H
998 #include <sys/param.h>
1001 AC_CHECK_HEADER([sys/mount.h],
1002 [AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1003 [[ #if HAVE_SYS_MOUNT_H
1004 #include <sys/mount.h>
1007 AC_CHECK_FUNCS(statfs)
1009 dnl ******************************
1010 dnl IPv6 support and getaddrinfo calls
1011 dnl ******************************
1012 AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1014 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1015 [[ #include "confdefs.h"
1016 #include <sys/types.h>
1017 #include <sys/socket.h>
1018 #include <netinet/in.h>
1022 [[ #ifndef NI_MAXHOST
1023 #define NI_MAXHOST 1025
1027 #define NI_MAXSERV 32
1030 struct addrinfo hints, *res;
1031 struct sockaddr_in6 sin6;
1033 char host[NI_MAXHOST];
1034 char serv[NI_MAXSERV];
1036 getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1038 getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1039 )],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1042 if test "x$ac_cv_have_addrinfo" = "xno" ; then
1043 AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1044 if test "x$enable_ipv6" = "xyes" ; then
1045 AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1049 AC_ARG_ENABLE([ipv6],
1050 AS_HELP_STRING([--enable-ipv6=no/yes],
1051 [Enable support for resolving IPv6 addresses.]),
1052 [enable_ipv6=$enableval],[enable_ipv6=yes])
1053 if test "x$enable_ipv6" = "xyes"; then
1055 AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1056 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1057 [[ #include "confdefs.h"
1058 #include <sys/types.h>
1059 #include <sys/socket.h>
1060 #include <netinet/in.h>
1063 [[ struct addrinfo hints;
1064 hints.ai_flags = AI_ADDRCONFIG;
1066 )],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1072 AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1074 AC_CHECK_HEADER([wspiapi.h],
1075 [AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
1077 dnl ******************************
1078 dnl Calendar support
1079 dnl ******************************
1080 AC_MSG_CHECKING([if we should build the calendar])
1081 AC_ARG_ENABLE([calendar],
1082 AS_HELP_STRING([--enable-calendar=yes/no],
1083 [Enable the calendar components (default yes)]),
1084 [enable_calendar=$enableval], [enable_calendar=yes])
1086 if test "x${enable_calendar}" != "xno"; then
1087 AC_DEFINE(ENABLE_CALENDAR, 1, [Define if Calendar should be built])
1089 AM_CONDITIONAL(ENABLE_CALENDAR, [test x$enable_calendar = xyes])
1090 AC_MSG_RESULT([$enable_calendar])
1091 msg_calendar=$enable_calendar
1093 dnl **********************************
1094 dnl Weather calendar backend support
1095 dnl **********************************
1096 AC_MSG_CHECKING([if we should build the weather calendar backend])
1097 AC_ARG_ENABLE([weather],
1098 [AS_HELP_STRING([--enable-weather],
1099 [Build the weather calendar backend (default=yes)])],
1100 [use_gweather=$enableval], [use_gweather=yes])
1101 if test "$enable_calendar" = "no"; then
1102 use_gweather="no (calendar support is disabled)"
1105 AC_MSG_RESULT([$use_gweather])
1106 if test "x$use_gweather" = "xyes"; then
1107 PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1108 [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.])])
1110 AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1112 dnl ******************************
1114 dnl ******************************
1115 AC_ARG_ENABLE([nntp],
1116 AS_HELP_STRING([--enable-nntp],
1117 [Build Usenet news (NNTP) backend]),
1118 [enable_nntp=$enableval],[enable_nntp=yes])
1119 if test "x$enable_nntp" = "xyes"; then
1120 AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1125 AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1127 AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1129 dnl ******************************
1131 dnl ******************************
1132 AC_ARG_ENABLE([dot-locking],
1133 AS_HELP_STRING([--enable-dot-locking=yes/no],
1134 [Enable support for locking mail files with dot locking]),
1135 [enable_dot_locking=$enableval],[enable_dot_locking=yes])
1137 if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1138 AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1144 AC_ARG_ENABLE([file-locking],
1145 AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1146 [Enable support for locking mail files with file locking]),
1147 [],[enable_file_locking=fcntl])
1149 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1150 AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1153 if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1154 AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1161 dnl ******************************
1162 dnl sendmail operation
1163 dnl ******************************
1164 AC_MSG_CHECKING([for SunOS broken spool format])
1165 if test "x$host_os" = "xsunos" ; then
1166 with_broken_spool="yes"
1169 AC_ARG_WITH([broken-spool],
1170 AS_HELP_STRING([--with-broken-spool=yes/no],
1171 [Using SunOS/Solaris sendmail which has a broken spool format]),
1172 [with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1174 if test "x$with_broken_spool" = "xyes"; then
1175 AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1178 AC_MSG_RESULT([$with_broken_spool])
1180 dnl ******************************
1181 dnl DBus call timeout
1182 dnl ******************************
1184 AC_ARG_WITH([dbus-call-timeout],
1185 AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1186 [Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1187 [ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1189 DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1190 AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1195 EVO_KRB5_SUPPORT(no)
1197 dnl ******************************
1199 dnl ******************************
1202 dnl ******************************
1204 dnl ******************************
1205 if test "x$os_win32" != "xyes"; then
1207 case $with_openldap in
1212 case $with_static_ldap in
1214 msg_ldap="$with_openldap (static)"
1217 msg_ldap="$with_openldap (dynamic)"
1222 dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1223 if test "x$with_openldap" = "xno" ; then
1224 EVO_SUNLDAP_CHECK(no)
1225 case $with_sunldap in
1230 case $with_static_sunldap in
1232 msg_ldap="$with_sunldap (static)"
1235 msg_ldap="$with_sunldap (dynamic)"
1242 AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1244 LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1246 dnl Win32 LDAP support
1247 LDAP_CFLAGS="-DLDAP_DEPRECATED"
1248 LDAP_LIBS="-lwldap32"
1249 AC_SUBST(LDAP_CFLAGS)
1251 AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1252 AM_CONDITIONAL(ENABLE_LDAP, true)
1253 AM_CONDITIONAL(SUNLDAP, false)
1257 dnl ******************************
1258 dnl GObject marshalling
1259 dnl ******************************
1262 dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1263 EVO_MARSHAL_RULE=$srcdir/marshal.mk
1264 AC_SUBST_FILE(EVO_MARSHAL_RULE)
1266 dnl ******************************
1267 dnl Utility macro to set compiler flags for a specific lib.
1268 dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1269 dnl ******************************
1270 AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1271 PKG_CHECK_MODULES([$1], [$2])
1272 $1_CFLAGS="[$]$1_CFLAGS $3 "
1273 $1_LIBS="[$]$1_LIBS $4 "
1276 dnl ******************************
1278 dnl ******************************
1279 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1281 dnl ******************************
1282 dnl libedataserver flags
1283 dnl ******************************
1284 E_DATA_SERVER_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"
1286 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1287 AC_SUBST(E_DATA_SERVER_CFLAGS)
1288 AC_SUBST(E_DATA_SERVER_LIBS)
1290 dnl ******************************
1291 dnl libedataserverui
1292 dnl ******************************
1293 E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
1295 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1296 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1297 AC_SUBST(E_DATA_SERVER_UI_LIBS)
1299 if test "x$enable_maintainer_mode" = "xyes" ; then
1300 FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1301 FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1302 AC_SUBST(FACTORY_GTK_CFLAGS)
1303 AC_SUBST(FACTORY_GTK_LIBS)
1306 E_BACKEND_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1308 dnl ******************************
1309 dnl libebackend flags
1310 dnl ******************************
1311 EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1312 AC_SUBST(E_BACKEND_CFLAGS)
1313 AC_SUBST(E_BACKEND_LIBS)
1315 dnl ******************************
1316 dnl evolution-addressbook flags
1317 dnl ******************************
1318 EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
1320 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1321 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1322 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1324 dnl ******************************
1325 dnl evolution-calendar flags
1326 dnl ******************************
1327 if test "x${enable_calendar}" = "xyes"; then
1328 EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
1331 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1332 dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1333 dnl to differentiate between <libical/ical.h> and <ical.h>
1334 dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1335 dnl libical is fixed, we have to work-around the buggy CFlags.
1337 LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1338 LIBICAL_EXTRA_LIBS=""
1339 AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1340 AC_SUBST(LIBICAL_EXTRA_LIBS)
1342 EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1343 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1344 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1346 dnl ****************************
1347 dnl Check for ical_set_unknown_token_handling_setting function
1348 dnl ****************************
1349 AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1350 save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1351 save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1352 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1353 [[#include <libical/ical.h>]],
1354 [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1355 [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])
1358 AC_MSG_RESULT([$ac_cv_have_iuth])
1362 dnl ******************************
1364 dnl ******************************
1365 LIBGDATA_REQUIRED=libgdata_minimum_version
1366 AC_SUBST(LIBGDATA_REQUIRED)
1368 EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1369 AC_SUBST(GDATA_CFLAGS)
1370 AC_SUBST(GDATA_LIBS)
1372 dnl ******************************
1374 dnl ******************************
1375 LIBSOUP_REQUIRED=libsoup_minimum_version
1376 AC_SUBST(LIBSOUP_REQUIRED)
1378 EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1379 AC_SUBST(SOUP_CFLAGS)
1382 dnl ******************************
1384 dnl ******************************
1385 SQLITE_REQUIRED=sqlite_minimum_version
1386 AC_SUBST(SQLITE_REQUIRED)
1389 dnl deflateInit is a #define, use deflateEnd instead
1390 AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1392 if test "x$zlib_found" = "xfalse"; then
1393 AC_MSG_ERROR([*** zlib is required])
1396 dnl ******************************
1397 dnl Checks for large file support
1398 dnl ******************************
1399 AC_ARG_ENABLE([largefile],
1400 AS_HELP_STRING([--enable-largefile],
1401 [enable support for large files [[default=no]]]),
1402 [],[enable_largefile="yes"])
1404 if test "x$enable_largefile" != "xno"; then
1406 AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1407 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1408 [[ #include <sys/types.h>
1409 #include <sys/stat.h>
1412 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1413 )],[ac_cv_largefile64_source="no"],
1414 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1415 [[ #define _LARGEFILE64_SOURCE
1416 #include <sys/types.h>
1417 #include <sys/stat.h>
1420 [[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1421 [ac_cv_largefile64_source="unknown"])])
1424 enable_largefile="no"
1426 if test "x$ac_cv_largefile64_source" = "xyes"; then
1427 LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1428 enable_largefile="yes"
1429 elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1430 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1433 if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1434 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1435 enable_largefile="yes"
1438 if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1439 LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1440 enable_largefile="yes"
1443 AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1447 AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1449 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)
1450 AC_SUBST(CAMEL_CFLAGS)
1451 AC_SUBST(CAMEL_LIBS)
1453 dnl ******************************
1454 dnl Special directories
1455 dnl ******************************
1457 dnl If you add something here, consider whether or not you also
1458 dnl need to add it to one or more .pc.in files (for Connector,
1461 privdatadir='${datadir}'/evolution-data-server-$BASE_VERSION
1462 AC_SUBST(privdatadir)
1464 privincludedir='${includedir}'/evolution-data-server-$BASE_VERSION
1465 AC_SUBST(privincludedir)
1467 privlibdir='${libdir}'/evolution-data-server-$BASE_VERSION
1468 AC_SUBST(privlibdir)
1470 imagesdir='${datadir}'/pixmaps/evolution-data-server
1473 ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
1474 AC_SUBST(ebook_backenddir)
1476 ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
1477 AC_SUBST(ecal_backenddir)
1479 if test "x$use_gweather" = "xyes"; then
1480 weatherdatadir="$privdatadir/weather"
1481 AC_SUBST(weatherdatadir)
1484 dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1485 camel_providerdir='${libdir}'/evolution-data-server/camel-providers
1486 AC_SUBST(camel_providerdir)
1488 dnl *******************
1489 dnl D-BUS service stuff
1490 dnl *******************
1491 EVO_SUBST_SERVICE_RULE='%.service: %.service.in Makefile ; 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)|" $< > $@'
1492 AC_SUBST(EVO_SUBST_SERVICE_RULE)
1494 dnl ******************************
1496 dnl ******************************
1497 AC_PATH_PROG(GCONFTOOL, gconftool-2, [no])
1500 dnl ******************************
1502 dnl ******************************
1503 AC_PATH_PROG(GPERF, gperf, [no])
1504 if test "x$GPERF" = "xno"; then
1505 AC_MSG_ERROR([You need gperf to build evolution-data-server])
1508 GOBJECT_INTROSPECTION_CHECK([0.9.12])
1510 dnl ******************************
1512 dnl ******************************
1513 AC_ARG_ENABLE(vala-bindings,
1514 AC_HELP_STRING([--enable-vala-bindings],
1515 [build the EXPERIMENTAL Vala bindings]),
1516 enable_vala_bindings=$enableval,
1517 enable_vala_bindings=no)
1519 if test x$enable_vala_bindings = xyes; then
1520 if test "x$INTROSPECTION_SCANNER" = x; then
1521 AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1524 AM_PROG_VALAC([0.13.0])
1527 AC_PATH_PROG(VALAC, valac, valac)
1531 AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1533 if test "x$VAPIGEN" = "xfalse"; then
1534 AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1540 AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1543 dnl ******************************
1545 dnl ******************************
1547 export privincludedir
1552 evolution-data-server-zip
1553 evolution-data-server.pc
1554 addressbook/Makefile
1555 addressbook/libebook/Makefile
1556 addressbook/libebook/libebook.pc
1557 addressbook/libedata-book/Makefile
1558 addressbook/libedata-book/libedata-book.pc
1559 addressbook/libegdbus/Makefile
1560 addressbook/backends/Makefile
1561 addressbook/backends/file/Makefile
1562 addressbook/backends/vcf/Makefile
1563 addressbook/backends/ldap/Makefile
1564 addressbook/backends/google/Makefile
1565 addressbook/backends/webdav/Makefile
1568 calendar/libecal/Makefile
1569 calendar/libecal/libecal.pc
1570 calendar/libedata-cal/Makefile
1571 calendar/libedata-cal/libedata-cal.pc
1572 calendar/libegdbus/Makefile
1573 calendar/backends/Makefile
1574 calendar/backends/caldav/Makefile
1575 calendar/backends/file/Makefile
1576 calendar/backends/http/Makefile
1577 calendar/backends/contacts/Makefile
1578 calendar/backends/weather/Makefile
1580 camel/providers/Makefile
1581 camel/providers/imap/Makefile
1582 camel/providers/imapx/Makefile
1583 camel/providers/local/Makefile
1584 camel/providers/nntp/Makefile
1585 camel/providers/pop3/Makefile
1586 camel/providers/sendmail/Makefile
1587 camel/providers/smtp/Makefile
1588 camel/tests/Makefile
1589 camel/tests/folder/Makefile
1590 camel/tests/lib/Makefile
1591 camel/tests/message/Makefile
1592 camel/tests/mime-filter/Makefile
1593 camel/tests/misc/Makefile
1594 camel/tests/smime/Makefile
1596 libebackend/Makefile
1597 libebackend/libebackend.pc
1598 libedataserver/Makefile
1599 libedataserver/eds-version.h
1600 libedataserver/libedataserver.pc
1601 libedataserverui/Makefile
1602 libedataserverui/libedataserverui.pc
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