annotate configure.ac @ 15755:b9b8286fd9fd

fts-solr: Use built-in lib-http instead of libcurl. Removed libcurl dependency.
author Stephan Bosch <stephan@rename-it.nl>
date Mon, 11 Feb 2013 01:43:25 +0200
parents 2c249941f9c2
children e63d1cf19ec7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3784
beeae4f17615 Cleanups and some more kqueue stuff
Timo Sirainen <tss@iki.fi>
parents: 3783
diff changeset
1 AC_PREREQ([2.59])
15357
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15355
diff changeset
2
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15355
diff changeset
3 # Be sure to update ABI version also if anything changes that might require
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15355
diff changeset
4 # recompiling plugins. Most importantly that means if any structs are changed.
15580
86bccdf46d17 Released v2.2.beta1.
Timo Sirainen <tss@iki.fi>
parents: 15578
diff changeset
5 AC_INIT([Dovecot],[2.2.beta1],[dovecot@dovecot.org])
15199
73916b7be94e Plugin ABI version checking improvements.
Timo Sirainen <tss@iki.fi>
parents: 15195
diff changeset
6 AC_DEFINE_UNQUOTED([DOVECOT_ABI_VERSION], "2.2.ABIv0($PACKAGE_VERSION)", [Dovecot ABI version])
15357
f5941f3ac762 Released v2.2.alpha1.
Timo Sirainen <tss@iki.fi>
parents: 15355
diff changeset
7
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
8 AC_CONFIG_SRCDIR([src])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9
8523
426b356a0708 Use "foreign" automake option so it doesn't complain about missing ChangeLog.
Timo Sirainen <tss@iki.fi>
parents: 8517
diff changeset
10 AM_INIT_AUTOMAKE([foreign])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 AM_MAINTAINER_MODE
12438
c1d8fb31c1ad configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary.
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
13 PKG_PROG_PKG_CONFIG
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14
10754
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
15 ACLOCAL_AMFLAGS='-I $(top_srcdir)'
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
16 AC_SUBST(ACLOCAL_AMFLAGS)
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
17
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
18 dnl TEST_WITH(name, value, [plugin])
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
19 AC_DEFUN([TEST_WITH], [
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
20 want=want_`echo $1|sed s/-/_/g`
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
21 if test $2 = yes || test $2 = no || test $2 = auto; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
22 eval $want=$2
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
23 elif test $2 = plugin; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
24 if test "$3" = plugin; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
25 eval $want=plugin
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
26 else
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
27 AC_ERROR([--with-$1=plugin not supported])
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
28 fi
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
29 elif `echo $2|grep '^/' >/dev/null`; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
30 AC_ERROR([--with-$1=path not supported. You may want to use instead:
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
31 CPPFLAGS=-I$2/include LDFLAGS=-L$2/lib ./configure --with-$1])
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
32 else
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
33 AC_ERROR([--with-$1: Unknown value: $2])
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
34 fi
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
35 ])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
36
7929
55d1a2bf4573 Renamed --enable-debug to --enable-devel-checks, which describes it better.
Timo Sirainen <tss@iki.fi>
parents: 7924
diff changeset
37 AC_ARG_ENABLE(devel-checks,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
38 AS_HELP_STRING([--enable-devel-checks], [Enable some extra expensive checks for developers]),
544
42e65c2ba49d Added --enable-debug. Currently it just forces file locks so that index
Timo Sirainen <tss@iki.fi>
parents: 530
diff changeset
39 if test x$enableval = xyes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
40 AC_DEFINE(DEBUG,, Build with extra debugging checks)
13866
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
41 want_devel_checks=yes
544
42e65c2ba49d Added --enable-debug. Currently it just forces file locks so that index
Timo Sirainen <tss@iki.fi>
parents: 530
diff changeset
42 fi)
42e65c2ba49d Added --enable-debug. Currently it just forces file locks so that index
Timo Sirainen <tss@iki.fi>
parents: 530
diff changeset
43
546
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
44 AC_ARG_ENABLE(asserts,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
45 AS_HELP_STRING([--enable-asserts], [Enable asserts (default)]),
4057
f4807accc1d5 Unbreak last accidental change..
Timo Sirainen <tss@iki.fi>
parents: 4055
diff changeset
46 if test x$enableval = xno; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
47 AC_DEFINE(DISABLE_ASSERTS,, Disable asserts)
546
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
48 fi)
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
49
9104
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
50 AC_ARG_WITH(shared-libs,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
51 AS_HELP_STRING([--with-shared-libs], [Link binaries using shared Dovecot libraries (default)]),
9104
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
52 want_shared_libs=$withval,
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
53 want_shared_libs=yes)
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
54 AM_CONDITIONAL(BUILD_SHARED_LIBS, test "$want_shared_libs" = "yes")
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
55
439
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
56 AC_ARG_WITH(mem-align,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
57 AS_HELP_STRING([--with-mem-align=BYTES], [Set the memory alignment (default: 8)]),
439
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
58 mem_align=$withval,
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
59 mem_align=8)
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
60
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
61 AC_ARG_WITH(ioloop,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
62 AS_HELP_STRING([--with-ioloop=IOLOOP], [Specify the I/O loop method to use (epoll, kqueue, poll; best for the fastest available; default is best)]),
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
63 ioloop=$withval,
7268
80cd999d5623 Changed the default ioloop to "best".
Timo Sirainen <tss@iki.fi>
parents: 7264
diff changeset
64 ioloop=best)
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
65
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
66 AC_ARG_WITH(notify,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
67 AS_HELP_STRING([--with-notify=NOTIFY], [Specify the file system notification method to use (inotify, kqueue, dnotify, none; default is detected in the above order)]),
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
68 notify=$withval,
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
69 notify=)
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
70
6111
c83546491bad --with-passwd was used also for --with-nss
Timo Sirainen <tss@iki.fi>
parents: 6106
diff changeset
71 AC_ARG_WITH(nss,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
72 AS_HELP_STRING([--with-nss], [Build with NSS module support (auto)]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
73 TEST_WITH(nss, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
74 want_nss=auto)
5870
c9b49ed99d28 Added userdb nss which currently supports glibc-compatible NSS modules.
Timo Sirainen <tss@iki.fi>
parents: 5859
diff changeset
75
328
a0abed892d11 s/--enable/--with/ to all auth modules. added --with-file-offset-size=BITS
Timo Sirainen <tss@iki.fi>
parents: 313
diff changeset
76 AC_ARG_WITH(shadow,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
77 AS_HELP_STRING([--with-shadow], [Build with shadow password support (auto)]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
78 TEST_WITH(shadow, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
79 want_shadow=auto)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
80
328
a0abed892d11 s/--enable/--with/ to all auth modules. added --with-file-offset-size=BITS
Timo Sirainen <tss@iki.fi>
parents: 313
diff changeset
81 AC_ARG_WITH(pam,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
82 AS_HELP_STRING([--with-pam], [Build with PAM support (auto)]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
83 TEST_WITH(pam, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
84 want_pam=auto)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
85
1851
d66d53f57e43 Added bsdauth support, patch by Dan Cross
Timo Sirainen <tss@iki.fi>
parents: 1849
diff changeset
86 AC_ARG_WITH(bsdauth,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
87 AS_HELP_STRING([--with-bsdauth], [Build with BSD authentication support (auto)]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
88 TEST_WITH(bsdauth, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
89 want_bsdauth=auto)
1851
d66d53f57e43 Added bsdauth support, patch by Dan Cross
Timo Sirainen <tss@iki.fi>
parents: 1849
diff changeset
90
3683
28cca6317829 Added GSSAPI support. Patch by Jelmer Vernooij and some fixes by
Timo Sirainen <tss@iki.fi>
parents: 3671
diff changeset
91 AC_ARG_WITH(gssapi,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
92 AS_HELP_STRING([--with-gssapi=yes|plugin Build with GSSAPI authentication support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
93 TEST_WITH(gssapi, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
94 want_gssapi=no)
3683
28cca6317829 Added GSSAPI support. Patch by Jelmer Vernooij and some fixes by
Timo Sirainen <tss@iki.fi>
parents: 3671
diff changeset
95
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents: 4621
diff changeset
96 AC_ARG_WITH(sia,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
97 AS_HELP_STRING([--with-sia], [Build with Tru64 SIA support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
98 TEST_WITH(sia, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
99 want_sia=no)
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents: 4621
diff changeset
100
1057
c5ab972db48c libldap checks, --without-pop3 disables pop3 server
Timo Sirainen <tss@iki.fi>
parents: 1049
diff changeset
101 AC_ARG_WITH(ldap,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
102 AS_HELP_STRING([--with-ldap=yes|plugin], [Build with LDAP support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
103 TEST_WITH(ldap, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
104 want_ldap=no)
1057
c5ab972db48c libldap checks, --without-pop3 disables pop3 server
Timo Sirainen <tss@iki.fi>
parents: 1049
diff changeset
105
280
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
106 AC_ARG_WITH(vpopmail,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
107 AS_HELP_STRING([--with-vpopmail], [Build with vpopmail support (auto)]),
280
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
108 if test x$withval = xno; then
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
109 want_vpopmail=no
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
110 else
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
111 if test x$withval = xyes || test x$withval = xauto; then
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
112 vpopmail_home="`echo ~vpopmail`"
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
113 want_vpopmail=$withval
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
114 else
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
115 vpopmail_home="$withval"
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
116 want_vpopmail=yes
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
117 fi
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
118 fi, [
12049
f90590836165 configure: vpopmail is broken, fail configure if --with-vpopmail is used.
Timo Sirainen <tss@iki.fi>
parents: 12044
diff changeset
119 want_vpopmail=no
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
120 ])
280
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
121
10581
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
122 # Berkeley DB support is more or less broken. Disabled for now.
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
123 #AC_ARG_WITH(db,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
124 #AS_HELP_STRING([--with-db], [Build with Berkeley DB support]),
10581
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
125 # TEST_WITH(db, $withval),
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
126 # want_db=no)
10600
20963e8ec560 configure: Another try at fixing Berkeley DB check to not give an error.
Timo Sirainen <tss@iki.fi>
parents: 10598
diff changeset
127 want_db=no
4517
e661182eab75 Berkeley DB dict support is now enabled only when using --with-db configure option.
Timo Sirainen <timo.sirainen@movial.fi>
parents: 4482
diff changeset
128
15665
2c249941f9c2 dict: Added support for cdb backend.
Timo Sirainen <tss@iki.fi>
parents: 15646
diff changeset
129 AC_ARG_WITH(cdb,
2c249941f9c2 dict: Added support for cdb backend.
Timo Sirainen <tss@iki.fi>
parents: 15646
diff changeset
130 AS_HELP_STRING([--with-cdb], [Build with CDB support]),
2c249941f9c2 dict: Added support for cdb backend.
Timo Sirainen <tss@iki.fi>
parents: 15646
diff changeset
131 TEST_WITH(cdb, $withval),
2c249941f9c2 dict: Added support for cdb backend.
Timo Sirainen <tss@iki.fi>
parents: 15646
diff changeset
132 want_cdb=no)
2c249941f9c2 dict: Added support for cdb backend.
Timo Sirainen <tss@iki.fi>
parents: 15646
diff changeset
133
4013
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
134 dnl The --with-sql is useful only if Dovecot is being built with all the SQL
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
135 dnl drivers as modules. If any SQL driver is built-in, this option is ignored.
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
136 AC_ARG_WITH(sql,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
137 AS_HELP_STRING([--with-sql=yes|plugin], [Build with generic SQL support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
138 TEST_WITH(sql, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
139 want_sql=no)
4013
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
140
1283
2d8af547a8b4 Added PostgreSQL support, patch by Alex Howansky
Timo Sirainen <tss@iki.fi>
parents: 1256
diff changeset
141 AC_ARG_WITH(pgsql,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
142 AS_HELP_STRING([--with-pgsql], [Build with PostgreSQL driver support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
143 TEST_WITH(pgsql, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
144 want_pgsql=no)
1283
2d8af547a8b4 Added PostgreSQL support, patch by Alex Howansky
Timo Sirainen <tss@iki.fi>
parents: 1256
diff changeset
145
1995
cc64f8bb4716 MySQL authentication patch by Matther Reimer
Timo Sirainen <tss@iki.fi>
parents: 1990
diff changeset
146 AC_ARG_WITH(mysql,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
147 AS_HELP_STRING([--with-mysql], [Build with MySQL driver support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
148 TEST_WITH(mysql, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
149 want_mysql=no)
1995
cc64f8bb4716 MySQL authentication patch by Matther Reimer
Timo Sirainen <tss@iki.fi>
parents: 1990
diff changeset
150
3919
b967ffb7e3a6 SQLite support. Patch by Jakob Hirsch.
Timo Sirainen <tss@iki.fi>
parents: 3904
diff changeset
151 AC_ARG_WITH(sqlite,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
152 AS_HELP_STRING([--with-sqlite], [Build with SQLite3 driver support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
153 TEST_WITH(sqlite, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
154 want_sqlite=no)
3919
b967ffb7e3a6 SQLite support. Patch by Jakob Hirsch.
Timo Sirainen <tss@iki.fi>
parents: 3904
diff changeset
155
4621
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
156 AC_ARG_WITH(lucene,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
157 AS_HELP_STRING([--with-lucene], [Build with CLucene full text search support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
158 TEST_WITH(lucene, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
159 want_lucene=no)
4621
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
160 AM_CONDITIONAL(BUILD_LUCENE, test "$want_lucene" = "yes")
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
161
13305
57aeda3d94ad configure: Added --with-stemmer and output which fts backends are compiled.
Timo Sirainen <tss@iki.fi>
parents: 13294
diff changeset
162 AC_ARG_WITH(stemmer,
57aeda3d94ad configure: Added --with-stemmer and output which fts backends are compiled.
Timo Sirainen <tss@iki.fi>
parents: 13294
diff changeset
163 AS_HELP_STRING([--with-stemmer], [Build with libstemmer support (for CLucene)]),
57aeda3d94ad configure: Added --with-stemmer and output which fts backends are compiled.
Timo Sirainen <tss@iki.fi>
parents: 13294
diff changeset
164 TEST_WITH(stemmer, $withval),
57aeda3d94ad configure: Added --with-stemmer and output which fts backends are compiled.
Timo Sirainen <tss@iki.fi>
parents: 13294
diff changeset
165 want_stemmer=auto)
57aeda3d94ad configure: Added --with-stemmer and output which fts backends are compiled.
Timo Sirainen <tss@iki.fi>
parents: 13294
diff changeset
166
7990
662172573fe1 Initial code to support Apache Solr (Lucene indexing server).
Timo Sirainen <tss@iki.fi>
parents: 7983
diff changeset
167 AC_ARG_WITH(solr,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
168 AS_HELP_STRING([--with-solr], [Build with Solr full text search support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
169 TEST_WITH(solr, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
170 want_solr=no)
7990
662172573fe1 Initial code to support Apache Solr (Lucene indexing server).
Timo Sirainen <tss@iki.fi>
parents: 7983
diff changeset
171
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
172 AC_ARG_WITH(zlib,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
173 AS_HELP_STRING([--with-zlib], [Build with zlib compression support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
174 TEST_WITH(zlib, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
175 want_zlib=auto)
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
176
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
177 AC_ARG_WITH(bzlib,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
178 AS_HELP_STRING([--with-bzlib], [Build with bzlib compression support]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
179 TEST_WITH(bzlib, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
180 want_bzlib=auto)
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
181
9538
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
182 AC_ARG_WITH(libcap,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
183 AS_HELP_STRING([--with-libcap], [Build with libcap support (Dropping capabilities).]),
9538
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
184 TEST_WITH(libcap, $withval),
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
185 want_libcap=auto)
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
186
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
187 AC_ARG_WITH(libwrap,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
188 AS_HELP_STRING([--with-libwrap], [Build with libwrap, ie. TCP-wrappers]),
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
189 TEST_WITH(libwrap, $withval),
11005
51150f2b3be8 configure: Disabled tcp-wrappers by default.
Timo Sirainen <tss@iki.fi>
parents: 10994
diff changeset
190 want_libwrap=no)
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
191
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
192 AC_ARG_WITH(ssl,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
193 AS_HELP_STRING([--with-ssl=gnutls|openssl], [Build with GNUTLS or OpenSSL (default)]),
245
Timo Sirainen <tss@iki.fi>
parents: 244
diff changeset
194 if test x$withval = xno; then
244
bf1e284fece2 added --without-gnutls option
Timo Sirainen <tss@iki.fi>
parents: 224
diff changeset
195 want_gnutls=no
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
196 want_openssl=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
197 elif test x$withval = xgnutls; then
12026
ab75eff633aa configure: --with-ssl=gnutls gives error now immediately
Timo Sirainen <tss@iki.fi>
parents: 12002
diff changeset
198 AC_ERROR([GNUTLS support is broken currently])
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
199 want_gnutls=yes
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
200 want_openssl=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
201 elif test x$withval = xopenssl; then
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
202 want_gnutls=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
203 want_openssl=yes
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
204 elif test x$withval = xyes; then
3004
60a172e62d11 Don't use GNUTLS unless explicitly specified. It's not working currently
Timo Sirainen <tss@iki.fi>
parents: 3002
diff changeset
205 want_gnutls=no
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
206 want_openssl=yes
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
207 else
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
208 AC_ERROR([--with-ssl: Invalid value: $withval])
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
209 fi, [
3004
60a172e62d11 Don't use GNUTLS unless explicitly specified. It's not working currently
Timo Sirainen <tss@iki.fi>
parents: 3002
diff changeset
210 want_gnutls=no
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
211 want_openssl=auto
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
212 ])
244
bf1e284fece2 added --without-gnutls option
Timo Sirainen <tss@iki.fi>
parents: 224
diff changeset
213
657
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
214 AC_ARG_WITH(ssldir,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
215 AS_HELP_STRING([--with-ssldir=DIR], [SSL base directory for certificates (/etc/ssl)]),
657
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
216 ssldir="$withval",
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
217 ssldir=/etc/ssl
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
218 )
712
385f862a4005 --with-ssldir actually didn't do anything, and the default directory for
Timo Sirainen <tss@iki.fi>
parents: 711
diff changeset
219 AC_SUBST(ssldir)
657
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
220
3327
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
221 AC_ARG_WITH(rundir,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
222 AS_HELP_STRING([--with-rundir=DIR], [Runtime data directory (LOCALSTATEDIR/run/dovecot)]),
3327
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
223 rundir="$withval",
7914
5061533382be Uppercased PACKAGE_NAME macro and started using it in some places.
Timo Sirainen <tss@iki.fi>
parents: 7902
diff changeset
224 rundir=$localstatedir/run/$PACKAGE
3327
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
225 )
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
226 AC_SUBST(rundir)
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
227
4407
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
228 AC_ARG_WITH(statedir,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
229 AS_HELP_STRING([--with-statedir=DIR], [Permanent data directory (LOCALSTATEDIR/lib/dovecot)]),
4407
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
230 statedir="$withval",
7914
5061533382be Uppercased PACKAGE_NAME macro and started using it in some places.
Timo Sirainen <tss@iki.fi>
parents: 7902
diff changeset
231 statedir=$localstatedir/lib/$PACKAGE
4407
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
232 )
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
233 AC_SUBST(statedir)
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
234
12442
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
235 AC_ARG_WITH([systemdsystemunitdir],
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
236 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files (auto=detect)]), [
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
237 if test "$withval" = "auto"; then
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
238 systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
239 elif test "$withval" != "no"; then
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
240 systemdsystemunitdir=$withval
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
241 fi
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
242 ], [])
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
243 if test "$systemdsystemunitdir" != ""; then
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
244 AC_SUBST(systemdsystemunitdir)
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
245 AC_DEFINE(HAVE_SYSTEMD,, Define if you want to use systemd socket activation)
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
246 fi
12443
94c5d2189006 configure: And small fix to previous --with-systemdsystemunitdir fix.
Timo Sirainen <tss@iki.fi>
parents: 12442
diff changeset
247 AM_CONDITIONAL(HAVE_SYSTEMD, test "$systemdsystemunitdir" != "")
12442
e0b42fcf31a1 configure: --with-systemdsystemunitdir wasn't working right.
Timo Sirainen <tss@iki.fi>
parents: 12441
diff changeset
248
1786
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
249 AC_ARG_WITH(gc,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
250 AS_HELP_STRING([--with-gc], [Use Boehm garbage collector]),
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
251 TEST_WITH(gc, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
252 want_gc=no)
1786
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
253
1404
54015ae11177 --with-storage=maildir,mbox can now be used to compile in only the wanted
Timo Sirainen <tss@iki.fi>
parents: 1403
diff changeset
254 AC_ARG_WITH(storages,
15380
7c75559cd8f6 Reverted 269104a0821b (Build imapc and pop3c always as plugins.)
Timo Sirainen <tss@iki.fi>
parents: 15379
diff changeset
255 AS_HELP_STRING([--with-storages], [Build with specified mail storage formats (mdbox sdbox maildir mbox cydir imapc pop3c)]), [
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
256 if test "$withval" = "yes" || test "$withval" = "no"; then
4005
450ee12c2e26 Give error if --with-storages or --without-storages is used without
Timo Sirainen <tss@iki.fi>
parents: 3997
diff changeset
257 AC_MSG_ERROR([--with-storages needs storage list as parameter])
450ee12c2e26 Give error if --with-storages or --without-storages is used without
Timo Sirainen <tss@iki.fi>
parents: 3997
diff changeset
258 fi
8398
d331b8fc8ba8 configure: Previous change broke shared storage completely.
Timo Sirainen <tss@iki.fi>
parents: 8392
diff changeset
259 mail_storages="shared `echo "$withval"|sed 's/,/ /g'`" ],
15380
7c75559cd8f6 Reverted 269104a0821b (Build imapc and pop3c always as plugins.)
Timo Sirainen <tss@iki.fi>
parents: 15379
diff changeset
260 mail_storages="shared mdbox sdbox maildir mbox cydir imapc pop3c")
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
261 AC_SUBST(mail_storages)
15380
7c75559cd8f6 Reverted 269104a0821b (Build imapc and pop3c always as plugins.)
Timo Sirainen <tss@iki.fi>
parents: 15379
diff changeset
262 mail_storages="$mail_storages raw fail"
13699
500bf1444ad6 configure: Don't reorder --with-storages values.
Timo Sirainen <tss@iki.fi>
parents: 13679
diff changeset
263 # drop duplicates
500bf1444ad6 configure: Don't reorder --with-storages values.
Timo Sirainen <tss@iki.fi>
parents: 13679
diff changeset
264 duplicates=`(for i in $mail_storages; do echo $i; done)|sort|uniq -d|xargs echo`
500bf1444ad6 configure: Don't reorder --with-storages values.
Timo Sirainen <tss@iki.fi>
parents: 13679
diff changeset
265 if test "$duplicates" != ""; then
500bf1444ad6 configure: Don't reorder --with-storages values.
Timo Sirainen <tss@iki.fi>
parents: 13679
diff changeset
266 AC_ERROR([Duplicate --with-storages: $duplicates])
500bf1444ad6 configure: Don't reorder --with-storages values.
Timo Sirainen <tss@iki.fi>
parents: 13679
diff changeset
267 fi
1404
54015ae11177 --with-storage=maildir,mbox can now be used to compile in only the wanted
Timo Sirainen <tss@iki.fi>
parents: 1403
diff changeset
268
12092
711b5f193f04 dovecot.m4: Added --with-moduledir and export dovecotdir
Timo Sirainen <tss@iki.fi>
parents: 12049
diff changeset
269 DC_DOVECOT_MODULEDIR
2070
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
270
3779
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
271 AC_ARG_WITH(docs,
12441
ae5b5961a6a7 configure: Use AS_HELP_STRING() macro.
Timo Sirainen <tss@iki.fi>
parents: 12439
diff changeset
272 AS_HELP_STRING([--with-docs], [Install documentation (default)]),
3779
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
273 if test x$withval = xno; then
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
274 want_docs=no
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
275 else
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
276 want_docs=yes
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
277 fi,
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
278 want_docs=yes)
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
279 AM_CONDITIONAL(BUILD_DOCS, test "$want_docs" = "yes")
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
280
9158
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
281 dnl always enable all of the passbs and userdbs that don't require extra libs
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
282 want_passwd=yes
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
283 want_passwd_file=yes
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
284 want_checkpassword=yes
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
285 want_prefetch_userdb=yes
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
286
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
287 AC_ISC_POSIX
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
288 AC_PROG_CC
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
289 AC_PROG_CPP
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
290 AC_PROG_CXX # lucene plugin needs this
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
291 AC_HEADER_STDC
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
292 AC_C_INLINE
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
293 AC_PROG_LIBTOOL
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
294 AM_ICONV
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
295
10645
928312d6017c config.h: Added DOVECOT_* macros for PACKAGE_* macros.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
296 AC_DEFINE_UNQUOTED(DOVECOT_NAME, "$PACKAGE_NAME", Dovecot name)
928312d6017c config.h: Added DOVECOT_* macros for PACKAGE_* macros.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
297 AC_DEFINE_UNQUOTED(DOVECOT_STRING, "$PACKAGE_STRING", Dovecot string)
928312d6017c config.h: Added DOVECOT_* macros for PACKAGE_* macros.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
298 AC_DEFINE_UNQUOTED(DOVECOT_VERSION, "$PACKAGE_VERSION", Dovecot version)
928312d6017c config.h: Added DOVECOT_* macros for PACKAGE_* macros.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
299
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
300 AC_CHECK_HEADERS(strings.h stdint.h unistd.h dirent.h malloc.h inttypes.h \
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
301 sys/uio.h sys/sysmacros.h sys/resource.h sys/select.h libgen.h \
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
302 sys/quota.h sys/fs/ufs_quota.h ufs/ufs/quota.h jfs/quota.h sys/fs/quota_common.h \
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
303 mntent.h sys/mnttab.h sys/event.h sys/time.h sys/mkdev.h linux/dqblk_xfs.h \
9656
dc6d35b51b68 configure: Check sasl.h existence only when using --with-ldap.
Timo Sirainen <tss@iki.fi>
parents: 9655
diff changeset
304 xfs/xqm.h execinfo.h ucontext.h malloc_np.h sys/utsname.h sys/vmount.h \
14233
80688ab1ea3d Extends struct net_unix_cred with pid field and modifies net_getunixcred() to fill it in if possible.
Timo Sirainen <tss@iki.fi>
parents: 14217
diff changeset
305 sys/utsname.h glob.h linux/falloc.h ucred.h sys/ucred.h)
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
306
14101
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
307 dnl * clang check
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
308 have_clang=no
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
309 if $CC -dM -E -x c /dev/null | grep __clang__ > /dev/null 2>&1; then
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
310 have_clang=yes
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
311 fi
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
312
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
313 dnl * gcc specific options
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
314 if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
4826
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
315 # -Wcast-qual -Wcast-align -Wconversion -Wunreachable-code # too many warnings
850
a6f53dbe803f Enable more warnings with gcc
Timo Sirainen <tss@iki.fi>
parents: 843
diff changeset
316 # -Wstrict-prototypes -Wredundant-decls # may give warnings in some systems
1043
cacabd33c68a Initial code for POP3 server. RETR isn't working right yet, there's some
Timo Sirainen <tss@iki.fi>
parents: 1022
diff changeset
317 # -Wmissing-format-attribute -Wmissing-noreturn -Wwrite-strings # a couple of warnings
4022
2f26567685ff Removed -Wstrict-aliasing=2 since it gives errors with older gccs
Timo Sirainen <tss@iki.fi>
parents: 4018
diff changeset
318 CFLAGS="$CFLAGS -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast"
3091
0704b595c873 Give -std=gnu99 option to gcc.
Timo Sirainen <tss@iki.fi>
parents: 3062
diff changeset
319
14101
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
320 if test "$have_clang" != "yes"; then
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
321 # This is simply to avoid warning when building strftime() wrappers..
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
322 CFLAGS="$CFLAGS -fno-builtin-strftime"
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
323 fi
13930
e0ff21d73630 configure: Add -fno-builtin-strftime flag with gcc to avoid warning.
Timo Sirainen <tss@iki.fi>
parents: 13907
diff changeset
324
4826
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
325 AC_TRY_COMPILE([
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
326 #if __GNUC__ < 4
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
327 # error old gcc
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
328 #endif
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
329 ],,[
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
330 # gcc4
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
331 CFLAGS="$CFLAGS -Wstrict-aliasing=2"
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
332 ])
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
333
3097
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
334 # Use std=gnu99 if we have new enough gcc
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
335 old_cflags=$CFLAGS
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
336 CFLAGS="-std=gnu99"
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
337 AC_TRY_COMPILE([
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
338 ],, [
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
339 CFLAGS="$CFLAGS $old_cflags"
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
340 ], [
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
341 CFLAGS="$old_cflags"
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
342 ])
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
343 fi
14101
671b637e20db configure: Avoid some unnecessary warnings with clang.
Timo Sirainen <tss@iki.fi>
parents: 14038
diff changeset
344 if test "$have_clang" = "yes"; then
13866
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
345 # clang specific options
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
346 if test "$want_devel_checks" = "yes"; then
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
347 CFLAGS="$CFLAGS -fcatch-undefined-behavior -ftrapv"
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
348 fi
c682a5bf3de7 --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
Timo Sirainen <tss@iki.fi>
parents: 13794
diff changeset
349 fi
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
350
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
351 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
352 dnl ** just some generic stuff...
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
353 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
354
5690
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
355 AC_SEARCH_LIBS(socket, socket)
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
356 AC_SEARCH_LIBS(inet_addr, nsl)
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
357 AC_SEARCH_LIBS(fdatasync, rt, [
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
358 AC_DEFINE(HAVE_FDATASYNC,, Define if you have fdatasync())
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
359 ])
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
360
9538
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
361 if test $want_libcap != no; then
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
362 AC_CHECK_LIB(cap, cap_init, [
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
363 AC_DEFINE(HAVE_LIBCAP,, libcap is installed for cap_init())
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
364 LIBCAP="-lcap"
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
365 AC_SUBST(LIBCAP)
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
366 ], [
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
367 if test "$want_libcap" = "yes"; then
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
368 AC_ERROR([Can't build with libcap support: libcap not found])
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
369 fi
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
370 ])
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
371 fi
5201
8920e744dac4 Drop privileges if libcap is found. Patch by David (lists edeca.net).
Timo Sirainen <tss@iki.fi>
parents: 5197
diff changeset
372
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
373 have_libwrap=no
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
374 if test $want_libwrap != no; then
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
375 AC_CHECK_HEADER(tcpd.h, [
10700
b14e694fc8b4 configure: libwrap detection cleared $LIBS
Timo Sirainen <tss@iki.fi>
parents: 10699
diff changeset
376 old_LIBS=$LIBS
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
377
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
378 AC_CACHE_CHECK([whether we have libwrap],i_cv_have_libwrap,[
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
379 AC_TRY_COMPILE([
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
380 #include <tcpd.h>
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
381 int allow_severity = 0;
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
382 int deny_severity = 0;
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
383 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
384 request_init((void *)0);
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
385 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
386 i_cv_have_libwrap=yes
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
387 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
388 i_cv_have_libwrap=no
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
389 ])
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
390 ])
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
391 if test $i_cv_have_libwrap = yes; then
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
392 AC_DEFINE(HAVE_LIBWRAP,, Define if you have libwrap)
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
393 LIBWRAP_LIBS=-lwrap
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
394 AC_SUBST(LIBWRAP_LIBS)
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
395 have_libwrap=yes
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
396 else
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
397 if test "$want_libwrap" = "yes"; then
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
398 AC_ERROR([Can't build with libwrap support: libwrap not found])
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
399 fi
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
400 fi
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
401 LIBS=$old_LIBS
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
402 ], [
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
403 if test "$want_libwrap" = "yes"; then
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
404 AC_ERROR([Can't build with libwrap support: tcpd.h not found])
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
405 fi
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
406 ])
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
407 fi
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
408 AM_CONDITIONAL(TCPWRAPPERS, test "$have_libwrap" = "yes")
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
409
7917
ca2ff54ee9b4 Added support for IMAP ID extension.
Timo Sirainen <tss@iki.fi>
parents: 7914
diff changeset
410 AC_DEFINE(PACKAGE_WEBPAGE, "http://www.dovecot.org/", Support URL)
ca2ff54ee9b4 Added support for IMAP ID extension.
Timo Sirainen <tss@iki.fi>
parents: 7914
diff changeset
411
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
412 dnl * after -lsocket and -lnsl tests, inet_aton() may be in them
2103
879b0b9ed5d4 Separate mbox_locks/mbox_read_dotlock to mbox_read_locks and
Timo Sirainen <tss@iki.fi>
parents: 2080
diff changeset
413 AC_CHECK_FUNCS(fcntl flock lockf inet_aton sigaction getpagesize madvise \
8600
7c12e20f1eee env_remove(): Implement a fallback method if unsetenv() doesn't exist.
Timo Sirainen <tss@iki.fi>
parents: 8578
diff changeset
414 strcasecmp stricmp vsyslog writev pread uname unsetenv \
3237
2f57438d9542 Added setegid() emulation for HP-UX.
Timo Sirainen <tss@iki.fi>
parents: 3236
diff changeset
415 setrlimit setproctitle seteuid setreuid setegid setresgid \
14038
4b783711a22e configure: Added getmntinfo() check for BSD mountpoint iteration.
Timo Sirainen <tss@iki.fi>
parents: 13994
diff changeset
416 strtoull strtoll strtouq strtoq getmntinfo \
7847
35877d1131db Added more fallbacks if strtoll() or strtoull() isn't implemented
Timo Sirainen <tss@iki.fi>
parents: 7844
diff changeset
417 setpriority quotactl getmntent kqueue kevent backtrace_symbols \
12874
0461e23ae57c Search supports now prefetching data for returned mails. Dropped imapc's own prefetching.
Timo Sirainen <tss@iki.fi>
parents: 12860
diff changeset
418 walkcontext dirfd clearenv malloc_usable_size glob fallocate \
12887
352999078d83 Added net_getunixcred() to get UNIX socket peer process's UID and GID.
Timo Sirainen <tss@iki.fi>
parents: 12876
diff changeset
419 posix_fadvise getpeereid getpeerucred)
9655
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
420
14233
80688ab1ea3d Extends struct net_unix_cred with pid field and modifies net_getunixcred() to fill it in if possible.
Timo Sirainen <tss@iki.fi>
parents: 14217
diff changeset
421 AC_CHECK_TYPES([struct sockpeercred])
80688ab1ea3d Extends struct net_unix_cred with pid field and modifies net_getunixcred() to fill it in if possible.
Timo Sirainen <tss@iki.fi>
parents: 14217
diff changeset
422
15493
ac63858cbe5f configure: Use -lrt for check_gettime() only if needed.
Timo Sirainen <tss@iki.fi>
parents: 15406
diff changeset
423 AC_SEARCH_LIBS(clock_gettime, rt, [
9655
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
424 AC_DEFINE(HAVE_CLOCK_GETTIME,, Define if you have the clock_gettime function)
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
425 ])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
426
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
427 dnl strtoimax and strtoumax are macros in HP-UX, so inttypes.h must be included
8601
da02a1d15783 configure: Test strtoumax() and strtoimax() by linking instead of just compiling (Tru64 fix).
Timo Sirainen <tss@iki.fi>
parents: 8600
diff changeset
428 dnl Link instead of just compiling since there's something wrong with Tru64
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
429 AC_CACHE_CHECK([for strtoimax],i_cv_have_strtoimax,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
430 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
431 #include <inttypes.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
432 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
433 strtoimax(0, 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
434 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
435 i_cv_have_strtoimax=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
436 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
437 i_cv_have_strtoimax=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
438 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
439 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
440 if test $i_cv_have_strtoimax = yes; then
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
441 AC_DEFINE(HAVE_STRTOIMAX,, Define if you have strtoimax function)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
442 fi
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
443
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
444 AC_CACHE_CHECK([for strtoumax],i_cv_have_strtoumax,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
445 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
446 #include <inttypes.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
447 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
448 strtoumax(0, 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
449 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
450 i_cv_have_strtoumax=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
451 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
452 i_cv_have_strtoumax=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
453 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
454 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
455 if test $i_cv_have_strtoumax = yes; then
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
456 AC_DEFINE(HAVE_STRTOUMAX,, Define if you have strtoumax function)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
457 fi
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
458
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
459 dnl * I/O loop function
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
460 have_ioloop=no
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
461
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
462 if test "$ioloop" = "best" || test "$ioloop" = "epoll"; then
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
463 AC_CACHE_CHECK([whether we can use epoll],i_cv_epoll_works,[
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
464 AC_TRY_RUN([
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
465 #include <sys/epoll.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
466
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
467 int main()
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
468 {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
469 return epoll_create(5) < 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
470 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
471 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
472 i_cv_epoll_works=yes
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
473 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
474 i_cv_epoll_works=no
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
475 ])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
476 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
477 if test $i_cv_epoll_works = yes; then
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
478 AC_DEFINE(IOLOOP_EPOLL,, Implement I/O loop with Linux 2.6 epoll())
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
479 have_ioloop=yes
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
480 ioloop=epoll
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
481 else
4478
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
482 if test "$ioloop" = "epoll" ; then
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
483 AC_MSG_ERROR([epoll ioloop requested but epoll_create() is not available])
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
484 fi
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
485 fi
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
486 fi
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
487
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
488 if test "$ioloop" = "best" || test "$ioloop" = "kqueue"; then
4433
Timo Sirainen <tss@iki.fi>
parents: 4426
diff changeset
489 if test "$ac_cv_func_kqueue" = yes && test "$ac_cv_func_kevent" = yes; then
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
490 AC_DEFINE(IOLOOP_KQUEUE,, [Implement I/O loop with BSD kqueue()])
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
491 ioloop=kqueue
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
492 have_ioloop=yes
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
493 elif test "$ioloop" = "kqueue"; then
4478
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
494 AC_MSG_ERROR([kqueue ioloop requested but kqueue() is not available])
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
495 fi
3749
194295062e5e Added kqueue support. Patch by Vaclav Haisman.
Timo Sirainen <tss@iki.fi>
parents: 3745
diff changeset
496 fi
194295062e5e Added kqueue support. Patch by Vaclav Haisman.
Timo Sirainen <tss@iki.fi>
parents: 3745
diff changeset
497
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
498 if test "$ioloop" = "best" || test "$ioloop" = "poll"; then
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
499 AC_CHECK_FUNC(poll, [
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
500 AC_DEFINE(IOLOOP_POLL,, Implement I/O loop with poll())
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
501 ioloop=poll
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
502 have_ioloop=yes
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
503 ])
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
504 fi
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
505
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
506 if test "$have_ioloop" = "no"; then
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
507 AC_DEFINE(IOLOOP_SELECT,, Implement I/O loop with select())
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
508 ioloop="select"
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
509 fi
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
510
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
511 have_notify=none
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
512
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
513 if test "$notify" = "" || test "$notify" = "inotify" ; then
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
514 dnl * inotify?
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
515 AC_CACHE_CHECK([whether we can use inotify],i_cv_inotify_works,[
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
516 AC_TRY_RUN([
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
517 #define _GNU_SOURCE
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
518 #include <sys/ioctl.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
519 #include <fcntl.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
520 #include <sys/inotify.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
521 #include <stdio.h>
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
522
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
523 int main()
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
524 {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
525 int wd, fd;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
526 char * fn = "/tmp";
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
527
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
528 fd = inotify_init ();
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
529 if (fd < 0)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
530 {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
531 perror ("inotify_init");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
532 return 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
533 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
534
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
535 wd = inotify_add_watch (fd, fn, IN_ALL_EVENTS);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
536
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
537 if (wd < 0)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
538 {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
539 perror ("inotify_add_watch");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
540 return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
541 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
542
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
543 inotify_rm_watch (fd, wd);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
544
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
545 close (fd);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
546 return 0;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
547 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
548 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
549 i_cv_inotify_works=yes
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
550 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
551 i_cv_inotify_works=no
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
552 ])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
553 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
554 if test $i_cv_inotify_works = yes; then
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
555 have_notify=inotify
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
556 notify=inotify
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
557 AC_DEFINE(IOLOOP_NOTIFY_INOTIFY,, Use Linux inotify)
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
558 else
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
559 if test "$notify" = "inotify"; then
4478
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
560 AC_MSG_ERROR([inotify requested but not available])
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
561 notify=""
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
562 fi
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
563 fi
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
564 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
565
4572
046b985ed767 Use notify=kqueue automatically only if ioloop=kqueue.
Timo Sirainen <tss@iki.fi>
parents: 4571
diff changeset
566 if (test "$notify" = "" && test "$ioloop" = kqueue) || test "$notify" = "kqueue"; then
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
567 dnl * BSD kqueue() notify
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
568 AC_MSG_CHECKING([whether we can use BSD kqueue() notify])
4442
9eee24bf2960 Fix kqueue notify checking.
Timo Sirainen <tss@iki.fi>
parents: 4433
diff changeset
569 if test "$ac_cv_func_kqueue" = yes && test "$ac_cv_func_kevent" = yes ; then
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
570 have_notify=kqueue
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
571 notify=kqueue
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
572 AC_MSG_RESULT("yes")
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
573 AC_DEFINE(IOLOOP_NOTIFY_KQUEUE,,
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
574 Use BSD kqueue directory changes notificaton)
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
575 else
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
576 AC_MSG_RESULT("no")
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
577 if test "$notify" = "kqueue" ; then
4478
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
578 AC_MSG_ERROR([kqueue notify requested but kqueue() is not available])
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
579 notify=""
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
580 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
581 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
582 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
583
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
584 if test "$notify" = "" || test "$notify" = "dnotify"; then
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
585 dnl * dnotify?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
586 AC_CACHE_CHECK([whether we can use dnotify],i_cv_have_dnotify,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
587 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
588 #define _GNU_SOURCE
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
589 #include <fcntl.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
590 #include <signal.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
591 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
592 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
593 fcntl(0, F_SETSIG, SIGRTMIN);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
594 fcntl(0, F_NOTIFY, DN_CREATE | DN_DELETE | DN_RENAME | DN_MULTISHOT);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
595 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
596 i_cv_have_dnotify=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
597 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
598 i_cv_have_dnotify=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
599 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
600 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
601 if test $i_cv_have_dnotify = yes; then
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
602 AC_DEFINE(IOLOOP_NOTIFY_DNOTIFY,, Use Linux dnotify)
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
603 have_notify=dnotify
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
604 notify=dnotify
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
605 else
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
606 if test "$notify" = "dnotify"; then
4478
4b01707d6cbe Don't use epoll/kqueue by default unless --with-ioloop=auto is given.
Timo Sirainen <tss@iki.fi>
parents: 4443
diff changeset
607 AC_MSG_ERROR([dnotify requested but not available])
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
608 fi
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
609 fi
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
610 fi
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
611
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
612 if test "$have_notify" = "none"; then
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
613 AC_DEFINE(IOLOOP_NOTIFY_NONE,, No special notify support)
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
614 fi
1729
5bf22d6bb65e Added IO_DIR_NOTIFY and IO_FILE_NOTIFY conditions to io_add(). IO_DIR_NOTIFY
Timo Sirainen <tss@iki.fi>
parents: 1720
diff changeset
615
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
616 AC_CACHE_CHECK([whether we have glibc],i_cv_have_glibc,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
617 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
618 #include <stdlib.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
619 #ifdef __GLIBC__
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
620 we have glibc
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
621 #endif
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
622 ],, [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
623 i_cv_have_glibc=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
624 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
625 i_cv_have_glibc=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
626 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
627 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
628 if test "$i_cv_have_glibc" = "yes"; then
1989
a2b009c65e02 Define PREAD_WRAPPERS if we're using GLIBC, not if we're using Linux.
Timo Sirainen <tss@iki.fi>
parents: 1978
diff changeset
629 AC_DEFINE(PREAD_WRAPPERS,, Define if pread/pwrite needs _XOPEN_SOURCE 500)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
630 fi
1989
a2b009c65e02 Define PREAD_WRAPPERS if we're using GLIBC, not if we're using Linux.
Timo Sirainen <tss@iki.fi>
parents: 1978
diff changeset
631
7164
d349cdeddc7d Don't use posix_fallocate() with GLIBC versions older than 2.7. It probably
Timo Sirainen <tss@iki.fi>
parents: 7094
diff changeset
632 dnl * Old glibcs have broken posix_fallocate(). Make sure not to use it.
8227
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
633 dnl * It may also be broken in AIX.
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
634 AC_CACHE_CHECK([whether posix_fallocate() works],i_cv_posix_fallocate_works,[
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
635 AC_TRY_RUN([
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
636 #define _XOPEN_SOURCE 600
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
637 #include <stdio.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
638 #include <stdlib.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
639 #include <fcntl.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
640 #include <unistd.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
641 #if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 7)
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
642 possibly broken posix_fallocate
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
643 #endif
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
644 int main() {
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
645 int fd = creat("conftest.temp", 0600);
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
646 int ret;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
647 if (fd == -1) {
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
648 perror("creat()");
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
649 return 2;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
650 }
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
651 ret = posix_fallocate(fd, 1024, 1024) < 0 ? 1 : 0;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
652 unlink("conftest.temp");
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
653 return ret;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
654 }
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
655 ], [
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
656 i_cv_posix_fallocate_works=yes
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
657 ], [
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
658 i_cv_posix_fallocate_works=no
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
659 ])
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
660 ])
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
661 if test $i_cv_posix_fallocate_works = yes; then
7164
d349cdeddc7d Don't use posix_fallocate() with GLIBC versions older than 2.7. It probably
Timo Sirainen <tss@iki.fi>
parents: 7094
diff changeset
662 AC_DEFINE(HAVE_POSIX_FALLOCATE,, Define if you have a working posix_fallocate())
8227
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
663 fi
7164
d349cdeddc7d Don't use posix_fallocate() with GLIBC versions older than 2.7. It probably
Timo Sirainen <tss@iki.fi>
parents: 7094
diff changeset
664
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
665 dnl * OS specific options
10753
80a11f8650a4 Added dovecot.m4 file that external plugins can use.
Timo Sirainen <tss@iki.fi>
parents: 10702
diff changeset
666 DC_PLUGIN_DEPS
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
667 case "$host_os" in
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
668 hpux*)
7823
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
669 CFLAGS="$CFLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED"
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
670 # for getting fd_send/fd_recv working:
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
671 LDFLAGS="$LDFLAGS -Wl,+b,:"
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
672 LIBS="-lxnet $LIBS"
7822
5abe05d7d093 HP-UX: pread() and pwrite() are broken, use our own implementation.
Timo Sirainen <tss@iki.fi>
parents: 7804
diff changeset
673 AC_DEFINE(PREAD_BROKEN,, Defint if pread/pwrite implementation is broken)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
674 ;;
11356
348eb4754085 Added process title hack support for OS X.
Timo Sirainen <tss@iki.fi>
parents: 11321
diff changeset
675 linux*|darwin*)
10188
affb52c62add Fixed Linux proctitle hack and enabled it by default now.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
676 AC_DEFINE(PROCTITLE_HACK,, Define if process title can be changed by modifying argv)
affb52c62add Fixed Linux proctitle hack and enabled it by default now.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
677 ;;
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
678 *)
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
679 ;;
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
680 esac
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
681
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
682 AC_CHECK_SIZEOF(int)
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
683 AC_CHECK_SIZEOF(long)
464
c634b705f24b Removed several useless handers of printf_string_upper_bound(), and added a
Timo Sirainen <tss@iki.fi>
parents: 439
diff changeset
684 AC_CHECK_SIZEOF(void *)
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
685 AC_CHECK_SIZEOF(long long)
185
60925d3e2c4d fixed ssize_t and off_t checks.
Timo Sirainen <tss@iki.fi>
parents: 183
diff changeset
686
2036
b3a56463c812 AC_DEFUN warning fixes for aclocal 1.8..
Timo Sirainen <tss@iki.fi>
parents: 2035
diff changeset
687 AC_DEFUN([AC_TYPEOF], [
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
688 dnl * first check if we can get the size with redefining typedefs
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
689
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
690 order="$2"
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
691 if test "$2" = ""; then
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
692 order="int long long-long"
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
693 fi
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
694
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
695 result=""
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
696 visible="unknown"
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
697 AC_MSG_CHECKING([type of $1])
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
698 AC_CACHE_VAL(i_cv_typeof_$1,[
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
699 if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
700 dnl * try with printf() + -Werror
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
701 old_CFLAGS="$CFLAGS"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
702 CFLAGS="$CFLAGS -Werror"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
703
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
704 for type in $order; do
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
705 case "$type" in
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
706 int)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
707 fmt="%d"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
708 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
709 unsigned-int)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
710 fmt="%u"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
711 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
712 long)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
713 fmt="%ld"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
714 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
715 unsigned-long)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
716 fmt="%lu"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
717 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
718 long-long)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
719 fmt="%lld"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
720 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
721 unsigned-long-long)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
722 fmt="%llu"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
723 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
724 *)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
725 fmt=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
726 ;;
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
727 esac
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
728
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
729 if test "$fmt" != ""; then
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
730 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
731 #include <sys/types.h>
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
732 #include <stdio.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
733 ]], [[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
734 printf("$fmt", ($1)0);
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
735 ]])],[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
736 if test "$result" != ""; then
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
737 dnl * warning check isn't working
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
738 result=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
739 visible="unknown"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
740 break
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
741 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
742 result="`echo $type|sed 's/-/ /g'`"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
743 visible="$result"
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
744 ],[])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
745 fi
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
746 done
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
747 CFLAGS="$old_CFLAGS"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
748 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
749
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
750 if test "$result" = ""; then
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
751 for type in $order; do
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
752 type="`echo $type|sed 's/-/ /g'`"
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
753 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
754 #include <sys/types.h>
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
755 typedef $type $1;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
756 ]], [[]])],[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
757 if test "$result" != ""; then
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
758 dnl * compiler allows redefining to anything
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
759 result=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
760 visible="unknown"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
761 break
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
762 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
763 result="$type"
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
764 visible="$type"
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
765 ],[])
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
766 done
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
767 fi
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
768
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
769 if test "$result" = ""; then
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
770 dnl * check with sizes
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
771
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
772 dnl * older autoconfs don't include sys/types.h, so do it manually
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
773 AC_RUN_IFELSE([AC_LANG_SOURCE([[
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
774 #include <stdio.h>
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
775 #include <sys/types.h>
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
776 int main() {
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
777 FILE *f=fopen("conftestval", "w");
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
778 if (!f) exit(1);
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
779 fprintf(f, "%d\n", sizeof($1));
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
780 exit(0);
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
781 }
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
782 ]])],[
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
783 size=`cat conftestval`
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
784 rm -f conftestval
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
785
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
786 for type in $order; do
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
787 actype="ac_cv_sizeof_`echo $type|sed 's/-/_/g'`"
4567
32f5df3de2d1 eval doesn't need to have its parameters quoted. The previous \" quoting was
Timo Sirainen <tss@iki.fi>
parents: 4565
diff changeset
788 if test "$size" = "`eval echo \\$$actype`"; then
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
789 result="`echo $type|sed 's/-/ /g'`"
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
790 visible="`expr $size \* 8`bit (using $result)"
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
791 break
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
792 fi
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
793 done
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
794 if test "$result" = ""; then
4055
f7ff79c3189b If size_t and ssize_t exist but we can't figure out their type, don't
Timo Sirainen <tss@iki.fi>
parents: 4050
diff changeset
795 result=unknown
f7ff79c3189b If size_t and ssize_t exist but we can't figure out their type, don't
Timo Sirainen <tss@iki.fi>
parents: 4050
diff changeset
796 visible="`expr $size \* 8`bit (unknown type)"
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
797 fi
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
798 ],[],[])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
799 fi
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
800 i_cv_typeof_$1=$result/$visible
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
801 ])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
802
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
803 typeof_$1=`echo $i_cv_typeof_$1 | sed s,/.*$,,`
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
804 visible=`echo $i_cv_typeof_$1 | sed s,^.*/,,`
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
805 AC_MSG_RESULT($visible)
185
60925d3e2c4d fixed ssize_t and off_t checks.
Timo Sirainen <tss@iki.fi>
parents: 183
diff changeset
806 ])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
807
6616
be366eda336e Use AC_SYS_LARGEFILE instead of our own checks. Also removes
Timo Sirainen <tss@iki.fi>
parents: 6610
diff changeset
808 AC_SYS_LARGEFILE
3929
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
809 AC_CHECK_TYPES(_Bool)
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
810
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
811 AC_CHECK_TYPE(uoff_t, [
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
812 have_uoff_t=yes
3929
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
813 AC_DEFINE(HAVE_UOFF_T,, Define if you have a native uoff_t type)
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
814 ], [
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
815 have_uoff_t=no
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
816 ])
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
817
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
818 AC_TYPEOF(off_t, long int long-long)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
819 case "$typeof_off_t" in
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
820 int)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
821 offt_max=INT_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
822 uofft_fmt="u"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
823 if test "$have_uoff_t" != "yes"; then
3929
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
824 AC_DEFINE(UOFF_T_INT,, Define if off_t is int)
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
825 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
826 offt_bits=`expr 8 \* $ac_cv_sizeof_int`
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
827 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
828 long)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
829 offt_max=LONG_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
830 uofft_fmt="lu"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
831 if test "$have_uoff_t" != "yes"; then
3929
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
832 AC_DEFINE(UOFF_T_LONG,, Define if off_t is long)
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
833 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
834 offt_bits=`expr 8 \* $ac_cv_sizeof_long`
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
835 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
836 "long long")
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
837 offt_max=LLONG_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
838 uofft_fmt="llu"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
839 if test "$have_uoff_t" != "yes"; then
3929
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
840 AC_DEFINE(UOFF_T_LONG_LONG,, Define if off_t is long long)
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
841 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
842 offt_bits=`expr 8 \* $ac_cv_sizeof_long_long`
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
843 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
844 *)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
845 AC_MSG_ERROR([Unsupported off_t type])
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
846 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
847 esac
50
d493b9cc265e Introduced uoff_t which is the unsigned-equilevant of off_t. This was needed
Timo Sirainen <tss@iki.fi>
parents: 5
diff changeset
848
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
849 dnl * Do we have struct dirent->d_type
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
850 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
851 #include <dirent.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
852 ]], [[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
853 struct dirent d;
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
854 d.d_type = DT_DIR;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
855 ]])],[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
856 AC_DEFINE(HAVE_DIRENT_D_TYPE,, Define if you have struct dirent->d_type)
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
857 ],[])
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
858
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
859 dnl * Do we have OFF_T_MAX?
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
860 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
861 #include <limits.h>
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
862 #include <sys/types.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
863 ]], [[
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
864 off_t i = OFF_T_MAX;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
865 ]])],[
1403
Timo Sirainen <tss@iki.fi>
parents: 1394
diff changeset
866 :
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
867 ],[
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
868 AC_DEFINE_UNQUOTED(OFF_T_MAX, $offt_max, Maximum value of off_t)
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
869 ])
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
870
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
871 AC_DEFINE_UNQUOTED(PRIuUOFF_T, "$uofft_fmt", printf() format for uoff_t)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
872
750
b97c8964d7c1 Give a hard warning if size_t is signed.
Timo Sirainen <tss@iki.fi>
parents: 745
diff changeset
873 dnl * make sure size_t isn't signed. we'd probably work fine with it, but
b97c8964d7c1 Give a hard warning if size_t is signed.
Timo Sirainen <tss@iki.fi>
parents: 745
diff changeset
874 dnl * it's more likely vulnerable to buffer overflows. Anyway, C99 specifies
b97c8964d7c1 Give a hard warning if size_t is signed.
Timo Sirainen <tss@iki.fi>
parents: 745
diff changeset
875 dnl * that it's unsigned and only some old systems define it as signed.
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
876 AC_CACHE_CHECK([whether size_t is signed],i_cv_signed_size_t,[
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
877 AC_RUN_IFELSE([AC_LANG_SOURCE([[
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
878 #include <sys/types.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
879 int main() {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
880 /* return 0 if we're signed */
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
881 exit((size_t)(int)-1 <= 0 ? 0 : 1);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
882 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
883 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
884 i_cv_signed_size_t=yes
750
b97c8964d7c1 Give a hard warning if size_t is signed.
Timo Sirainen <tss@iki.fi>
parents: 745
diff changeset
885
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
886 echo
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
887 echo "Your system's size_t is a signed integer, Dovecot isn't designed to"
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
888 echo "support it. It probably works just fine, but it's less resistant to"
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
889 echo "buffer overflows. If you're not worried about this and still want to"
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
890 echo "compile Dovecot, set ignore_signed_size=1 environment."
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
891
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
892 if test "$ignore_signed_size" = ""; then
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
893 AC_MSG_ERROR([aborting])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
894 fi
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
895 echo "..ignoring as requested.."
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
896 ],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
897 i_cv_signed_size_t=no
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
898 ],[])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
899 ])
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
900 dnl Note: we check size_t rather than ssize_t here, because on OSX 10.2
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
901 dnl ssize_t = int and size_t = unsigned long. We're mostly concerned about
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
902 dnl printf format here, so check the size_t one.
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
903 AC_TYPEOF(size_t, unsigned-int unsigned-long unsigned-long-long)
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
904 case "$typeof_size_t" in
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
905 "unsigned long")
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
906 ssizet_max=LONG_MAX
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
907 sizet_fmt="lu"
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
908 ;;
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
909 "unsigned long long")
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
910 ssizet_max=LLONG_MAX
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
911 sizet_fmt="llu"
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
912 ;;
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
913 *)
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
914 dnl older systems didn't have ssize_t, default to int
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
915 ssizet_max=INT_MAX
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
916 sizet_fmt="u"
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
917
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
918 if test "$typeof_size_t" = ""; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
919 AC_DEFINE(size_t, unsigned int, Define to 'unsigned int' if you don't have it)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
920 AC_DEFINE(ssize_t, int, Define to 'int' if you don't have it)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
921 fi
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
922 ;;
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
923 esac
183
4a7ab9e94f25 size_t fixes for lib/. Changed OFF_T_FORMAT to PRIuOFF_T which is more
Timo Sirainen <tss@iki.fi>
parents: 179
diff changeset
924
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
925 AC_DEFINE_UNQUOTED(SSIZE_T_MAX, $ssizet_max, Maximum value of ssize_t)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
926 AC_DEFINE_UNQUOTED(PRIuSIZE_T, "$sizet_fmt", printf() format for size_t)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
927
2036
b3a56463c812 AC_DEFUN warning fixes for aclocal 1.8..
Timo Sirainen <tss@iki.fi>
parents: 2035
diff changeset
928 AC_DEFUN([AC_CHECKTYPE2], [
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
929 AC_MSG_CHECKING([for $1])
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
930 AC_CACHE_VAL(i_cv_type_$1,
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
931 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
932 #include <sys/types.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
933 $2]], [[$1 t;]])],[i_cv_type_$1=yes],[i_cv_type_$1=no])])
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
934 AC_MSG_RESULT($i_cv_type_$1)
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
935 ])
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
936
1660
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
937 dnl some systems don't have stdint.h, but still have some of the types
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
938 dnl defined elsewhere
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
939 AC_CHECK_HEADER(stdint.h, [
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
940 stdint_include="#include <stdint.h>"
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
941 ])
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
942
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
943 AC_CHECKTYPE2(uintmax_t, [$stdint_include])
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
944 if test $i_cv_type_uintmax_t = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
945 AC_DEFINE(HAVE_UINTMAX_T,, Define if you have uintmax_t (C99 type))
179
0ffecd4e7e1a added dec2str() function and largest_t type, removed itoa() and ltoa()
Timo Sirainen <tss@iki.fi>
parents: 175
diff changeset
946 fi
0ffecd4e7e1a added dec2str() function and largest_t type, removed itoa() and ltoa()
Timo Sirainen <tss@iki.fi>
parents: 175
diff changeset
947
908
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
948 dnl use separate check, eg. Solaris 8 has uintmax_t but not uint_fast32_t
1660
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
949 AC_CHECKTYPE2(uint_fast32_t, [$stdint_include])
908
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
950 if test $i_cv_type_uint_fast32_t = yes; then
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
951 AC_DEFINE(HAVE_UINT_FAST32_T,, Define if you have uint_fast32_t (C99 type))
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
952 fi
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
953
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
954 AC_CHECKTYPE2(socklen_t, [#include <sys/socket.h>])
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
955 if test $i_cv_type_socklen_t = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
956 AC_DEFINE(HAVE_SOCKLEN_T,, Define to 'int' if you don't have socklen_t)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
957 fi
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
958
1394
059f13d577bb Use separate index alignment from memory alignment. We don't use pointers in
Timo Sirainen <tss@iki.fi>
parents: 1389
diff changeset
959 AC_DEFINE_UNQUOTED(MEM_ALIGN_SIZE, $mem_align, Required memory alignment)
059f13d577bb Use separate index alignment from memory alignment. We don't use pointers in
Timo Sirainen <tss@iki.fi>
parents: 1389
diff changeset
960
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
961 dnl * find random source
14989
3765e8948f1c configure: Removed OpenBSD /dev/arandom checking.
Timo Sirainen <tss@iki.fi>
parents: 14935
diff changeset
962 AC_MSG_CHECKING([for /dev/urandom])
3765e8948f1c configure: Removed OpenBSD /dev/arandom checking.
Timo Sirainen <tss@iki.fi>
parents: 14935
diff changeset
963 if test -c /dev/urandom || test -s /dev/urandom; then
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
964 AC_MSG_RESULT(yes)
14989
3765e8948f1c configure: Removed OpenBSD /dev/arandom checking.
Timo Sirainen <tss@iki.fi>
parents: 14935
diff changeset
965 AC_DEFINE(DEV_URANDOM_PATH, "/dev/urandom", Path to /dev/urandom)
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
966 have_random_source=yes
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
967 else
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
968 AC_MSG_RESULT(no)
9204
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
969 fi
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
970
9204
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
971 if test "$have_random_source" != "yes"; then
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
972 AC_CHECK_HEADER(openssl/rand.h, [
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
973 AC_DEFINE(HAVE_OPENSSL_RAND_H,, Define if you have openssl/rand.h)
7844
7b39370dae6b If we need -lcrypto for randomness, put it to $LIBS instead of $RAND_LIBS
Timo Sirainen <tss@iki.fi>
parents: 7826
diff changeset
974 LIBS="$LIBS -lcrypto"
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
975 ])
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
976 fi
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
977
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
978 dnl * do we have tm_gmtoff
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
979 AC_MSG_CHECKING([for tm_gmtoff])
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
980 AC_CACHE_VAL(i_cv_field_tm_gmtoff,
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
981 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
982 #include <time.h>]],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
983 [[struct tm *tm; return tm->tm_gmtoff;]])],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
984 [i_cv_field_tm_gmtoff=yes],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
985 [i_cv_field_tm_gmtoff=no])])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
986 if test $i_cv_field_tm_gmtoff = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
987 AC_DEFINE(HAVE_TM_GMTOFF,, Define if you have struct tm->tm_gmtoff)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
988 fi
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
989 AC_MSG_RESULT($i_cv_field_tm_gmtoff)
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
990
1658
20519e4bca48 utc_mktime() crashed with 64bit time_t if gmtime() didn't like >32bit values
Timo Sirainen <tss@iki.fi>
parents: 1656
diff changeset
991 dnl * how large time_t values does gmtime() accept?
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
992 AC_CACHE_CHECK([how large time_t values gmtime() accepts],i_cv_gmtime_max_time_t,[
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
993 AC_RUN_IFELSE([AC_LANG_SOURCE([[
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
994 #include <stdio.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
995 #include <time.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
996 int main() {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
997 FILE *f;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
998 int bits;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
999
6522
6c46542a5ce5 With 32bit time_t we were checking it up to 64 bits, which overflowed the
Timo Sirainen <tss@iki.fi>
parents: 6501
diff changeset
1000 for (bits = 1; bits < sizeof(time_t)*8; bits++) {
6483
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1001 time_t t = ((time_t)1 << bits) - 1;
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1002 if (gmtime(&t) == NULL) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1003 bits--;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1004 break;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1005 }
1658
20519e4bca48 utc_mktime() crashed with 64bit time_t if gmtime() didn't like >32bit values
Timo Sirainen <tss@iki.fi>
parents: 1656
diff changeset
1006 }
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1007 if (bits > 40) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1008 /* Solaris 9 breaks after 55 bits. Perhaps other systems break earlier.
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1009 Let's just do the same as Cyrus folks and limit it to 40 bits. */
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1010 bits = 40;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1011 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1012
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1013 f = fopen("conftest.temp", "w");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1014 if (f == NULL) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1015 perror("fopen()");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1016 return 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1017 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1018 fprintf(f, "%d", bits);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1019 fclose(f);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1020 return 0;
3206
6400a517f087 Limit TIME_T_MAX_BITS to 40.
Timo Sirainen <tss@iki.fi>
parents: 3199
diff changeset
1021 }
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1022 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1023 i_cv_gmtime_max_time_t=`cat conftest.temp`
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1024 rm -f conftest.temp
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1025 ], [
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1026 printf "check failed, assuming "
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1027 i_cv_gmtime_max_time_t=31
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1028 ],[])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1029 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1030 AC_DEFINE_UNQUOTED(TIME_T_MAX_BITS, $i_cv_gmtime_max_time_t, max. time_t bits gmtime() can handle)
1658
20519e4bca48 utc_mktime() crashed with 64bit time_t if gmtime() didn't like >32bit values
Timo Sirainen <tss@iki.fi>
parents: 1656
diff changeset
1031
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1032 AC_CACHE_CHECK([whether time_t is signed],i_cv_signed_time_t,[
6483
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1033 AC_RUN_IFELSE([AC_LANG_SOURCE([[
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1034 #include <sys/types.h>
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1035 int main() {
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1036 /* return 0 if we're signed */
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1037 exit((time_t)(int)-1 <= 0 ? 0 : 1);
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1038 }
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1039 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1040 i_cv_signed_time_t=yes
6483
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1041 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1042 i_cv_signed_time_t=no
6483
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1043 ])
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1044 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1045 if test $i_cv_signed_time_t = yes; then
6483
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1046 AC_DEFINE(TIME_T_SIGNED,, Define if your time_t is signed)
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1047 fi
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1048
7997
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1049 dnl Our implementation of AC_C_FLEXIBLE_ARRAY_MEMBER.
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1050 dnl Use it until autoconf 2.61+ becomes more widely used
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1051 AC_CACHE_CHECK([if we can use C99-like flexible array members],i_cv_c99_flex_arrays,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1052 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1053 struct foo {
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1054 int x;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1055 char y[];
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1056 };
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1057 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1058 struct foo foo;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1059 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1060 i_cv_c99_flex_arrays=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1061 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1062 i_cv_c99_flex_arrays=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1063 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1064 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1065
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1066 if test $i_cv_c99_flex_arrays = yes; then
10094
634588d51ae6 configure: FLEXIBLE_ARRAY_MEMBER value was reversed.
Timo Sirainen <tss@iki.fi>
parents: 10091
diff changeset
1067 flexible_value=
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1068 else
10094
634588d51ae6 configure: FLEXIBLE_ARRAY_MEMBER value was reversed.
Timo Sirainen <tss@iki.fi>
parents: 10091
diff changeset
1069 flexible_value=1
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1070 fi
7997
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1071 AC_DEFINE_UNQUOTED(FLEXIBLE_ARRAY_MEMBER, $flexible_value, How to define flexible array members in structs)
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1072
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1073 dnl * do we have struct iovec
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1074 AC_MSG_CHECKING([for struct iovec])
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1075 AC_CACHE_VAL(i_cv_struct_iovec,
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1076 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1077 #include <sys/types.h>
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1078 #include <sys/uio.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1079 #include <unistd.h>]],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1080 [[struct iovec *iovec;]])],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1081 [i_cv_struct_iovec=yes],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1082 [i_cv_struct_iovec=no])])
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1083
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1084 if test $i_cv_struct_iovec = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1085 AC_DEFINE(HAVE_STRUCT_IOVEC,, Define if you have struct iovec)
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1086 fi
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1087 AC_MSG_RESULT($i_cv_struct_iovec)
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1088
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
1089 dnl * is dev_t an integer or something else?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1090 AC_CACHE_CHECK([whether dev_t is struct],i_cv_dev_t_struct,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1091 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1092 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1093 struct test { dev_t a; };
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1094 static struct test t = { 0 };
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1095 ]],
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1096 [[ ]])], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1097 i_cv_dev_t_struct=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1098 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1099 i_cv_dev_t_struct=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1100 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1101 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1102 if test $i_cv_dev_t_struct = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1103 AC_DEFINE(DEV_T_STRUCT,, Define if your dev_t is a structure instead of integer type)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1104 fi
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
1105
739
f50714973d0b RLIMIT_AS isn't supported everywhere - use it if it exists, but also use
Timo Sirainen <tss@iki.fi>
parents: 733
diff changeset
1106 dnl * Do we have RLIMIT_AS?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1107 AC_CACHE_CHECK([whether RLIMIT_AS exists],i_cv_have_rlimit_as,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1108 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1109 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1110 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1111 #include <sys/resource.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1112 ]], [[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1113 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1114 getrlimit(RLIMIT_AS, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1115 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1116 i_cv_have_rlimit_as=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1117 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1118 i_cv_have_rlimit_as=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1119 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1120 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1121
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1122 if test $i_cv_have_rlimit_as = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1123 AC_DEFINE(HAVE_RLIMIT_AS,, Define if you have RLIMIT_AS for setrlimit())
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1124 fi
739
f50714973d0b RLIMIT_AS isn't supported everywhere - use it if it exists, but also use
Timo Sirainen <tss@iki.fi>
parents: 733
diff changeset
1125
1065
6cb5b50aea71 Don't let login process fork()
Timo Sirainen <tss@iki.fi>
parents: 1058
diff changeset
1126 dnl * Do we have RLIMIT_NPROC?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1127 AC_CACHE_CHECK([whether RLIMIT_NPROC exists],i_cv_have_rlimit_nproc,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1128 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1129 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1130 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1131 #include <sys/resource.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1132 ]], [[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1133 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1134 getrlimit(RLIMIT_NPROC, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1135 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1136 i_cv_have_rlimit_nproc=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1137 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1138 i_cv_have_rlimit_nproc=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1139 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1140 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1141
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1142 if test $i_cv_have_rlimit_nproc = yes; then
1065
6cb5b50aea71 Don't let login process fork()
Timo Sirainen <tss@iki.fi>
parents: 1058
diff changeset
1143 AC_DEFINE(HAVE_RLIMIT_NPROC,, Define if you have RLIMIT_NPROC for setrlimit())
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1144 fi
1065
6cb5b50aea71 Don't let login process fork()
Timo Sirainen <tss@iki.fi>
parents: 1058
diff changeset
1145
7946
aad49536db41 If core dump limit is 0, add "core dumps disabled" to startup log line.
Timo Sirainen <tss@iki.fi>
parents: 7929
diff changeset
1146 dnl * Do we have RLIMIT_CORE?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1147 AC_CACHE_CHECK([whether RLIMIT_CORE exists],i_cv_have_rlimit_core,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1148 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1149 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1150 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1151 #include <sys/resource.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1152 ]], [[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1153 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1154 getrlimit(RLIMIT_CORE, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1155 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1156 i_cv_have_rlimit_core=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1157 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1158 i_cv_have_rlimit_core=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1159 ])
8798
c9381a0fdc5e Improved logging for core dumping. With Linux use PR_SET_DUMPABLE for imap/pop3.
Timo Sirainen <tss@iki.fi>
parents: 8743
diff changeset
1160 ])
c9381a0fdc5e Improved logging for core dumping. With Linux use PR_SET_DUMPABLE for imap/pop3.
Timo Sirainen <tss@iki.fi>
parents: 8743
diff changeset
1161
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1162 if test $i_cv_have_rlimit_core = yes; then
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1163 AC_DEFINE(HAVE_RLIMIT_CORE,, Define if you have RLIMIT_CORE for getrlimit())
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1164 fi
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1165
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1166 AC_CACHE_CHECK([whether PR_SET_DUMPABLE exists],i_cv_have_pr_set_dumpable,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1167 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1168 #include <sys/prctl.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1169 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1170 prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1171 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1172 i_cv_have_pr_set_dumpable=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1173 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1174 i_cv_have_pr_set_dumpable=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1175 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1176 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1177 if test $i_cv_have_pr_set_dumpable = yes; then
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1178 AC_DEFINE(HAVE_PR_SET_DUMPABLE,, Define if you have prctl(PR_SET_DUMPABLE))
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1179 fi
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1180
528
a95b1ccff82e Support FreeBSD-compatible sendfile(). Completely untested.
Timo Sirainen <tss@iki.fi>
parents: 494
diff changeset
1181 dnl * Linux compatible mremap()
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1182 AC_CACHE_CHECK([Linux compatible mremap()],i_cv_have_linux_mremap,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1183 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1184 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1185 #define __USE_GNU
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1186 #include <sys/mman.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1187 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1188 mremap(0, 0, 0, MREMAP_MAYMOVE);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1189 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1190 i_cv_have_linux_mremap=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1191 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1192 i_cv_have_linux_mremap=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1193 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1194 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1195 if test $i_cv_have_linux_mremap = yes; then
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1196 AC_DEFINE(HAVE_LINUX_MREMAP,, Define if you have Linux-compatible mremap())
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1197 fi
224
e8863d6088fe mremap() check
Timo Sirainen <tss@iki.fi>
parents: 191
diff changeset
1198
1622
d22e03714d36 index_mmap_invalidate = yes now invalidate memory maps before accessing
Timo Sirainen <tss@iki.fi>
parents: 1611
diff changeset
1199 dnl * If mmap() plays nicely with write()
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1200 AC_CACHE_CHECK([whether shared mmaps get updated by write()s],i_cv_mmap_plays_with_write,[
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1201 AC_TRY_RUN([
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1202 #include <stdio.h>
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1203 #include <sys/types.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1204 #include <sys/stat.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1205 #include <unistd.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1206 #include <fcntl.h>
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1207 #include <sys/mman.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1208 int main() {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1209 /* return 0 if we're signed */
8226
3e493fd3a9fa configure: create test files with mode 0600.
Timo Sirainen <tss@iki.fi>
parents: 8173
diff changeset
1210 int f = open("conftest.mmap", O_RDWR|O_CREAT|O_TRUNC, 0600);
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1211 void *mem;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1212 if (f == -1) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1213 perror("open()");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1214 return 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1215 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1216 unlink("conftest.mmap");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1217
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1218 write(f, "1", 2);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1219 mem = mmap(NULL, 2, PROT_READ|PROT_WRITE, MAP_SHARED, f, 0);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1220 if (mem == MAP_FAILED) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1221 perror("mmap()");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1222 return 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1223 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1224 strcpy(mem, "2");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1225 msync(mem, 2, MS_SYNC);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1226 lseek(f, 0, SEEK_SET);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1227 write(f, "3", 2);
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1228
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1229 return strcmp(mem, "3") == 0 ? 0 : 1;
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1230 }
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1231 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1232 i_cv_mmap_plays_with_write=yes
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1233 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1234 i_cv_mmap_plays_with_write=no
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1235 ])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1236 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1237 if test $i_cv_mmap_plays_with_write = no; then
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1238 AC_DEFINE(MMAP_CONFLICTS_WRITE,, [Define if shared mmaps don't get updated by write()s])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1239 fi
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1240
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1241 dnl * see if fd passing works
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1242 AC_CACHE_CHECK([whether fd passing works],i_cv_fd_passing,[
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1243 for i in 1 2; do
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1244 old_cflags="$CFLAGS"
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1245 CFLAGS="$CFLAGS -I$srcdir/src/lib $srcdir/src/lib/fdpass.c"
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1246 if test $i = 2; then
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1247 CFLAGS="$CFLAGS -DBUGGY_CMSG_MACROS"
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1248 fi
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1249
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1250 AC_TRY_RUN([
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1251 #include <sys/types.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1252 #include <sys/socket.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1253 #include <sys/wait.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1254 #include <sys/stat.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1255 #include <unistd.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1256 #include <fcntl.h>
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1257 #include "fdpass.h"
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1258
8578
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1259 int nopen(void)
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1260 {
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1261 int i, n;
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1262 struct stat sb;
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1263 for (i = n = 0; i < 256; i++)
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1264 if (fstat(i, &sb) == 0) n++;
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1265 return n;
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1266 }
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1267 int main(void)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1268 {
8578
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1269 int fd[2], send_fd, recv_fd, status, n1, n2;
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1270 struct stat st, st2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1271 char data;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1272
8226
3e493fd3a9fa configure: create test files with mode 0600.
Timo Sirainen <tss@iki.fi>
parents: 8173
diff changeset
1273 send_fd = creat("conftest.fdpass", 0600);
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1274 if (send_fd == -1) return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1275 unlink("conftest.fdpass");
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1276 if (fstat(send_fd, &st) < 0) return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1277 if (socketpair(AF_UNIX, SOCK_STREAM, 0, fd) < 0) return 2;
8578
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1278 n1 = nopen();
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1279
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1280 switch (fork()) {
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1281 case -1:
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1282 return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1283 case 0:
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1284 alarm(1);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1285 if (fd_send(fd[0], send_fd, &data, 1) != 1) return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1286 return 0;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1287 default:
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1288 alarm(2);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1289 if (wait(&status) == -1)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1290 return 2;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1291 if (status != 0)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1292 return status;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1293 if (fd_read(fd[1], &data, 1, &recv_fd) != 1) return 1;
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1294 if (fstat(recv_fd, &st2) < 0) return 2;
8578
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1295 /* nopen check is for making sure that only a single fd
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1296 was received */
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1297 n2 = nopen();
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1298 return st.st_ino == st2.st_ino && n2 == n1 + 1 ? 0 : 1;
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1299 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1300 }
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1301 ], [
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1302 CFLAGS=$old_cflags
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1303 if test $i = 2; then
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1304 i_cv_fd_passing=buggy_cmsg_macros
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1305 else
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1306 i_cv_fd_passing=yes
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1307 fi
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1308 break
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1309 ], [
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1310 dnl no, try with BUGGY_CMSG_MACROS
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1311 CFLAGS=$old_cflags
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1312 i_cv_fd_passing=no
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1313 ])
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1314 done
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1315 ]);
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1316
8578
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1317 case "$host_os" in
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1318 darwin[[1-9]].*)
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1319 if test "$i_cv_fd_passing" = "yes"; then
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1320 i_cv_fd_passing=buggy_cmsg_macros
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1321 fi
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1322 ;;
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1323 esac
729576bb91d8 Some versions of Mac OS X have buggy CMSG_* macros, avoid using them.
Timo Sirainen <tss@iki.fi>
parents: 8572
diff changeset
1324
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1325 if test $i_cv_fd_passing = buggy_cmsg_macros; then
5165
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1326 AC_DEFINE(BUGGY_CMSG_MACROS,, Define if you have buggy CMSG macros)
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: 5103
diff changeset
1327 fi
11839
8cf47a359213 configure: If fd passing check fails, abort
Timo Sirainen <tss@iki.fi>
parents: 11820
diff changeset
1328 if test $i_cv_fd_passing = no; then
8cf47a359213 configure: If fd passing check fails, abort
Timo Sirainen <tss@iki.fi>
parents: 11820
diff changeset
1329 AC_ERROR([fd passing is required for Dovecot to work])
8cf47a359213 configure: If fd passing check fails, abort
Timo Sirainen <tss@iki.fi>
parents: 11820
diff changeset
1330 fi
1622
d22e03714d36 index_mmap_invalidate = yes now invalidate memory maps before accessing
Timo Sirainen <tss@iki.fi>
parents: 1611
diff changeset
1331
2035
0e65efd14eda Solaris: Move from sendfilev() to sendfile() (was it always there?). Make
Timo Sirainen <tss@iki.fi>
parents: 2028
diff changeset
1332 dnl * Solaris compatible sendfile()
0e65efd14eda Solaris: Move from sendfilev() to sendfile() (was it always there?). Make
Timo Sirainen <tss@iki.fi>
parents: 2028
diff changeset
1333 AC_CHECK_LIB(sendfile, sendfile, [
976
b3e0f857981c Support for Solaris sendfilev(). Entirely untested, hope it works.
Timo Sirainen <tss@iki.fi>
parents: 975
diff changeset
1334 LIBS="$LIBS -lsendfile"
2035
0e65efd14eda Solaris: Move from sendfilev() to sendfile() (was it always there?). Make
Timo Sirainen <tss@iki.fi>
parents: 2028
diff changeset
1335 AC_DEFINE(HAVE_SOLARIS_SENDFILE,, Define if you have Solaris-compatible sendfile())
976
b3e0f857981c Support for Solaris sendfilev(). Entirely untested, hope it works.
Timo Sirainen <tss@iki.fi>
parents: 975
diff changeset
1336 ], [
981
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1337 dnl * Linux compatible sendfile() - don't check if Solaris one was found.
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1338 dnl * This seems to pass with Solaris for some reason..
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1339 AC_CACHE_CHECK([Linux compatible sendfile()],i_cv_have_linux_sendfile,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1340 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1341 #undef _FILE_OFFSET_BITS
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1342 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1343 #include <sys/socket.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1344 #include <sys/sendfile.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1345 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1346 sendfile(0, 0, (void *) 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1347 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1348 i_cv_have_linux_sendfile=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1349 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1350 i_cv_have_linux_sendfile=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1351 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1352 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1353 if test $i_cv_have_linux_sendfile = yes; then
981
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1354 AC_DEFINE(HAVE_LINUX_SENDFILE,, Define if you have Linux-compatible sendfile())
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1355 fi
981
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1356
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1357 dnl * FreeBSD compatible sendfile()
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1358 AC_CACHE_CHECK([FreeBSD compatible sendfile()],i_cv_have_freebsd_sendfile,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1359 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1360 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1361 #include <sys/socket.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1362 #include <sys/uio.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1363 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1364 struct sf_hdtr hdtr;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1365 sendfile(0, 0, 0, 0, &hdtr, (void *) 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1366 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1367 i_cv_have_freebsd_sendfile=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1368 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1369 i_cv_have_freebsd_sendfile=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1370 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1371 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1372 if test $i_cv_have_freebsd_sendfile = yes; then
981
7e9b90bfe78c If Solaris sendfilev() is found, don't try checking for Linux one. Linux
Timo Sirainen <tss@iki.fi>
parents: 976
diff changeset
1373 AC_DEFINE(HAVE_FREEBSD_SENDFILE,, Define if you have FreeBSD-compatible sendfile())
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1374 fi
976
b3e0f857981c Support for Solaris sendfilev(). Entirely untested, hope it works.
Timo Sirainen <tss@iki.fi>
parents: 975
diff changeset
1375 ])
b3e0f857981c Support for Solaris sendfilev(). Entirely untested, hope it works.
Timo Sirainen <tss@iki.fi>
parents: 975
diff changeset
1376
10491
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1377 AC_CACHE_CHECK([if unsetenv returns int],i_cv_unsetenv_ret_int,[
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1378 AC_TRY_COMPILE([
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1379 #include <stdlib.h>
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1380 ], [
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1381 if (unsetenv("env") < 0) ;
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1382 ], [
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1383 i_cv_unsetenv_ret_int=yes
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1384 ], [
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1385 i_cv_unsetenv_ret_int=no
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1386 ])
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1387 ])
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1388 if test $i_cv_unsetenv_ret_int = yes; then
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1389 AC_DEFINE(UNSETENV_RET_INT,, Define if unsetenv() returns int)
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1390 fi
617fa0739538 Compile fix for systems where unsetenv() returns void.
Timo Sirainen <tss@iki.fi>
parents: 10489
diff changeset
1391
3590
340e1b87c27b Added check for _XPG6 macro for crypt().
Timo Sirainen <tss@iki.fi>
parents: 3575
diff changeset
1392 dnl * Check for crypt() if unistd.h compiles with _XOPEN_SOURCE + _XPG6
340e1b87c27b Added check for _XPG6 macro for crypt().
Timo Sirainen <tss@iki.fi>
parents: 3575
diff changeset
1393 dnl * Add other macros there too "just in case".
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1394 AC_CACHE_CHECK([if we should use _XPG6 macro for crypt()],i_cv_use_xpg6_crypt,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1395 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1396 #define _XOPEN_SOURCE 4
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1397 #define _XOPEN_SOURCE_EXTENDED 1
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1398 #define _XOPEN_VERSION 4
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1399 #define _XPG4_2
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1400 #define _XPG6
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1401 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1402 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1403 crypt("a", "b");
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1404 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1405 i_cv_use_xpg6_crypt=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1406 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1407 i_cv_use_xpg6_crypt=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1408 ])
3590
340e1b87c27b Added check for _XPG6 macro for crypt().
Timo Sirainen <tss@iki.fi>
parents: 3575
diff changeset
1409 ])
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1410 if test $i_cv_use_xpg6_crypt = yes; then
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1411 AC_DEFINE(CRYPT_USE_XPG6,, Define if _XPG6 macro is needed for crypt())
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1412 fi
7526
a957567706ec Replaced HAVE_ST_NSEC macro checks with more generic ST_?TIME_NSEC() macros
Timo Sirainen <tss@iki.fi>
parents: 7502
diff changeset
1413
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1414 AC_CACHE_CHECK([if struct stat has st_?tim timespec fields],i_cv_have_st_tim_timespec,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1415 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1416 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1417 #include <sys/stat.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1418 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1419 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1420 struct stat st;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1421 unsigned long x = st.st_mtim.tv_nsec;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1422
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1423 return 0;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1424 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1425 i_cv_have_st_tim_timespec=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1426 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1427 i_cv_have_st_tim_timespec=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1428 ])
5375
94f043494a12 Check if struct stat has tv_nsec fields
Timo Sirainen <tss@iki.fi>
parents: 5359
diff changeset
1429 ])
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1430 if test $i_cv_have_st_tim_timespec = yes; then
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1431 AC_DEFINE(HAVE_STAT_XTIM,, Define if you have st_?tim timespec fields in struct stat)
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1432 fi
5375
94f043494a12 Check if struct stat has tv_nsec fields
Timo Sirainen <tss@iki.fi>
parents: 5359
diff changeset
1433
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1434 AC_CACHE_CHECK([if struct stat has st_?timespec fields],i_cv_have_st_timespec,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1435 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1436 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1437 #include <sys/stat.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1438 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1439 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1440 struct stat st;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1441 unsigned long x = st.st_mtimespec.tv_nsec;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1442
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1443 return 0;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1444 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1445 i_cv_have_st_timespec=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1446 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1447 i_cv_have_st_timespec=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1448 ])
4736
6789961fe02e Added support for statvfs(), which is what the newer BSDs use.
Timo Sirainen <tss@iki.fi>
parents: 4645
diff changeset
1449 ])
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1450 if test $i_cv_have_st_timespec = yes; then
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1451 AC_DEFINE(HAVE_STAT_XTIMESPEC,, Define if you have st_?timespec fields in struct stat)
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1452 fi
4736
6789961fe02e Added support for statvfs(), which is what the newer BSDs use.
Timo Sirainen <tss@iki.fi>
parents: 4645
diff changeset
1453
6789961fe02e Added support for statvfs(), which is what the newer BSDs use.
Timo Sirainen <tss@iki.fi>
parents: 4645
diff changeset
1454 dnl * Check if statvfs() can be used to find out block device for files
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1455 AC_CACHE_CHECK([if statvfs.f_mntfromname exists],i_cv_have_statvfs_f_mntfromname,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1456 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1457 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1458 #include <sys/statvfs.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1459 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1460 struct statvfs buf;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1461 char *p = buf.f_mntfromname;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1462
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1463 statvfs(".", &buf);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1464 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1465 i_cv_have_statvfs_f_mntfromname=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1466 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1467 i_cv_have_statvfs_f_mntfromname=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1468 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1469 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1470 if test $i_cv_have_statvfs_f_mntfromname = yes; then
4736
6789961fe02e Added support for statvfs(), which is what the newer BSDs use.
Timo Sirainen <tss@iki.fi>
parents: 4645
diff changeset
1471 AC_DEFINE(HAVE_STATVFS_MNTFROMNAME,, Define if you have statvfs.f_mntfromname)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1472 fi
4736
6789961fe02e Added support for statvfs(), which is what the newer BSDs use.
Timo Sirainen <tss@iki.fi>
parents: 4645
diff changeset
1473
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
1474 dnl * Check if statfs() can be used to find out block device for files
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1475 AC_CACHE_CHECK([if statfs.f_mntfromname exists],i_cv_have_statfs_f_mntfromname,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1476 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1477 #include <sys/param.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1478 #include <sys/mount.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1479 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1480 struct statfs buf;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1481 char *p = buf.f_mntfromname;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1482
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1483 statfs(".", &buf);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1484 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1485 i_cv_have_statfs_f_mntfromname=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1486 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1487 i_cv_have_statfs_f_mntfromname=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1488 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1489 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1490 if test $i_cv_have_statfs_f_mntfromname = yes; then
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
1491 AC_DEFINE(HAVE_STATFS_MNTFROMNAME,, Define if you have statfs.f_mntfromname)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1492 fi
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
1493
4552
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1494 dnl * Check if we have struct dqblk.dqb_curblocks
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1495 AC_CACHE_CHECK([if struct dqblk.dqb_curblocks exists],i_cv_have_dqblk_dqb_curblocks,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1496 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1497 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1498 #include "$srcdir/src/plugins/quota/quota-fs.h"
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1499 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1500 struct dqblk dqblk;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1501 unsigned int x = dqblk.dqb_curblocks;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1502 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1503 i_cv_have_dqblk_dqb_curblocks=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1504 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1505 i_cv_have_dqblk_dqb_curblocks=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1506 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1507 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1508 if test $i_cv_have_dqblk_dqb_curblocks = yes; then
4552
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1509 AC_DEFINE(HAVE_STRUCT_DQBLK_CURBLOCKS,, Define if struct sqblk.dqb_curblocks exists)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1510 fi
4552
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1511
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1512 dnl * Check if we have struct dqblk.dqb_curspace
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1513 AC_CACHE_CHECK([if struct dqblk.dqb_curspace exists],i_cv_have_dqblk_dqb_curspace,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1514 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1515 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1516 #include "$srcdir/src/plugins/quota/quota-fs.h"
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1517 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1518 struct dqblk dqblk;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1519 unsigned int x = dqblk.dqb_curspace;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1520 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1521 i_cv_have_dqblk_dqb_curspace=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1522 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1523 i_cv_have_dqblk_dqb_curspace=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1524 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1525 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1526 if test $i_cv_have_dqblk_dqb_curspace = yes; then
4552
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1527 AC_DEFINE(HAVE_STRUCT_DQBLK_CURSPACE,, Define if struct sqblk.dqb_curspace exists)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1528 fi
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1529
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1530 dnl * Check if we have Q_QUOTACTL ioctl (Solaris)
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1531 AC_CACHE_CHECK([if Q_QUOTACTL ioctl exists],i_cv_have_ioctl_q_quotactl,[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1532 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1533 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1534 #include <sys/fs/ufs_quota.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1535 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1536 struct quotctl ctl;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1537 ioctl(0, Q_QUOTACTL, &ctl);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1538 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1539 i_cv_have_ioctl_q_quotactl=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1540 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1541 i_cv_have_ioctl_q_quotactl=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1542 ])
4552
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1543 ])
ef71b2fdd433 Put back specific checks for struct dqblk.dqb_curblocks vs curspace. The
Timo Sirainen <tss@iki.fi>
parents: 4551
diff changeset
1544
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1545 if test $i_cv_have_ioctl_q_quotactl = yes; then
4063
f60237ad2edd Support Solaris's ioctl(Q_QUOTACTL).
Timo Sirainen <tss@iki.fi>
parents: 4057
diff changeset
1546 AC_DEFINE(HAVE_Q_QUOTACTL,, Define if Q_QUOTACTL exists)
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1547 fi
4063
f60237ad2edd Support Solaris's ioctl(Q_QUOTACTL).
Timo Sirainen <tss@iki.fi>
parents: 4057
diff changeset
1548
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1549 dnl ***
5681
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1550 dnl *** C99 vsnprintf()?
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1551 dnl ***
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1552
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1553 AC_CACHE_CHECK([for C99 vsnprintf()],i_cv_c99_vsnprintf,[
5681
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1554 AC_RUN_IFELSE([AC_LANG_SOURCE([[
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1555 #include <stdio.h>
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1556 #include <stdarg.h>
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1557 static int f(const char *fmt, ...) {
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1558 va_list args;
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1559 char buf[13];
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1560 int ret;
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1561
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1562 va_start(args, fmt);
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1563 ret = vsnprintf(buf, 11, fmt, args) != 12 || buf[11-1] != '\0';
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1564 va_end(args);
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1565 return ret;
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1566 }
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1567 int main() {
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1568 return f("hello %s%d", "world", 1);
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1569 }]])],
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1570 [i_cv_c99_vsnprintf=yes],
7850
7f9f7fc02359 Support systems with non-C99 vsnprintf().
Timo Sirainen <tss@iki.fi>
parents: 7847
diff changeset
1571 [i_cv_c99_vsnprintf=no])
5681
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1572 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1573 if test $i_cv_c99_vsnprintf = no; then
7850
7f9f7fc02359 Support systems with non-C99 vsnprintf().
Timo Sirainen <tss@iki.fi>
parents: 7847
diff changeset
1574 AC_DEFINE(HAVE_OLD_VSNPRINTF,, Define if you don't have C99 compatible vsnprintf() call)
5681
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1575 fi
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1576
09415e6a0892 Require C99 compatible vsnprintf(). Removed printf_string_upper_bound() and
Timo Sirainen <tss@iki.fi>
parents: 5633
diff changeset
1577 dnl ***
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1578 dnl *** va_copy checks (from GLIB)
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1579 dnl ***
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1580
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1581 AC_CACHE_CHECK([for an implementation of va_copy()],lib_cv_va_copy,[
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1582 AC_RUN_IFELSE([AC_LANG_SOURCE([[
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1583 #include <stdarg.h>
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1584 void f (int i, ...) {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1585 va_list args1, args2;
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1586 va_start (args1, i);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1587 va_copy (args2, args1);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1588 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1589 exit (1);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1590 va_end (args1); va_end (args2);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1591 }
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1592 int main() {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1593 f (0, 42);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1594 return 0;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1595 }]])],
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1596 [lib_cv_va_copy=yes],
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1597 [lib_cv_va_copy=no],[])
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1598 ])
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1599 AC_CACHE_CHECK([for an implementation of __va_copy()],lib_cv___va_copy,[
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1600 AC_RUN_IFELSE([AC_LANG_SOURCE([[
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1601 #include <stdarg.h>
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1602 void f (int i, ...) {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1603 va_list args1, args2;
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1604 va_start (args1, i);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1605 __va_copy (args2, args1);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1606 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1607 exit (1);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1608 va_end (args1); va_end (args2);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1609 }
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1610 int main() {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1611 f (0, 42);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1612 return 0;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1613 }]])],
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1614 [lib_cv___va_copy=yes],
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1615 [lib_cv___va_copy=no],[])
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1616 ])
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1617
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1618 if test "x$lib_cv_va_copy" = "xyes"; then
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1619 va_copy_func=va_copy
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1620 else if test "x$lib_cv___va_copy" = "xyes"; then
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1621 va_copy_func=__va_copy
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1622 fi
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1623 fi
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1624
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1625 if test -n "$va_copy_func"; then
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1626 AC_DEFINE_UNQUOTED(VA_COPY,$va_copy_func,[A 'va_copy' style function])
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1627 fi
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1628
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1629 AC_CACHE_CHECK([whether va_lists can be copied by value],lib_cv_va_val_copy,[
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1630 AC_RUN_IFELSE([AC_LANG_SOURCE([[
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1631 #include <stdarg.h>
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1632 void f (int i, ...) {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1633 va_list args1, args2;
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1634 va_start (args1, i);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1635 args2 = args1;
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1636 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1637 exit (1);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1638 va_end (args1); va_end (args2);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1639 }
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1640 int main() {
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1641 f (0, 42);
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1642 return 0;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1643 }]])],
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1644 [lib_cv_va_val_copy=yes],
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1645 [lib_cv_va_val_copy=no],[])
859
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1646 ])
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1647
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1648 if test "x$lib_cv_va_val_copy" = "xno"; then
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1649 AC_DEFINE(VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1650 fi
c4754c5770f3 We weren't using va_list properly, especially gcc/PowerPC didn't like it.
Timo Sirainen <tss@iki.fi>
parents: 850
diff changeset
1651
7958
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1652 dnl * dynamic modules?
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1653 have_modules=no
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1654 AC_CHECK_FUNC(dlopen, [
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1655 have_modules=yes
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1656 MODULE_LIBS="-export-dynamic"
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1657 ], [
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1658 AC_CHECK_LIB(dl, dlopen, [
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1659 have_modules=yes
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1660 MODULE_LIBS="-export-dynamic -ldl"
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1661 DLLIB=-ldl
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1662 ])
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1663 ])
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1664
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1665 dnl **
8022
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1666 dnl ** AIX mntctl
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1667 dnl **
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1668
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1669 if test $ac_cv_header_sys_vmount_h = yes; then
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1670 AC_MSG_CHECKING([for reasonable mntctl buffer size])
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1671 AC_RUN_IFELSE([AC_LANG_SOURCE([[
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1672 #include <stdio.h>
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1673 #include <stdlib.h>
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1674 #include <sys/vmount.h>
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1675 int main() {
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1676 int size,count; char *m;
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1677 FILE *f=fopen("conftestval", "w");
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1678 if (!f) exit(1);
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1679 if ((count=mntctl(MCTL_QUERY,sizeof(size),&size))!=0 || !(m=malloc(size)) ||
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1680 (count=mntctl(MCTL_QUERY,size,m))<=0) exit(1);
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1681 fprintf(f, "%d\n",(size * (count + 5))/count & ~1); /* 5 mounts more */
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1682 exit(0);
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1683 }
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1684 ]])],[
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1685 size=`cat conftestval`
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1686 rm -f conftestval
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1687 AC_DEFINE_UNQUOTED(STATIC_MTAB_SIZE,$size, reasonable mntctl buffer size)
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1688 AC_MSG_RESULT($size)
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1689 ],[
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1690 AC_MSG_RESULT(default)
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1691 ])
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1692 fi
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1693
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1694
d1da922a437d mountpoint_get(): Added support for AIX support with mntctl().
Timo Sirainen <tss@iki.fi>
parents: 8008
diff changeset
1695 dnl **
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
1696 dnl ** SSL
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1697 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1698
623
3fa9e363cd3d SSL fixes and doc updates.
Timo Sirainen <tss@iki.fi>
parents: 622
diff changeset
1699 have_ssl=no
3fa9e363cd3d SSL fixes and doc updates.
Timo Sirainen <tss@iki.fi>
parents: 622
diff changeset
1700
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1701 if test $want_openssl != no && test $have_ssl = no; then
12438
c1d8fb31c1ad configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary.
Timo Sirainen <tss@iki.fi>
parents: 12400
diff changeset
1702 if test "$PKG_CONFIG" != "" && $PKG_CONFIG --exists openssl 2>/dev/null; then
1565
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1703 PKG_CHECK_MODULES(SSL, openssl)
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1704 CFLAGS="$CFLAGS $SSL_CFLAGS"
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1705 have_openssl=yes
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1706 else
7958
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1707 # openssl 0.9.8 wants -ldl and it's required if there's only .a lib
1565
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1708 AC_CHECK_LIB(ssl, SSL_read, [
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1709 AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h, [
7958
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1710 SSL_LIBS="-lssl -lcrypto $DLLIB"
1565
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1711 AC_SUBST(SSL_LIBS)
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1712 have_openssl=yes
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1713 ], [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1714 if test $want_openssl = yes; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1715 AC_ERROR([Can't build with OpenSSL: openssl/ssl.h or openssl/err.h not found])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1716 fi
1565
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1717 ])
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1718 ], [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1719 if test $want_openssl = yes; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1720 AC_ERROR([Can't build with OpenSSL: libssl not found])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1721 fi
7958
adb7d13d7d97 When checking for -lssl, include -ldl if it exists. OpenSSL 0.9.8 uses it.
Timo Sirainen <tss@iki.fi>
parents: 7946
diff changeset
1722 ], -lcrypto $DLLIB)
1565
97572a77243a Check OpenSSL using pkg-config which at least redhat uses nowadays.
Timo Sirainen <tss@iki.fi>
parents: 1539
diff changeset
1723 fi
1566
919f5aafbc6c fix for openssl detection
Timo Sirainen <tss@iki.fi>
parents: 1565
diff changeset
1724 if test "$have_openssl" = "yes"; then
919f5aafbc6c fix for openssl detection
Timo Sirainen <tss@iki.fi>
parents: 1565
diff changeset
1725 AC_DEFINE(HAVE_OPENSSL,, Build with OpenSSL support)
919f5aafbc6c fix for openssl detection
Timo Sirainen <tss@iki.fi>
parents: 1565
diff changeset
1726 have_ssl="yes (OpenSSL)"
9973
ba12a404d3b3 Compiling fix for OpenSSL 0.9.7 and older.
Timo Sirainen <tss@iki.fi>
parents: 9942
diff changeset
1727
ba12a404d3b3 Compiling fix for OpenSSL 0.9.7 and older.
Timo Sirainen <tss@iki.fi>
parents: 9942
diff changeset
1728 AC_CHECK_LIB(ssl, SSL_get_current_compression, [
ba12a404d3b3 Compiling fix for OpenSSL 0.9.7 and older.
Timo Sirainen <tss@iki.fi>
parents: 9942
diff changeset
1729 AC_DEFINE(HAVE_SSL_COMPRESSION,, Build with OpenSSL compression)
ba12a404d3b3 Compiling fix for OpenSSL 0.9.7 and older.
Timo Sirainen <tss@iki.fi>
parents: 9942
diff changeset
1730 ],, $SSL_LIBS)
11995
53147e8bdaf9 Compile fix for some OpenSSL version.
Timo Sirainen <tss@iki.fi>
parents: 11974
diff changeset
1731 AC_CHECK_LIB(ssl, SSL_get_servername, [
53147e8bdaf9 Compile fix for some OpenSSL version.
Timo Sirainen <tss@iki.fi>
parents: 11974
diff changeset
1732 AC_DEFINE(HAVE_SSL_GET_SERVERNAME,, Build with TLS hostname support)
53147e8bdaf9 Compile fix for some OpenSSL version.
Timo Sirainen <tss@iki.fi>
parents: 11974
diff changeset
1733 ],, $SSL_LIBS)
1566
919f5aafbc6c fix for openssl detection
Timo Sirainen <tss@iki.fi>
parents: 1565
diff changeset
1734 fi
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
1735 fi
13211
eb6d2fcca15b Fixed compiling without OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 13186
diff changeset
1736 AM_CONDITIONAL(BUILD_OPENSSL, test "$have_openssl" = "yes")
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
1737
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1738 if test $want_gnutls != no && test $have_ssl = no; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1739 AC_CHECK_LIB(gnutls, gnutls_global_init, [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1740 AC_CHECK_HEADER(gnutls/gnutls.h, [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1741 AC_DEFINE(HAVE_GNUTLS,, Build with GNUTLS support)
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1742 SSL_LIBS="-lgnutls -lgcrypt"
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1743 AC_SUBST(SSL_LIBS)
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1744 have_ssl="yes (GNUTLS)"
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1745 have_gnutls=yes
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1746 ], [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1747 if test $want_gnutls = yes; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1748 AC_ERROR([Can't build with GNUTLS: gnutls/gnutls.h not found])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1749 fi
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1750 ])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1751 ], [
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1752 if test $want_gnutls = yes; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1753 AC_ERROR([Can't build with GNUTLS: libgnutls not found])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1754 fi
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1755 ], -lgcrypt)
1948
7fa8697bc2a9 Default to OpenSSL
Timo Sirainen <tss@iki.fi>
parents: 1924
diff changeset
1756 fi
7fa8697bc2a9 Default to OpenSSL
Timo Sirainen <tss@iki.fi>
parents: 1924
diff changeset
1757
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1758 if test "$have_ssl" != "no"; then
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1759 AC_DEFINE(HAVE_SSL,, Build with SSL/TLS support)
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1760 fi
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
1761
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1762 dnl **
1786
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1763 dnl ** Garbage Collector
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1764 dnl **
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1765
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1766 if test $want_gc != no; then
1786
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1767 AC_CHECK_LIB(gc, GC_malloc, [
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1768 AC_CHECK_HEADERS(gc/gc.h gc.h)
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1769 AC_DEFINE(USE_GC,, Define if you want to use Boehm GC)
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1770 LIBS="$LIBS -lgc"
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1771 ], [
6974
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1772 if test $want_gc = yes; then
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1773 AC_ERROR([Can't build with GC: libgc not found])
ec6cc297dd82 --with-package=yes now fails if package can't be used. --with-package=auto
Timo Sirainen <tss@iki.fi>
parents: 6919
diff changeset
1774 fi
1786
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1775 ])
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1776 fi
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1777
49b6103dd2e0 Added support for Boehm GC. However it seems to be crashing for some reason
Timo Sirainen <tss@iki.fi>
parents: 1729
diff changeset
1778 dnl **
1043
cacabd33c68a Initial code for POP3 server. RETR isn't working right yet, there's some
Timo Sirainen <tss@iki.fi>
parents: 1022
diff changeset
1779 dnl ** userdb and passdb checks
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1780 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1781
1043
cacabd33c68a Initial code for POP3 server. RETR isn't working right yet, there's some
Timo Sirainen <tss@iki.fi>
parents: 1022
diff changeset
1782 userdb=""
cacabd33c68a Initial code for POP3 server. RETR isn't working right yet, there's some
Timo Sirainen <tss@iki.fi>
parents: 1022
diff changeset
1783 passdb=""