2
dnl Evolution-Data-Server version
3
m4_define([eds_major_version], [3])
4
m4_define([eds_minor_version], [5])
5
m4_define([eds_micro_version], [3])
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.6])
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].1,[http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server])
24
AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability foreign])
25
AC_CONFIG_MACRO_DIR([m4])
26
AC_CONFIG_SRCDIR(README)
27
AC_CONFIG_HEADERS(config.h)
29
dnl This is for the autoconf tests only - it set's the language we use
32
dnl Automake 1.11 - Silent Build Rules
33
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
35
dnl Required Package Versions
36
m4_define([glib_minimum_version], [2.32])
37
m4_define([gtk_minimum_version], [3.2])
38
m4_define([gcr_minimum_version], [3.4])
39
m4_define([gnome_keyring_minimum_version], [2.20.1])
40
m4_define([libxml_minimum_version], [2.0.0]) dnl XXX Just a Guess
41
m4_define([libsoup_minimum_version], [2.38.1])
42
m4_define([libgdata_minimum_version], [0.10])
43
m4_define([oauth_minimum_version], [0.9.4])
44
m4_define([sqlite_minimum_version], [3.5])
45
m4_define([libical_minimum_version], [0.43])
48
m4_define([goa_minimum_version], [3.2])
49
m4_define([gweather_minimum_version], [2.90.0])
51
AC_SUBST([BASE_VERSION],[base_version])
52
AC_SUBST([API_VERSION],[api_version])
53
AC_DEFINE_UNQUOTED(BASE_VERSION, ["$BASE_VERSION"], [Base version (Major.Minor)])
54
AC_DEFINE_UNQUOTED(API_VERSION, ["$API_VERSION"], [API version (Major.Minor)])
56
EDS_MAJOR_VERSION=eds_major_version
57
EDS_MINOR_VERSION=eds_minor_version
58
EDS_MICRO_VERSION=eds_micro_version
62
dnl ******************************
64
dnl ******************************
65
ADDRESS_BOOK_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.AddressBook4"
66
CALENDAR_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Calendar3"
67
SOURCES_DBUS_SERVICE_NAME="org.gnome.evolution.dataserver.Sources0"
70
ADDRESS_BOOK_DBUS_SERVICE_NAME,
71
["$ADDRESS_BOOK_DBUS_SERVICE_NAME"],
72
[D-Bus service name for the address book factory])
75
CALENDAR_DBUS_SERVICE_NAME,
76
["$CALENDAR_DBUS_SERVICE_NAME"],
77
[D-Bus service name for the calendar factory])
80
SOURCES_DBUS_SERVICE_NAME,
81
["$SOURCES_DBUS_SERVICE_NAME"],
82
[D-Bus service name for the source registry])
84
AC_SUBST(ADDRESS_BOOK_DBUS_SERVICE_NAME)
85
AC_SUBST(CALENDAR_DBUS_SERVICE_NAME)
86
AC_SUBST(SOURCES_DBUS_SERVICE_NAME)
88
dnl ******************************
89
dnl Libtool versioning
90
dnl ******************************
91
LIBEDATASERVER_CURRENT=17
92
LIBEDATASERVER_REVISION=0
95
LIBEDATASERVERUI_CURRENT=4
96
LIBEDATASERVERUI_REVISION=0
97
LIBEDATASERVERUI_AGE=0
103
LIBEDATACAL_CURRENT=18
104
LIBEDATACAL_REVISION=0
107
LIBEDATABOOK_CURRENT=15
108
LIBEDATABOOK_REVISION=0
119
LIBEBACKEND_CURRENT=4
120
LIBEBACKEND_REVISION=0
123
AC_SUBST(EDS_MAJOR_VERSION)
124
AC_SUBST(EDS_MINOR_VERSION)
125
AC_SUBST(EDS_MICRO_VERSION)
126
AC_SUBST(LIBEDATASERVER_CURRENT)
127
AC_SUBST(LIBEDATASERVER_REVISION)
128
AC_SUBST(LIBEDATASERVER_AGE)
129
AC_SUBST(LIBEDATASERVERUI_CURRENT)
130
AC_SUBST(LIBEDATASERVERUI_REVISION)
131
AC_SUBST(LIBEDATASERVERUI_AGE)
132
AC_SUBST(LIBECAL_CURRENT)
133
AC_SUBST(LIBECAL_REVISION)
134
AC_SUBST(LIBECAL_AGE)
135
AC_SUBST(LIBEDATACAL_CURRENT)
136
AC_SUBST(LIBEDATACAL_REVISION)
137
AC_SUBST(LIBEDATACAL_AGE)
138
AC_SUBST(LIBEBOOK_CURRENT)
139
AC_SUBST(LIBEBOOK_REVISION)
140
AC_SUBST(LIBEBOOK_AGE)
141
AC_SUBST(LIBEDATABOOK_CURRENT)
142
AC_SUBST(LIBEDATABOOK_REVISION)
143
AC_SUBST(LIBEDATABOOK_AGE)
144
AC_SUBST(LIBCAMEL_CURRENT)
145
AC_SUBST(LIBCAMEL_REVISION)
146
AC_SUBST(LIBCAMEL_AGE)
147
AC_SUBST(LIBEBACKEND_CURRENT)
148
AC_SUBST(LIBEBACKEND_REVISION)
149
AC_SUBST(LIBEBACKEND_AGE)
151
dnl **************************************
152
dnl Put the ACLOCAL flags in the Makefile
153
dnl **************************************
154
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
156
dnl ******************************
157
dnl Compiler Warning Flags
158
dnl ******************************
159
AS_COMPILER_FLAGS(WARNING_FLAGS,
161
-Wno-missing-field-initializers
163
-Wno-unused-parameter
164
-Wno-deprecated-declarations
165
-Wdeclaration-after-statement
166
-Werror-implicit-function-declaration
167
-Wformat-security -Winit-self
168
-Wmissing-declarations -Wmissing-include-dirs
169
-Wmissing-noreturn -Wnested-externs -Wpointer-arith
170
-Wredundant-decls -Wundef -Wwrite-strings")
171
AC_SUBST(WARNING_FLAGS)
173
dnl More depracation from EBook/ECal:
174
dnl -DE_BOOK_DISABLE_DEPRECATED
175
dnl -DE_CAL_DISABLE_DEPRECATED
177
dnl Other useful compiler warnings for test builds only.
178
dnl These may produce warnings we have no control over,
179
dnl or false positives we don't always want to see.
181
dnl -Wformat-nonliteral
182
dnl -Wmissing-format-attribute
184
dnl -Wstrict-aliasing=2
186
AM_CPPFLAGS="$WARNING_FLAGS -fno-strict-aliasing"
187
AC_SUBST(AM_CPPFLAGS)
190
dnl define disable deprecated for EBook and ECal .am files
191
case "$WARNING_FLAGS" in
192
*E_BOOK_DISABLE_DEPRECATED*)
193
AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 1 == 1 ])
196
AM_CONDITIONAL(HAVE_E_BOOK_DISABLE_DEPRECATED, [ test 0 == 1 ])
200
case "$WARNING_FLAGS" in
201
*E_CAL_DISABLE_DEPRECATED*)
202
AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 1 == 1 ])
205
AM_CONDITIONAL(HAVE_E_CAL_DISABLE_DEPRECATED, [ test 0 == 1 ])
209
dnl ******************************
210
dnl Initialize maintainer mode
211
dnl ******************************
212
AM_MAINTAINER_MODE([enable])
214
if test "x$enable_maintainer_mode" = "xyes" ; then
215
AC_DEFINE(ENABLE_MAINTAINER_MODE, 1, [Configured with enabled maintainer mode])
229
AC_MSG_ERROR([You need bison to build evolution-data-server])
233
dnl GCC 4.4 got more aggressive in its aliasing optimizations, changing
234
dnl behavior that -- according to the C99 standard -- is supposed to be
235
dnl undefined. We may still have aliasing abuses lying around that rely
236
dnl on GCC's previous "undefined" behavior, so disable strict-aliasing
237
dnl optimization until we can find and fix all the abuses.
238
dnl (AC_PROG_CC must run first to set the GCC variable.)
239
dnl XXX This really belongs in AM_CFLAGS.
240
if test "x${GCC}" = "xyes"; then
241
CFLAGS="$CFLAGS -fno-strict-aliasing"
244
dnl ******************************
246
dnl ******************************
247
IT_PROG_INTLTOOL([0.35.5])
249
AM_GNU_GETTEXT_VERSION([0.17])
250
AM_GNU_GETTEXT([external])
252
GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
253
AC_SUBST(GETTEXT_PACKAGE)
254
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
256
localedir='$(prefix)/$(DATADIRNAME)/locale'
259
dnl ******************************
260
dnl Initialize libtool
261
dnl ******************************
263
LT_INIT(disable-static win32-dll)
267
dnl ******************************
269
dnl ******************************
270
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
272
dnl The private D-Bus documentation is for developers only.
273
AC_ARG_WITH([private-docs],
274
AS_HELP_STRING([--with-private-docs],
275
[Build documentation for private libraries ]
276
[(requires --enable-gtk-doc) [default=no]],),
277
[with_private_docs="$withval"],[with_private_docs="no"])
278
AM_CONDITIONAL(WITH_PRIVATE_DOCS, [test x$with_private_docs = xyes])
280
dnl This must appear after AC_CANONICAL_HOST, which defines $host.
283
dnl Do not set '-Wl,--no-undefined' on freebsd/openbsd
286
LDFLAGS="$LDFLAGS -Wl,--no-undefined"
290
dnl ******************************
292
dnl ******************************
293
AC_MSG_CHECKING([for Win32])
297
NO_UNDEFINED='-no-undefined'
298
SOCKET_LIBS='-lws2_32 -ldnsapi'
300
LIBEXECDIR_IN_SERVER_FILE='../../../libexec'
301
AC_CACHE_VAL(ac_cv_have_addrinfo, [ac_cv_have_addrinfo=yes])
302
AC_DEFINE(_WIN32_WINNT, 0x501, [To get getaddrinfo etc declarations])
309
LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
316
LIBEXECDIR_IN_SERVER_FILE="$libexecdir"
319
AC_MSG_RESULT([$os_win32])
320
AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
321
AC_SUBST(NO_UNDEFINED)
322
AC_SUBST(SOCKET_LIBS)
323
AC_SUBST(LIBEXECDIR_IN_SERVER_FILE)
325
dnl **************************************
326
dnl Check for posix compatible sys/wait.h
327
dnl **************************************
330
dnl ************************************
331
dnl Check for posix compatible alloca()
332
dnl ************************************
335
dnl ******************************
336
dnl Checks for functions
337
dnl ******************************
338
AC_CHECK_FUNCS(fsync strptime strtok_r nl_langinfo)
340
dnl ***********************************
341
dnl Check for base dependencies early.
342
dnl ***********************************
343
PKG_CHECK_MODULES(GNOME_PLATFORM,
344
[gio-2.0 >= glib_minimum_version
345
gmodule-2.0 >= glib_minimum_version
346
gtk+-3.0 >= gtk_minimum_version
347
libxml-2.0 >= libxml_minimum_version
348
libsoup-2.4 >= libsoup_minimum_version
349
libgdata >= libgdata_minimum_version])
351
if test x$os_win32 = xno; then
352
PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
355
dnl *******************************
356
dnl Check for GNOME Online Accounts
357
dnl *******************************
359
[AS_HELP_STRING([--enable-goa],
360
[enable GNOME Online Accounts support (default=yes)])],
361
[enable_goa=$enableval], [enable_goa=yes])
362
AC_MSG_CHECKING([if GNOME Online Accounts support is enabled])
363
AC_MSG_RESULT([$enable_goa])
364
if test "x$enable_goa" = xyes; then
365
PKG_CHECK_MODULES([GOA], [goa-1.0 >= goa_minimum_version],,
366
[AC_MSG_ERROR([goa-1.0 not found (or version < goa_minimum_version),
367
If you want to disable GNOME Online Accounts support,
368
please append --disable-goa to configure.])])
370
PKG_CHECK_MODULES([OAUTH], [oauth >= oauth_minimum_version],,
371
[AC_MSG_ERROR([oauth not found (or version < oauth_minimum_version),
372
If you want to disable GNOME Online Accounts support,
373
please append --disable-goa to configure.])])
375
if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
376
AC_DEFINE(HAVE_GOA,1,[Have goa-1.0 and libgdata >= 0.9.1])
379
libgdata >= 0.9.1 is required for GNOME Online Accounts support.
380
If you want to disable GNOME Online Accounts support, please
381
append --disable-goa to configure.])
384
AM_CONDITIONAL(HAVE_GOA, [test x$enable_goa = xyes])
386
dnl GoaPasswordBased was introduced in version 3.5.
387
if `$PKG_CONFIG --atleast-version=3.5 goa-1.0`; then
388
AC_DEFINE(HAVE_GOA_PASSWORD_BASED,1,[Have GoaPasswordBased in goa-1.0])
391
if test x$os_win32 = xno; then
392
PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
395
dnl ***********************************
396
dnl Check for GNOME Keyring.
397
dnl ***********************************
398
if test x$os_win32 = xno; then
399
PKG_CHECK_MODULES(GNOME_KEYRING,
400
[gnome-keyring-1 >= gnome_keyring_minimum_version])
402
AC_SUBST(GNOME_KEYRING_CFLAGS)
403
AC_SUBST(GNOME_KEYRING_LIBS)
405
dnl **********************************************************
406
dnl gcr-base is needed for secure password exchange over D-Bus
407
dnl **********************************************************
408
PKG_CHECK_MODULES(GCR_BASE, [gcr-base-3 >= gcr_minimum_version])
409
AC_SUBST(GCR_BASE_CFLAGS)
410
AC_SUBST(GCR_BASE_LIBS)
412
LIBICAL_REQUIRED=libical_minimum_version
413
AC_SUBST(LIBICAL_REQUIRED)
415
dnl ******************************
417
dnl ******************************
418
AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
420
AC_DEFINE(HAVE_REGEXEC,1,[Define to 1 if you have the regexec function.])],
421
[AC_MSG_ERROR([No regex library found])])])
424
dnl ******************************
426
dnl ******************************
428
AS_HELP_STRING([--with-libdb=PREFIX],
429
[Prefix where libdb is installed]),
430
[libdb_prefix="$withval"], [libdb_prefix='${prefix}'])
432
DB_CFLAGS="-I$libdb_prefix/include"
433
DB_LIBS="-L$libdb_prefix/lib -ldb"
435
AC_MSG_CHECKING([Berkeley DB])
436
save_cflags=$CFLAGS; CFLAGS=$DB_CFLAGS
437
save_libs=$LIBS; LIBS="$DB_LIBS"
438
AC_LINK_IFELSE([AC_LANG_PROGRAM(
440
[[db_create(NULL, NULL, 0)]])],
441
[AC_MSG_RESULT([yes])],
442
[AC_MSG_ERROR([Cannot find libdb])])
448
dnl ******************************
450
dnl ******************************
454
AC_CACHE_CHECK([for iconv in -liconv], [ac_cv_libiconv],
455
AC_LINK_IFELSE([AC_LANG_PROGRAM(
462
cd = iconv_open ("UTF-8", "ISO-8859-1");
464
)],[ac_cv_libiconv=yes],[ac_cv_libiconv=no]))
466
if test "x$ac_cv_libiconv" = "xyes"; then
468
if test "x$os_win32" = "xyes"; then
469
dnl Don't pointlessly auto-export the global symbols
470
dnl from a potentially static libiconv.a
471
ICONV_LIBS="$ICONV_LIBS -Wl,--exclude-libs=libiconv.a"
476
AC_CHECK_FUNC(iconv, [have_iconv=yes], [have_iconv=no])
479
if test "x$have_iconv" = "xyes"; then
480
if test "x$ac_cv_libiconv" = "xno"; then
481
AC_CHECK_FUNCS(gnu_get_libc_version)
483
AC_CACHE_CHECK([if iconv() handles UTF-8], [ac_cv_libiconv_utf8],
484
AC_RUN_IFELSE([AC_LANG_SOURCE([[
488
#ifdef HAVE_GNU_GET_LIBC_VERSION
489
#include <gnu/libc-version.h>
492
char *jp = "\x1B\x24\x42\x46\x7C\x4B\x5C\x38\x6C";
493
char *utf8 = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E";
494
char *transbuf = malloc (10), *trans = transbuf;
496
size_t jp_len = strlen (jp), utf8_len = 10;
497
size_t utf8_real_len = strlen (utf8);
499
#ifdef HAVE_GNU_GET_LIBC_VERSION
500
/* glibc 2.1.2's iconv is broken in hard to test ways. */
501
if (!strcmp (gnu_get_libc_version (), "2.1.2"))
505
cd = iconv_open ("UTF-8", "ISO-2022-JP");
506
if (cd == (iconv_t) -1)
508
if (iconv (cd, &jp, &jp_len, &trans, &utf8_len) == -1 || jp_len != 0)
510
if (memcmp (utf8, transbuf, utf8_real_len) != 0)
514
],[ac_cv_libiconv_utf8=yes],[ac_cv_libiconv_utf8=no; have_iconv=no],[ac_cv_libiconv_utf8=hopefully]))
517
if test "x$have_iconv" = "xno"; then
518
AC_MSG_ERROR([You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv])
522
CFLAGS="$CFLAGS -I$srcdir"
524
AC_MSG_CHECKING([preferred charset name formats for system iconv])
525
AC_RUN_IFELSE([AC_LANG_SOURCE([[
527
#include "iconv-detect.c"
529
[AC_MSG_RESULT([found])],
530
[AC_MSG_RESULT([not found])
532
*** The iconv-detect program was unable to determine the
533
*** preferred charset name formats recognized by your
534
*** iconv library. It is suggested that you install a
535
*** working iconv library such as the one found at
536
*** ftp://ftp.gnu.org/pub/gnu/libiconv
538
[if test "x$os_win32" = xyes; then
539
AC_MSG_RESULT([using known win32 result])
540
echo '/* This is an auto-generated header, DO NOT EDIT! */' > iconv-detect.h
541
echo >>iconv-detect.h
542
echo '#define ICONV_ISO_D_FORMAT "iso-%d-%d"' >>iconv-detect.h
543
echo '#define ICONV_ISO_S_FORMAT "iso-%d-%s"' >>iconv-detect.h
544
echo '#define ICONV_10646 "UCS-4BE"' >>iconv-detect.h
546
AC_MSG_RESULT([unknown])
548
*** We can't determine the preferred charset name formats
549
*** recognized by your iconv library. You are
550
*** cross-compiling and supposed to know what you are doing.
551
*** Please construct the iconv-detect.h file manually.
556
CFLAGS="$save_CFLAGS"
559
AC_ARG_ENABLE([backtraces],
560
[AS_HELP_STRING([--enable-backtraces],
561
[enable backtraces for e_pointer_tracker (default=no)])],
562
[enable_backtraces=$enableval], [enable_backtraces=no])
564
if test "x$enable_backtraces" = xyes; then
565
dnl ****************************
566
dnl Check for backtrace_symbols function and dwfl from elfutils
567
dnl ****************************
568
AC_MSG_CHECKING([libc backtrace_symbols function])
569
AC_LINK_IFELSE([AC_LANG_PROGRAM(
570
[[#include <execinfo.h>]],
571
[[{ void *bt[1]; backtrace_symbols (bt, backtrace(bt, 1)); }]])],
572
[AC_DEFINE(HAVE_BACKTRACE_SYMBOLS, 1, [libc provides backtrace_symbols function]) ac_cv_have_bsf=yes],[ac_cv_have_bsf=no])
573
AC_MSG_RESULT([$ac_cv_have_bsf])
575
if test "x$ac_cv_have_bsf" = xyes; then
578
AC_MSG_CHECKING([elfutils/libdwfl])
579
AC_LINK_IFELSE([AC_LANG_PROGRAM(
580
[[#include <elfutils/libdwfl.h>]],
584
Dwarf_Addr module_low_addr;
587
dwfl_standard_find_debuginfo;
588
dwfl_linux_proc_find_elf;
590
dwfl_linux_proc_report (NULL, 1);
591
dwfl_report_end (NULL, NULL, NULL);
593
dwfl_module_addrname (NULL, NULL);
594
dwfl_module_getsrc (NULL, NULL);
595
dwfl_lineinfo (NULL, NULL, NULL, NULL, NULL, NULL);
596
DWARF_CB_ABORT; DWARF_CB_OK;
597
dwfl_getmodules (NULL, NULL, NULL, 0);
599
[AC_DEFINE(HAVE_ELFUTILS_LIBDWFL, 1, [have elfutils/libdwfl.h functions]) ac_cv_have_elfdwfl=yes],[ac_cv_have_elfdwfl=no])
600
AC_MSG_RESULT([$ac_cv_have_elfdwfl])
604
if test "x$ac_cv_have_elfdwfl" = xyes; then
606
AC_SUBST(LIBDWFL_LIBS)
611
dnl **********************************
612
dnl Check for nl_langinfo and CODESET
613
dnl **********************************
614
AC_MSG_CHECKING([for nl_langinfo (CODESET)])
615
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
616
[[#include <langinfo.h>]],
617
[[char *codeset = nl_langinfo (CODESET);]]
618
)],[ac_cv_langinfo_codeset=yes],[ac_cv_langinfo_codeset=no])
619
if test "x$ac_cv_langinfo_codeset" = "xyes"; then
620
AC_DEFINE(HAVE_CODESET, 1, [Have nl_langinfo (CODESET)])
622
AC_MSG_RESULT([$ac_cv_langinfo_codeset])
624
dnl *******************************************************
625
dnl Check to see if strftime supports the use of %l and %k
626
dnl *******************************************************
627
AC_MSG_CHECKING([for %l and %k support in strftime])
628
AC_RUN_IFELSE([AC_LANG_SOURCE(
629
[[ #include <stdlib.h>
632
int main(int argc, char **argv) {
638
timeinfo=localtime(&rawtime);
640
strftime(buf, 10, "%lx%k", timeinfo);
642
if (buf[0] == '\0' || buf[0] == 'x' || strstr(buf, "l") || strstr(buf, "k"))
649
)],[AC_DEFINE(HAVE_LKSTRFTIME, 1, [strftime supports use of l and k]) ac_cv_lkstrftime=yes],[ac_cv_lkstrftime=no],[ac_cv_lkstrftime=no])
650
AC_MSG_RESULT([$ac_cv_lkstrftime])
652
dnl ********************************************************************************
653
dnl security extension support (SSL and S/MIME)
655
dnl The following voodoo does detection of mozilla libraries (nspr and nss)
656
dnl needed by Camel (SSL and S/MIME).
658
dnl The Evolution security extensions are only built if these libraries are found
659
dnl ********************************************************************************
662
AC_ARG_ENABLE([smime],
663
AS_HELP_STRING([--enable-smime],
664
[Enable SMIME support through Mozilla nss @<:@default=yes@:>@ ]),
665
[enable_smime="$enableval"],[enable_smime="yes"])
667
AC_ARG_WITH([nspr-includes],
668
AS_HELP_STRING([--with-nspr-includes],
669
[Prefix of Mozilla nspr4 includes.]),
670
[with_nspr_includes="$withval"])
672
AC_ARG_WITH([nspr-libs],
673
AS_HELP_STRING([--with-nspr-libs],
674
[Prefix of Mozilla nspr4 libs.]),
675
[with_nspr_libs="$withval"])
677
AC_ARG_WITH([nss-includes],
678
AS_HELP_STRING([--with-nss-includes],
679
[Prefix of Mozilla nss3 includes.]),
680
[with_nss_includes="$withval"])
682
AC_ARG_WITH([nss-libs],
683
AS_HELP_STRING([--with-nss-libs],
684
[Prefix of Mozilla nss3 libs.]),
685
[with_nss_libs="$withval"])
687
if test -n "${with_nspr_includes}" || test -n "${with_nspr_libs}" || test -n "${with_nss_includes}" || test -n "${with_nss_libs}"; then
693
dnl check if pkg-config files exist (which are only shipped by distributions, not upstream)
694
if test "x${check_manually}" = "xno"; then
695
AC_MSG_CHECKING(Mozilla NSPR pkg-config module name)
696
mozilla_nspr_pcs="nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nspr"
697
for pc in $mozilla_nspr_pcs; do
698
if $PKG_CONFIG --exists $pc; then
705
AC_MSG_CHECKING(Mozilla NSS pkg-config module name)
706
mozilla_nss_pcs="nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss"
707
for pc in $mozilla_nss_pcs; do
708
if $PKG_CONFIG --exists $pc; then
715
if test -n "$mozilla_nspr" -a -n "$mozilla_nss"; then
716
if test "x$enable_smime" = "xyes"; then
717
AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
720
MANUAL_NSPR_CFLAGS=""
731
if test "x${check_manually}" = "xyes"; then
732
dnl ******************
734
dnl ******************
735
AC_MSG_CHECKING([for Mozilla nspr4 includes])
736
CPPFLAGS_save="$CPPFLAGS"
737
if test -n "$with_nspr_includes"; then
738
CPPFLAGS="$CPPFLAGS -I$with_nspr_includes"
741
AC_CHECK_HEADERS(nspr.h prio.h,
742
[moz_nspr_includes="yes"],[moz_nspr_includes="no"])
743
CPPFLAGS="$CPPFLAGS_save"
745
if test "x${moz_nspr_includes}" = "xyes"; then
746
MANUAL_NSPR_CFLAGS="-I$with_nspr_includes"
748
AC_MSG_FAILURE([NSPR headers not found. Use --with-nspr-includes to specify the include dir of NSPR.])
750
AC_MSG_RESULT([$moz_nspr_includes])
752
AC_MSG_CHECKING([for Mozilla nspr libraries])
753
CFLAGS_save="$CFLAGS"
754
LDFLAGS_save="$LDFLAGS"
756
nsprlibs="$DL_LIB -lplc4 -lplds4 -lnspr4"
758
CFLAGS="$CFLAGS $MANUAL_NSPR_CFLAGS"
760
dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
761
if test -n "${with_nspr_libs}"; then
762
LDFLAGS="$LDFLAGS -L$with_nspr_libs"
767
AC_LINK_IFELSE([AC_LANG_CALL([],[PR_Init])],
768
[moz_nspr_libs="yes"],[moz_nspr_libs="no"])
770
CFLAGS="$CFLAGS_save"
771
LDFLAGS="$LDFLAGS_save"
774
if test "x${moz_nspr_libs}" = "xyes"; then
775
if test -n "${with_nspr_libs}"; then
776
MANUAL_NSPR_LIBS="-L$with_nspr_libs $nsprlibs"
778
MANUAL_NSPR_LIBS="$nsprlibs"
781
AC_MSG_FAILURE([NSPR libs not found. Use --with-nspr-libs to specify the libdir of NSPR.])
783
AC_MSG_RESULT([$moz_nspr_libs])
785
dnl *****************
787
dnl *****************
788
AC_MSG_CHECKING([for Mozilla nss3 includes])
789
CPPFLAGS_save="$CPPFLAGS"
790
CPPFLAGS="$CPPFLAGS -I$with_nspr_includes -I$with_nss_includes"
792
AC_CHECK_HEADERS(nss.h ssl.h smime.h,
793
[moz_nss_includes="yes"],[moz_nss_includes="no"])
794
CPPFLAGS="$CPPFLAGS_save"
796
if test "x${moz_nss_includes}" = "xyes"; then
797
MANUAL_NSS_CFLAGS="-I$with_nss_includes"
799
AC_MSG_FAILURE([NSS headers not found. Use --with-nss-includes to specify the include dir of NSS.])
801
AC_MSG_RESULT($moz_nss_includes)
803
AC_MSG_CHECKING([for Mozilla nss libraries])
804
LDFLAGS_save="$LDFLAGS"
806
nsslibs="-lssl3 -lsmime3 -lnss3"
808
LIBS="$nsslibs $nsprlibs"
809
dnl Test to protect from giving libtool an -L , which results in failure (used below,too)
810
if test -n "${with_nss_libs}"; then
811
LDFLAGS="$LDFLAGS -L$with_nss_libs $MANUAL_NSPR_LIBS"
813
LDFLAGS="$LDFLAGS $LDFLAGS_NSPR $MANUAL_NSPR_LIBS"
816
AC_LINK_IFELSE([AC_LANG_CALL([],[NSS_Init])],
817
[moz_nss_libs="yes"],[moz_nss_libs="no"])
818
LDFLAGS="$LDFLAGS_save"
821
if test "x${moz_nss_libs}" = "xyes"; then
822
if test "x${enable_smime}" = "xyes"; then
823
AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled])
826
if test -n "${with_nss_libs}"; then
827
MANUAL_NSS_LIBS="-L$with_nss_libs $nsslibs"
829
MANUAL_NSS_LIBS="$nsslibs"
832
AC_MSG_FAILURE([NSS libs not found. Use --with-nss-libs to specify the libdir of NSS.])
834
AC_MSG_RESULT([$moz_nss_libs])
836
MANUAL_NSS_CFLAGS="$MANUAL_NSPR_CFLAGS $MANUAL_NSS_CFLAGS"
837
MANUAL_NSS_LIBS="$MANUAL_NSPR_LIBS $MANUAL_NSS_LIBS"
840
AM_CONDITIONAL(ENABLE_SMIME, test "x$msg_smime" != "xno")
842
dnl For pkgconfig files.
843
AC_SUBST(mozilla_nss)
844
AC_SUBST(mozilla_nspr)
846
AC_SUBST(MANUAL_NSPR_CFLAGS)
847
AC_SUBST(MANUAL_NSPR_LIBS)
848
AC_SUBST(MANUAL_NSS_CFLAGS)
849
AC_SUBST(MANUAL_NSS_LIBS)
851
dnl ******************************
852
dnl system mail stuff
853
dnl ******************************
854
AC_PATH_PROG(SENDMAIL, sendmail, [/usr/sbin/sendmail], [/usr/sbin:/usr/lib])
855
AC_DEFINE_UNQUOTED(SENDMAIL_PATH, "$SENDMAIL", [Path to a sendmail binary, or equivalent])
857
AC_MSG_CHECKING([system mail directory])
858
if test -d /var/mail -a '!' -h /var/mail ; then
859
system_mail_dir="/var/mail"
861
system_mail_dir="/var/spool/mail"
863
AC_DEFINE_UNQUOTED(SYSTEM_MAIL_DIR, "$system_mail_dir", [Directory local mail is delivered to])
865
case `ls -ld $system_mail_dir 2>&1 | awk '{print $1;}'` in
867
CAMEL_LOCK_HELPER_USER=""
868
CAMEL_LOCK_HELPER_GROUP=""
869
system_mail_perm="world writable"
872
CAMEL_LOCK_HELPER_USER=""
873
CAMEL_LOCK_HELPER_GROUP=`ls -ld $system_mail_dir 2>&1 | awk '{print $4;}'`
874
system_mail_perm="writable by group $CAMEL_LOCK_HELPER_GROUP"
877
CAMEL_LOCK_HELPER_USER=`ls -ld $system_mail_dir 2>&1 | awk '{print $3;}'`
878
CAMEL_LOCK_HELPER_GROUP=""
879
system_mail_perm="writable by user $CAMEL_LOCK_HELPER_USER"
882
CAMEL_LOCK_HELPER_USER=""
883
CAMEL_LOCK_HELPER_GROUP=""
884
system_mail_perm="???"
888
AC_MSG_RESULT([$system_mail_dir, $system_mail_perm])
889
AC_SUBST(CAMEL_LOCK_HELPER_USER)
890
AC_SUBST(CAMEL_LOCK_HELPER_GROUP)
892
dnl ******************************
894
dnl ******************************
895
AC_CACHE_CHECK(for tm_gmtoff in struct tm, [ac_cv_struct_tm_gmtoff],
896
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
897
[[ #include <time.h> ]],
902
)],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no]))
903
if test "x$ac_cv_struct_tm_gmtoff" = "xyes"; then
904
AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has a tm_gmtoff member])
906
AC_CACHE_CHECK(for timezone variable, [ac_cv_var_timezone],
907
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
908
[[ #include <time.h> ]],
910
)],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no]))
911
if test "x$ac_cv_var_timezone" = "xyes"; then
912
AC_DEFINE(HAVE_TIMEZONE, 1, [Define if libc defines a timezone variable])
913
AC_CACHE_CHECK(for altzone variable, [ac_cv_var_altzone],
914
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
915
[[ #include <time.h> ]],
917
)],[ac_cv_var_altzone=yes],[ac_cv_var_altzone=no]))
918
if test "x$ac_cv_var_altzone" = "xyes"; then
919
AC_DEFINE(HAVE_ALTZONE, 1, [Define if libc defines an altzone variable])
922
AC_MSG_ERROR([unable to find a way to determine timezone])
926
dnl ******************************
927
dnl ctime_r prototype
928
dnl ******************************
929
AC_CACHE_CHECK([if ctime_r wants three arguments], [ac_cv_ctime_r_three_args],
931
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
932
[[ #include <time.h> ]],
935
ctime_r (&date, buf, 100); ]]
936
)],[ac_cv_ctime_r_three_args=yes],[ac_cv_ctime_r_three_args=no])
939
if test "x$ac_cv_ctime_r_three_args" = "xyes" ; then
940
AC_DEFINE(CTIME_R_THREE_ARGS, 1, [Solaris-style ctime_r])
943
dnl ******************************
944
dnl gethostbyname_r prototype
945
dnl ******************************
946
AC_CHECK_FUNCS(gethostbyname_r,[
947
AC_CACHE_CHECK([if gethostbyname_r wants five arguments], [ac_cv_gethostbyname_r_five_args],
949
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
951
#include "confdefs.h"
952
#include <sys/types.h>
953
#include <sys/socket.h>
954
#include <netinet/in.h>
956
#define BUFSIZE (sizeof(struct hostent)+10)
960
char buffer[BUFSIZE];
963
(void)gethostbyname_r ("www.ximian.com", &hent, buffer, bufsize, &h_errno);
965
)],[ac_cv_gethostbyname_r_five_args=yes],[ac_cv_gethostbyname_r_five_args=no])
968
if test "x$ac_cv_gethostbyname_r_five_args" = "xyes" ; then
969
AC_DEFINE(GETHOSTBYNAME_R_FIVE_ARGS, 1, [Solaris-style gethostbyname_r])
972
dnl ******************************
973
dnl gethostbyaddr_r prototype
974
dnl ******************************
975
AC_CHECK_FUNCS(gethostbyaddr_r,[
976
AC_CACHE_CHECK([if gethostbyaddr_r wants seven arguments], [ac_cv_gethostbyaddr_r_seven_args],
978
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
980
#include "confdefs.h"
981
#include <sys/types.h>
982
#include <sys/socket.h>
983
#include <netinet/in.h>
985
#define BUFSIZE (sizeof(struct hostent)+10)
989
char buffer[BUFSIZE];
992
(void)gethostbyaddr_r ("www.ximian.com", 14, AF_INET, &hent, buffer, bufsize, &h_errno); ]]
993
)],[ac_cv_gethostbyaddr_r_seven_args=yes],[ac_cv_gethostbyaddr_r_seven_args=no])
996
if test "x$ac_cv_gethostbyaddr_r_seven_args" = "xyes" ; then
997
AC_DEFINE(GETHOSTBYADDR_R_SEVEN_ARGS, 1, [Solaris-style gethostbyaddr_r])
1000
dnl ******************************
1001
dnl stat(v)fs location/type
1002
dnl ******************************
1003
AC_CHECK_HEADER([sys/statvfs.h],
1004
[AC_DEFINE([HAVE_SYS_STATVFS_H], 1, [Have <sys/statvfs.h>])],,
1005
[[ #if HAVE_SYS_STATVFS_H
1006
#include <sys/statvfs.h>
1009
AC_CHECK_FUNCS(statvfs)
1011
AC_CHECK_HEADER([sys/param.h],
1012
[AC_DEFINE([HAVE_SYS_PARAM_H], 1, [Have <sys/param.h>])],,
1013
[[ #if HAVE_SYS_PARAM_H
1014
#include <sys/param.h>
1017
AC_CHECK_HEADER([sys/mount.h],
1018
[AC_DEFINE([HAVE_SYS_MOUNT_H], 1, [Have <sys/mount.h>])],,
1019
[[ #if HAVE_SYS_MOUNT_H
1020
#include <sys/mount.h>
1023
AC_CHECK_FUNCS(statfs)
1025
dnl ******************************
1026
dnl IPv6 support and getaddrinfo calls
1027
dnl ******************************
1028
AC_CACHE_CHECK([if system supports getaddrinfo and getnameinfo], [ac_cv_have_addrinfo],
1030
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1031
[[ #include "confdefs.h"
1032
#include <sys/types.h>
1033
#include <sys/socket.h>
1034
#include <netinet/in.h>
1038
[[ #ifndef NI_MAXHOST
1039
#define NI_MAXHOST 1025
1043
#define NI_MAXSERV 32
1046
struct addrinfo hints, *res;
1047
struct sockaddr_in6 sin6;
1049
char host[NI_MAXHOST];
1050
char serv[NI_MAXSERV];
1052
getaddrinfo ("www.ximian.com", NULL, &hints, &res);
1054
getnameinfo((struct sockaddr *)&sin6, sizeof(sin6), host, sizeof(host), serv, sizeof(serv), 0); ]]
1055
)],[ac_cv_have_addrinfo=yes],[ac_cv_have_addrinfo=no])
1058
if test "x$ac_cv_have_addrinfo" = "xno" ; then
1059
AC_DEFINE(NEED_ADDRINFO,1,[Enable getaddrinfo emulation])
1060
if test "x$enable_ipv6" = "xyes" ; then
1061
AC_MSG_ERROR([system doesn't support necessary interfaces for ipv6 support])
1065
AC_ARG_ENABLE([ipv6],
1066
AS_HELP_STRING([--enable-ipv6=no/yes],
1067
[Enable support for resolving IPv6 addresses.]),
1068
[enable_ipv6=$enableval],[enable_ipv6=yes])
1069
if test "x$enable_ipv6" = "xyes"; then
1071
AC_DEFINE(ENABLE_IPv6,1,[Enable IPv6 support])
1072
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1073
[[ #include "confdefs.h"
1074
#include <sys/types.h>
1075
#include <sys/socket.h>
1076
#include <netinet/in.h>
1079
[[ struct addrinfo hints;
1080
hints.ai_flags = AI_ADDRCONFIG;
1082
)],[AC_DEFINE(HAVE_AI_ADDRCONFIG,1,[Define if the system defines the AI_ADDRCONFIG flag for getaddrinfo])],[])
1088
AM_CONDITIONAL(ENABLE_IPv6, [test "x$enable_ipv6" = "xyes"])
1090
AC_CHECK_HEADER([wspiapi.h],
1091
[AC_DEFINE([HAVE_WSPIAPI_H], 1, [Have <wspiapi.h>])],,)
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])
1102
AC_MSG_RESULT([$use_gweather])
1103
if test "x$use_gweather" = "xyes"; then
1104
PKG_CHECK_MODULES([LIBGWEATHER], [gweather-3.0 >= gweather_minimum_version],[],
1105
[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.])])
1107
dnl gweather-3.5 introduces API changes we do not yet support.
1108
if `$PKG_CONFIG --atleast-version=3.5 gweather-3.0`; then
1109
AC_MSG_ERROR([gweather-3.5 is not yet supported. Install gweather-3.4 or specify --disable-weather as a configure option to avoid building the backend.])
1112
AM_CONDITIONAL(ENABLE_WEATHER, [test $use_gweather = yes])
1114
dnl ******************************
1116
dnl ******************************
1117
AC_ARG_ENABLE([nntp],
1118
AS_HELP_STRING([--enable-nntp],
1119
[Build Usenet news (NNTP) backend]),
1120
[enable_nntp=$enableval],[enable_nntp=yes])
1121
if test "x$enable_nntp" = "xyes"; then
1122
AC_DEFINE(ENABLE_NNTP,1,[Build NNTP backend])
1127
AM_CONDITIONAL(ENABLE_NNTP, [test x$enable_nntp = xyes])
1129
AC_DEFINE(HANDLE_LIBICAL_MEMORY, 1, [Define it once memory returned by libical is free'ed properly])
1131
dnl ******************************
1133
dnl ******************************
1134
AC_ARG_ENABLE([dot-locking],
1135
AS_HELP_STRING([--enable-dot-locking=yes/no],
1136
[Enable support for locking mail files with dot locking]),
1137
[enable_dot_locking=$enableval],[enable_dot_locking=yes])
1139
if test "x$os_win32" != "xyes" -a "x$enable_dot_locking" = "xyes"; then
1140
AC_DEFINE(USE_DOT,1,[Define to use dot locking for mbox files])
1146
AC_ARG_ENABLE([file-locking],
1147
AS_HELP_STRING([--enable-file-locking=fcntl/flock/no],
1148
[Enable support for locking mail files with file locking]),
1149
[],[enable_file_locking=fcntl])
1151
if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xfcntl"; then
1152
AC_DEFINE(USE_FCNTL,1,[Define to use fcntl locking for mbox files])
1155
if test "x$os_win32" != "xyes" -a "x$enable_file_locking" = "xflock"; then
1156
AC_DEFINE(USE_FLOCK,1,[Define to use flock locking for mbox files])
1163
dnl ******************************
1164
dnl sendmail operation
1165
dnl ******************************
1166
AC_MSG_CHECKING([for SunOS broken spool format])
1167
if test "x$host_os" = "xsunos" ; then
1168
with_broken_spool="yes"
1171
AC_ARG_WITH([broken-spool],
1172
AS_HELP_STRING([--with-broken-spool=yes/no],
1173
[Using SunOS/Solaris sendmail which has a broken spool format]),
1174
[with_broken_spool=$enableval],[with_broken_spool=${with_broken_spool:=no}])
1176
if test "x$with_broken_spool" = "xyes"; then
1177
AC_DEFINE(HAVE_BROKEN_SPOOL,1,[Define if mail delivered to the system mail directory is in broken Content-Length format])
1180
AC_MSG_RESULT([$with_broken_spool])
1182
dnl ******************************
1183
dnl DBus call timeout
1184
dnl ******************************
1186
AC_ARG_WITH([dbus-call-timeout],
1187
AS_HELP_STRING([--with-dbus-call-timeout=miliseconds],
1188
[Default timeout used when invoking g_dbus_proxy_call() family functions in EBook and ECal library (default=-1)]),
1189
[ac_cv_dbus_call_timeout=$withval],[ac_cv_dbus_call_timeout=-1])
1191
DEFAULT_EDS_DBUS_TIMEOUT=$ac_cv_dbus_call_timeout
1192
AC_SUBST(DEFAULT_EDS_DBUS_TIMEOUT)
1197
EVO_KRB5_SUPPORT(no)
1199
dnl ******************************
1201
dnl ******************************
1204
dnl ******************************
1206
dnl ******************************
1207
if test "x$os_win32" != "xyes"; then
1209
case $with_openldap in
1214
case $with_static_ldap in
1216
msg_ldap="$with_openldap (static)"
1219
msg_ldap="$with_openldap (dynamic)"
1224
dnl SunLDAP support, but if OpenLDAP support, skip check SunLDAP.
1225
if test "x$with_openldap" = "xno" ; then
1226
EVO_SUNLDAP_CHECK(no)
1227
case $with_sunldap in
1232
case $with_static_sunldap in
1234
msg_ldap="$with_sunldap (static)"
1237
msg_ldap="$with_sunldap (dynamic)"
1244
AM_CONDITIONAL(SUNLDAP, [test "$with_sunldap" != no])
1246
LDAP_CFLAGS="$LDAP_CFLAGS -DLDAP_DEPRECATED"
1248
dnl Win32 LDAP support
1249
LDAP_CFLAGS="-DLDAP_DEPRECATED"
1250
LDAP_LIBS="-lwldap32"
1251
AC_SUBST(LDAP_CFLAGS)
1253
AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
1254
AM_CONDITIONAL(ENABLE_LDAP, true)
1255
AM_CONDITIONAL(SUNLDAP, false)
1259
dnl ******************************
1260
dnl GObject marshalling
1261
dnl ******************************
1264
dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1265
EVO_MARSHAL_RULE=$srcdir/marshal.mk
1266
AC_SUBST_FILE(EVO_MARSHAL_RULE)
1268
dnl ******************************
1269
dnl Code coverage flags
1270
dnl ******************************
1272
AC_ARG_ENABLE([code-coverage],
1273
AS_HELP_STRING([--enable-code-coverage], [compile with code coverage code]),
1274
[enable_code_coverage=$enableval], [enable_code_coverage=no])
1276
if test "x$GCC" = "xyes"; then
1277
if test "x$enable_code_coverage" = "xyes"; then
1278
CODE_COVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage -O0 -ggdb"
1279
CODE_COVERAGE_LDFLAGS="-lgcov"
1283
AC_SUBST([CODE_COVERAGE_CFLAGS])
1284
AC_SUBST([CODE_COVERAGE_LDFLAGS])
1286
dnl ******************************
1287
dnl Utility macro to set compiler flags for a specific lib.
1288
dnl EVO_SET_COMPILE_FLAGS(VAR-PREFIX, DEPS, EXTRA-CFLAGS, EXTRA-LIBS)
1289
dnl ******************************
1290
AC_DEFUN([EVO_SET_COMPILE_FLAGS], [
1291
PKG_CHECK_MODULES([$1], [$2])
1292
$1_CFLAGS="[$]$1_CFLAGS $3 "
1293
$1_LIBS="[$]$1_LIBS $4 "
1296
dnl ******************************
1298
dnl ******************************
1299
PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= sqlite_minimum_version])
1301
dnl ******************************
1302
dnl libedataserver flags
1303
dnl ******************************
1304
E_DATA_SERVER_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libxml-2.0 libsoup-2.4 $mozilla_nspr"
1306
EVO_SET_COMPILE_FLAGS(E_DATA_SERVER, $E_DATA_SERVER_DEPS, $MANUAL_NSPR_CFLAGS, $MANUAL_NSPR_LIBS)
1307
AC_SUBST(E_DATA_SERVER_CFLAGS)
1308
AC_SUBST(E_DATA_SERVER_LIBS)
1310
dnl ******************************
1311
dnl libedataserverui
1312
dnl ******************************
1313
E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 libsoup-2.4"
1315
EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
1316
AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
1317
AC_SUBST(E_DATA_SERVER_UI_LIBS)
1319
if test "x$enable_maintainer_mode" = "xyes" ; then
1320
FACTORY_GTK_CFLAGS=$E_DATA_SERVER_UI_CFLAGS
1321
FACTORY_GTK_LIBS=$E_DATA_SERVER_UI_LIBS
1322
AC_SUBST(FACTORY_GTK_CFLAGS)
1323
AC_SUBST(FACTORY_GTK_LIBS)
1326
E_BACKEND_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libsoup-2.4 libxml-2.0"
1328
dnl ******************************
1329
dnl libebackend flags
1330
dnl ******************************
1331
EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
1332
AC_SUBST(E_BACKEND_CFLAGS)
1333
AC_SUBST(E_BACKEND_LIBS)
1335
dnl ******************************
1336
dnl evolution-addressbook flags
1337
dnl ******************************
1338
EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gnome-keyring-1"
1340
EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
1341
AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
1342
AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
1344
dnl ******************************
1345
dnl evolution-calendar flags
1346
dnl ******************************
1347
EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 gnome-keyring-1"
1350
dnl libical.pc from libical-0.43 has a bug in it's CFlags.
1351
dnl It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
1352
dnl to differentiate between <libical/ical.h> and <ical.h>
1353
dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
1354
dnl libical is fixed, we have to work-around the buggy CFlags.
1356
LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
1357
LIBICAL_EXTRA_LIBS=""
1358
AC_SUBST(LIBICAL_EXTRA_CFLAGS)
1359
AC_SUBST(LIBICAL_EXTRA_LIBS)
1361
EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS, $LIBICAL_EXTRA_CFLAGS, $LIBICAL_EXTRA_LIBS)
1362
AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
1363
AC_SUBST(EVOLUTION_CALENDAR_LIBS)
1365
dnl ****************************
1366
dnl Check for ical_set_unknown_token_handling_setting function
1367
dnl ****************************
1368
AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function])
1369
save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS
1370
save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS"
1371
AC_LINK_IFELSE([AC_LANG_PROGRAM(
1372
[[#include <libical/ical.h>]],
1373
[[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])],
1374
[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])
1377
AC_MSG_RESULT([$ac_cv_have_iuth])
1379
dnl ******************************
1381
dnl ******************************
1382
LIBGDATA_REQUIRED=libgdata_minimum_version
1383
AC_SUBST(LIBGDATA_REQUIRED)
1385
EVO_SET_COMPILE_FLAGS(GDATA, libgdata)
1386
AC_SUBST(GDATA_CFLAGS)
1387
AC_SUBST(GDATA_LIBS)
1389
dnl ******************************
1391
dnl ******************************
1392
LIBSOUP_REQUIRED=libsoup_minimum_version
1393
AC_SUBST(LIBSOUP_REQUIRED)
1395
EVO_SET_COMPILE_FLAGS(SOUP, libsoup-2.4)
1396
AC_SUBST(SOUP_CFLAGS)
1399
dnl ******************************
1401
dnl ******************************
1402
SQLITE_REQUIRED=sqlite_minimum_version
1403
AC_SUBST(SQLITE_REQUIRED)
1406
dnl deflateInit is a #define, use deflateEnd instead
1407
AC_CHECK_LIB([z], [deflateEnd], [AC_CHECK_HEADER(zlib.h, [zlib_found=true])])
1409
if test "x$zlib_found" = "xfalse"; then
1410
AC_MSG_ERROR([*** zlib is required])
1413
dnl ******************************
1414
dnl Checks for large file support
1415
dnl ******************************
1416
AC_ARG_ENABLE([largefile],
1417
AS_HELP_STRING([--enable-largefile],
1418
[enable support for large files [[default=no]]]),
1419
[],[enable_largefile="yes"])
1421
if test "x$enable_largefile" != "xno"; then
1423
AC_CACHE_CHECK([for _LARGEFILE64_SOURCE value needed for large files], [ac_cv_largefile64_source],
1424
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1425
[[ #include <sys/types.h>
1426
#include <sys/stat.h>
1429
[[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]]
1430
)],[ac_cv_largefile64_source="no"],
1431
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1432
[[ #define _LARGEFILE64_SOURCE
1433
#include <sys/types.h>
1434
#include <sys/stat.h>
1437
[[ int fd = open ("__o_largefile", O_CREAT | O_RDWR | O_LARGEFILE, 0644); ]])],[ac_cv_largefile64_source="yes"],
1438
[ac_cv_largefile64_source="unknown"])])
1441
enable_largefile="no"
1443
if test "x$ac_cv_largefile64_source" = "xyes"; then
1444
LARGEFILE_CFLAGS="-D_LARGEFILE64_SOURCE"
1445
enable_largefile="yes"
1446
elif test "x$ac_cv_largefile64_source" = "xunknown"; then
1447
AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1450
if test -n "$ac_cv_sys_large_files" -a "x$ac_cv_sys_large_files" != "xno"; then
1451
LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGE_FILES"
1452
enable_largefile="yes"
1455
if test "x$ac_cv_sys_file_offset_bits" != "xno"; then
1456
LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1457
enable_largefile="yes"
1460
AC_DEFINE(O_LARGEFILE, 0, [Define to 0 if your system does not have the O_LARGEFILE flag])
1464
AM_CONDITIONAL(ENABLE_LARGEFILE, [test "x$enable_largefile" = "xyes"])
1466
EVO_SET_COMPILE_FLAGS(CAMEL, gio-2.0 gmodule-2.0 $mozilla_nss sqlite3 >= sqlite_minimum_version, $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $KRB5_LIBS $MANUAL_NSS_LIBS)
1467
AC_SUBST(CAMEL_CFLAGS)
1468
AC_SUBST(CAMEL_LIBS)
1470
dnl ******************************
1471
dnl Special directories
1472
dnl ******************************
1474
dnl If you add something here, consider whether or not you also
1475
dnl need to add it to one or more .pc.in files (for Connector,
1478
privdatadir='${datadir}'/evolution-data-server-$BASE_VERSION
1479
AC_SUBST(privdatadir)
1481
privincludedir='${includedir}'/evolution-data-server-$BASE_VERSION
1482
AC_SUBST(privincludedir)
1484
privlibdir='${libdir}'/evolution-data-server-$BASE_VERSION
1485
AC_SUBST(privlibdir)
1487
imagesdir='${datadir}'/pixmaps/evolution-data-server
1490
moduledir='${libdir}'/evolution-data-server/registry-modules
1493
ebook_backenddir='${libdir}'/evolution-data-server/addressbook-backends
1494
AC_SUBST(ebook_backenddir)
1496
ecal_backenddir='${libdir}'/evolution-data-server/calendar-backends
1497
AC_SUBST(ecal_backenddir)
1499
ro_sourcesdir='${datadir}'/evolution-data-server-$BASE_VERSION/ro-sources
1500
AC_SUBST(ro_sourcesdir)
1502
rw_sourcesdir='${datadir}'/evolution-data-server-$BASE_VERSION/rw-sources
1503
AC_SUBST(rw_sourcesdir)
1505
if test "x$use_gweather" = "xyes"; then
1506
weatherdatadir="$privdatadir/weather"
1507
AC_SUBST(weatherdatadir)
1510
dnl separate camel from e-d-s? or should it be under the same spot? same for now.
1511
camel_providerdir='${libdir}'/evolution-data-server/camel-providers
1512
AC_SUBST(camel_providerdir)
1514
dnl *******************
1515
dnl D-BUS service stuff
1516
dnl *******************
1517
m4_pattern_allow([AM_V_GEN])
1518
EVO_SUBST_SERVICE_RULE='%.service: %.service.in Makefile ; $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" -e s"|\@ADDRESS_BOOK_DBUS_SERVICE_NAME\@|$(ADDRESS_BOOK_DBUS_SERVICE_NAME)|" -e "s|\@CALENDAR_DBUS_SERVICE_NAME\@|$(CALENDAR_DBUS_SERVICE_NAME)|" -e "s|\@SOURCES_DBUS_SERVICE_NAME\@|$(SOURCES_DBUS_SERVICE_NAME)|" $< > $@'
1519
AC_SUBST(EVO_SUBST_SERVICE_RULE)
1521
dnl ******************************
1523
dnl ******************************
1527
dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
1528
EVO_MARSHAL_RULE=$srcdir/marshal.mk
1529
AC_SUBST_FILE(EVO_MARSHAL_RULE)
1531
dnl ******************************
1533
dnl ******************************
1534
AC_PATH_PROG(GPERF, gperf, [no])
1535
if test "x$GPERF" = "xno"; then
1536
AC_MSG_ERROR([You need gperf to build evolution-data-server])
1539
GOBJECT_INTROSPECTION_CHECK([0.9.12])
1541
dnl ******************************
1543
dnl ******************************
1544
AC_ARG_ENABLE(vala-bindings,
1545
AC_HELP_STRING([--enable-vala-bindings],
1546
[build the EXPERIMENTAL Vala bindings]),
1547
enable_vala_bindings=$enableval,
1548
enable_vala_bindings=no)
1550
if test x$enable_vala_bindings = xyes; then
1551
if test "x$INTROSPECTION_SCANNER" = x; then
1552
AC_MSG_ERROR([GObject-Introspection must be enabled for Vala bindings])
1555
AM_PROG_VALAC([0.13.0])
1558
AC_PATH_PROG(VALAC, valac, valac)
1562
AC_PATH_PROG([VAPIGEN], [vapigen], [false])
1564
if test "x$VAPIGEN" = "xfalse"; then
1565
AC_MSG_ERROR([vapigen not found. Was vala compiled with --enable-vapigen?])
1571
AM_CONDITIONAL([HAVE_VALA], [test "x$have_vala" = "xyes"])
1574
dnl ******************************
1576
dnl ******************************
1578
export privincludedir
1583
evolution-data-server-zip
1584
evolution-data-server.pc
1585
addressbook/Makefile
1586
addressbook/libebook/Makefile
1587
addressbook/libebook/libebook.pc
1588
addressbook/libedata-book/Makefile
1589
addressbook/libedata-book/libedata-book.pc
1590
addressbook/libegdbus/Makefile
1591
addressbook/backends/Makefile
1592
addressbook/backends/file/Makefile
1593
addressbook/backends/vcf/Makefile
1594
addressbook/backends/ldap/Makefile
1595
addressbook/backends/google/Makefile
1596
addressbook/backends/google/tests/Makefile
1597
addressbook/backends/webdav/Makefile
1600
calendar/libecal/Makefile
1601
calendar/libecal/libecal.pc
1602
calendar/libedata-cal/Makefile
1603
calendar/libedata-cal/libedata-cal.pc
1604
calendar/libegdbus/Makefile
1605
calendar/backends/Makefile
1606
calendar/backends/caldav/Makefile
1607
calendar/backends/file/Makefile
1608
calendar/backends/http/Makefile
1609
calendar/backends/contacts/Makefile
1610
calendar/backends/weather/Makefile
1612
camel/providers/Makefile
1613
camel/providers/imap/Makefile
1614
camel/providers/imapx/Makefile
1615
camel/providers/local/Makefile
1616
camel/providers/nntp/Makefile
1617
camel/providers/pop3/Makefile
1618
camel/providers/sendmail/Makefile
1619
camel/providers/smtp/Makefile
1620
camel/tests/Makefile
1621
camel/tests/folder/Makefile
1622
camel/tests/lib/Makefile
1623
camel/tests/message/Makefile
1624
camel/tests/mime-filter/Makefile
1625
camel/tests/misc/Makefile
1626
camel/tests/smime/Makefile
1629
data/sources/Makefile
1630
libebackend/Makefile
1631
libebackend/libebackend.pc
1632
libedataserver/Makefile
1633
libedataserver/eds-version.h
1634
libedataserver/libedataserver.pc
1635
libedataserverui/Makefile
1636
libedataserverui/libedataserverui.pc
1638
modules/cache-reaper/Makefile
1639
modules/google-backend/Makefile
1640
modules/online-accounts/Makefile
1641
modules/yahoo-backend/Makefile
1644
services/evolution-addressbook-factory/Makefile
1645
services/evolution-calendar-factory/Makefile
1646
services/evolution-source-registry/Makefile
1648
tests/libebook/Makefile
1649
tests/libebook/client/Makefile
1650
tests/libebook/vcard/Makefile
1651
tests/libecal/Makefile
1652
tests/libecal/client/Makefile
1653
tests/libedata-cal/Makefile
1654
tests/libedataserver/Makefile
1655
tests/libedataserverui/Makefile
1657
docs/reference/Makefile
1658
docs/reference/addressbook/Makefile
1659
docs/reference/addressbook/libebook/Makefile
1660
docs/reference/addressbook/libedata-book/Makefile
1661
docs/reference/calendar/Makefile
1662
docs/reference/calendar/libecal/Makefile
1663
docs/reference/calendar/libedata-cal/Makefile
1664
docs/reference/camel/Makefile
1665
docs/reference/libedataserver/Makefile
1666
docs/reference/libedataserverui/Makefile
1667
docs/reference/libebackend/Makefile
1668
docs/reference/private/Makefile
1675
evolution-data-server has been configured as follows:
1676
Weather calendar: $use_gweather
1677
Mail Directory: $system_mail_dir, $system_mail_perm
1678
LDAP support: $msg_ldap
1679
NNTP support: $msg_nntp
1680
Kerberos 5: $msg_krb5
1681
SMIME support: $msg_smime
1682
IPv6 support: $msg_ipv6
1683
Dot Locking: $msg_dot
1684
File Locking: $msg_file
1685
Large files: $enable_largefile
1686
Gtk Doc: $enable_gtk_doc
1687
Introspection: $enable_introspection
1688
Vala bindings: $enable_vala_bindings
1689
GNOME Online Accounts $enable_goa
1690
Code coverage (gcov): $enable_code_coverage