annotate configure.in @ 11454:df93f0c290ea HEAD

auth: Added passdb static.
author Timo Sirainen <tss@iki.fi>
date Wed, 02 Jun 2010 16:08:07 +0100
parents d8a801d2d3f1
children 0c23ff04394f
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])
11274
6b15f36d40c9 Released v2.0.beta5.
Timo Sirainen <tss@iki.fi>
parents: 11188
diff changeset
2 AC_INIT([Dovecot],[2.0.beta5],[dovecot@dovecot.org])
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
3 AC_CONFIG_SRCDIR([src])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4
8523
426b356a0708 Use "foreign" automake option so it doesn't complain about missing ChangeLog.
Timo Sirainen <tss@iki.fi>
parents: 8517
diff changeset
5 AM_INIT_AUTOMAKE([foreign])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 AM_MAINTAINER_MODE
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8
10754
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
9 ACLOCAL_AMFLAGS='-I $(top_srcdir)'
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
10 AC_SUBST(ACLOCAL_AMFLAGS)
c5cbc99f4627 configure: Set ACLOCAL_AMFLAGS so make finds dovecot.m4.
Timo Sirainen <tss@iki.fi>
parents: 10753
diff changeset
11
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
12 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
13 AC_DEFUN([TEST_WITH], [
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
14 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
15 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
16 eval $want=$2
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
17 elif test $2 = plugin; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
18 if test "$3" = plugin; then
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
19 eval $want=plugin
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
20 else
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
21 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
22 fi
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
23 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
24 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
25 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
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: Unknown value: $2])
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 ])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30
7929
55d1a2bf4573 Renamed --enable-debug to --enable-devel-checks, which describes it better.
Timo Sirainen <tss@iki.fi>
parents: 7924
diff changeset
31 AC_ARG_ENABLE(devel-checks,
55d1a2bf4573 Renamed --enable-debug to --enable-devel-checks, which describes it better.
Timo Sirainen <tss@iki.fi>
parents: 7924
diff changeset
32 [ --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
33 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
34 AC_DEFINE(DEBUG,, Build with extra debugging checks)
544
42e65c2ba49d Added --enable-debug. Currently it just forces file locks so that index
Timo Sirainen <tss@iki.fi>
parents: 530
diff changeset
35 fi)
42e65c2ba49d Added --enable-debug. Currently it just forces file locks so that index
Timo Sirainen <tss@iki.fi>
parents: 530
diff changeset
36
546
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
37 AC_ARG_ENABLE(asserts,
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
38 [ --enable-asserts Enable asserts (default)],
4057
f4807accc1d5 Unbreak last accidental change..
Timo Sirainen <tss@iki.fi>
parents: 4055
diff changeset
39 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
40 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
41 fi)
e1254b838e0b Added --enable-asserts (default) and fixed some warnings when building
Timo Sirainen <tss@iki.fi>
parents: 544
diff changeset
42
9104
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
43 AC_ARG_WITH(shared-libs,
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
44 [ --with-shared-libs Link binaries using shared Dovecot libraries (default)],
c6d306772f4e Added configure --without-shared-libs to link built binaries against static libraries.
Timo Sirainen <tss@iki.fi>
parents: 9092
diff changeset
45 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
46 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
47 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
48
439
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
49 AC_ARG_WITH(mem-align,
1394
059f13d577bb Use separate index alignment from memory alignment. We don't use pointers in
Timo Sirainen <tss@iki.fi>
parents: 1389
diff changeset
50 [ --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
51 mem_align=$withval,
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
52 mem_align=8)
b66ccecbc8a6 Added --with-mem-align=BYTES option
Timo Sirainen <tss@iki.fi>
parents: 426
diff changeset
53
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
54 AC_ARG_WITH(ioloop,
3784
beeae4f17615 Cleanups and some more kqueue stuff
Timo Sirainen <tss@iki.fi>
parents: 3783
diff changeset
55 [ --with-ioloop=IOLOOP Specify the I/O loop method to use
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
56 (epoll, kqueue, poll; best for the fastest available;
7268
80cd999d5623 Changed the default ioloop to "best".
Timo Sirainen <tss@iki.fi>
parents: 7264
diff changeset
57 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
58 ioloop=$withval,
7268
80cd999d5623 Changed the default ioloop to "best".
Timo Sirainen <tss@iki.fi>
parents: 7264
diff changeset
59 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
60
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
61 AC_ARG_WITH(notify,
4551
2643a46322a6 Updated --with-notify description.
Timo Sirainen <tss@iki.fi>
parents: 4530
diff changeset
62 [ --with-notify=NOTIFY Specify the file system notification method to use
2643a46322a6 Updated --with-notify description.
Timo Sirainen <tss@iki.fi>
parents: 4530
diff changeset
63 (inotify, kqueue, dnotify, none;
2643a46322a6 Updated --with-notify description.
Timo Sirainen <tss@iki.fi>
parents: 4530
diff changeset
64 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
65 notify=$withval,
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
66 notify=)
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
67
6111
c83546491bad --with-passwd was used also for --with-nss
Timo Sirainen <tss@iki.fi>
parents: 6106
diff changeset
68 AC_ARG_WITH(nss,
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
69 [ --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
70 TEST_WITH(nss, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
71 want_nss=auto)
5870
c9b49ed99d28 Added userdb nss which currently supports glibc-compatible NSS modules.
Timo Sirainen <tss@iki.fi>
parents: 5859
diff changeset
72
328
a0abed892d11 s/--enable/--with/ to all auth modules. added --with-file-offset-size=BITS
Timo Sirainen <tss@iki.fi>
parents: 313
diff changeset
73 AC_ARG_WITH(shadow,
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
74 [ --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
75 TEST_WITH(shadow, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
76 want_shadow=auto)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
77
328
a0abed892d11 s/--enable/--with/ to all auth modules. added --with-file-offset-size=BITS
Timo Sirainen <tss@iki.fi>
parents: 313
diff changeset
78 AC_ARG_WITH(pam,
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
79 [ --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
80 TEST_WITH(pam, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
81 want_pam=auto)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
82
1851
d66d53f57e43 Added bsdauth support, patch by Dan Cross
Timo Sirainen <tss@iki.fi>
parents: 1849
diff changeset
83 AC_ARG_WITH(bsdauth,
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
84 [ --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
85 TEST_WITH(bsdauth, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
86 want_bsdauth=auto)
1851
d66d53f57e43 Added bsdauth support, patch by Dan Cross
Timo Sirainen <tss@iki.fi>
parents: 1849
diff changeset
87
3683
28cca6317829 Added GSSAPI support. Patch by Jelmer Vernooij and some fixes by
Timo Sirainen <tss@iki.fi>
parents: 3671
diff changeset
88 AC_ARG_WITH(gssapi,
6259
f2b00d3996df Updated --with-gssapi help string to include yes|plugin.
Timo Sirainen <tss@iki.fi>
parents: 6232
diff changeset
89 [ --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
90 TEST_WITH(gssapi, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
91 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
92
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents: 4621
diff changeset
93 AC_ARG_WITH(sia,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents: 4621
diff changeset
94 [ --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
95 TEST_WITH(sia, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
96 want_sia=no)
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents: 4621
diff changeset
97
1057
c5ab972db48c libldap checks, --without-pop3 disables pop3 server
Timo Sirainen <tss@iki.fi>
parents: 1049
diff changeset
98 AC_ARG_WITH(ldap,
6198
4f6c4aeafafb --with-ldap=plugin builds LDAP passdb and userdb support as a plugin.
Timo Sirainen <tss@iki.fi>
parents: 6196
diff changeset
99 [ --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
100 TEST_WITH(ldap, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
101 want_ldap=no)
1057
c5ab972db48c libldap checks, --without-pop3 disables pop3 server
Timo Sirainen <tss@iki.fi>
parents: 1049
diff changeset
102
280
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
103 AC_ARG_WITH(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
104 [ --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
105 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
106 want_vpopmail=no
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
107 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
108 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
109 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
110 want_vpopmail=$withval
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
111 else
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
112 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
113 want_vpopmail=yes
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
114 fi
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
115 fi, [
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=auto
5035
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
117 vpopmail_home="`echo ~vpopmail`"
80f0ee36e905 Allow --with-vpopmail=path specify the vpopmail_home path.
Timo Sirainen <tss@iki.fi>
parents: 5034
diff changeset
118 ])
280
fa2d1a1d025e vpopmail authentication. compiles, not tested if it really works.
Timo Sirainen <tss@iki.fi>
parents: 247
diff changeset
119
10581
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
120 # 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
121 #AC_ARG_WITH(db,
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
122 #[ --with-db Build with Berkeley DB support],
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
123 # TEST_WITH(db, $withval),
6ecb1b7528c9 Disabled Berkeley DB support until someone fixes it.
Timo Sirainen <tss@iki.fi>
parents: 10567
diff changeset
124 # 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
125 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
126
4013
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
127 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
128 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
129 AC_ARG_WITH(sql,
6196
17fdcb09159b Updated --with-sql help string.
Timo Sirainen <tss@iki.fi>
parents: 6195
diff changeset
130 [ --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
131 TEST_WITH(sql, $withval, plugin),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
132 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
133
1283
2d8af547a8b4 Added PostgreSQL support, patch by Alex Howansky
Timo Sirainen <tss@iki.fi>
parents: 1256
diff changeset
134 AC_ARG_WITH(pgsql,
4013
bf0357107349 Added --with-sql option to build with SQL userdb/passdb but without any
Timo Sirainen <tss@iki.fi>
parents: 4012
diff changeset
135 [ --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
136 TEST_WITH(pgsql, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
137 want_pgsql=no)
1283
2d8af547a8b4 Added PostgreSQL support, patch by Alex Howansky
Timo Sirainen <tss@iki.fi>
parents: 1256
diff changeset
138
1995
cc64f8bb4716 MySQL authentication patch by Matther Reimer
Timo Sirainen <tss@iki.fi>
parents: 1990
diff changeset
139 AC_ARG_WITH(mysql,
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 [ --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
141 TEST_WITH(mysql, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
142 want_mysql=no)
1995
cc64f8bb4716 MySQL authentication patch by Matther Reimer
Timo Sirainen <tss@iki.fi>
parents: 1990
diff changeset
143
3919
b967ffb7e3a6 SQLite support. Patch by Jakob Hirsch.
Timo Sirainen <tss@iki.fi>
parents: 3904
diff changeset
144 AC_ARG_WITH(sqlite,
4348
2dc5f48ff4ee Whitespace cleanup for --help. Don't enable GSSAPI support by default.
Timo Sirainen <tss@iki.fi>
parents: 4343
diff changeset
145 [ --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
146 TEST_WITH(sqlite, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
147 want_sqlite=no)
3919
b967ffb7e3a6 SQLite support. Patch by Jakob Hirsch.
Timo Sirainen <tss@iki.fi>
parents: 3904
diff changeset
148
4621
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
149 AC_ARG_WITH(lucene,
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
150 [ --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
151 TEST_WITH(lucene, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
152 want_lucene=no)
10882
3ebd6a4ad55a configure: --with-lucene fails now with suggestion to use Solr instead.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
153 if test "$want_lucene" = "yes"; then
3ebd6a4ad55a configure: --with-lucene fails now with suggestion to use Solr instead.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
154 AC_ERROR([CLucene support isn't working very well. Use Solr instead.])
3ebd6a4ad55a configure: --with-lucene fails now with suggestion to use Solr instead.
Timo Sirainen <tss@iki.fi>
parents: 10798
diff changeset
155 fi
4621
446646de0c4a --with-lucene now enables lucene full text search indexing. Note that using
Timo Sirainen <tss@iki.fi>
parents: 4609
diff changeset
156 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
157
7990
662172573fe1 Initial code to support Apache Solr (Lucene indexing server).
Timo Sirainen <tss@iki.fi>
parents: 7983
diff changeset
158 AC_ARG_WITH(solr,
662172573fe1 Initial code to support Apache Solr (Lucene indexing server).
Timo Sirainen <tss@iki.fi>
parents: 7983
diff changeset
159 [ --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
160 TEST_WITH(solr, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
161 want_solr=no)
7990
662172573fe1 Initial code to support Apache Solr (Lucene indexing server).
Timo Sirainen <tss@iki.fi>
parents: 7983
diff changeset
162
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
163 AC_ARG_WITH(zlib,
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
164 [ --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
165 TEST_WITH(zlib, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
166 want_zlib=auto)
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
167
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
168 AC_ARG_WITH(bzlib,
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
169 [ --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
170 TEST_WITH(bzlib, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
171 want_bzlib=auto)
8090
75b1f16cba72 Added --with-zlib and --with-bzlib configure options.
Timo Sirainen <tss@iki.fi>
parents: 8076
diff changeset
172
9538
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
173 AC_ARG_WITH(libcap,
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
174 [ --with-libcap Build with libcap support (Dropping capabilities).],
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
175 TEST_WITH(libcap, $withval),
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
176 want_libcap=auto)
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
177
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
178 AC_ARG_WITH(libwrap,
11006
864b17ec5fac configure: Minor description fix to previous change.
Timo Sirainen <tss@iki.fi>
parents: 11005
diff changeset
179 [ --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
180 TEST_WITH(libwrap, $withval),
11005
51150f2b3be8 configure: Disabled tcp-wrappers by default.
Timo Sirainen <tss@iki.fi>
parents: 10994
diff changeset
181 want_libwrap=no)
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
182
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
183 AC_ARG_WITH(ssl,
6196
17fdcb09159b Updated --with-sql help string.
Timo Sirainen <tss@iki.fi>
parents: 6195
diff changeset
184 [ --with-ssl=gnutls|openssl Build with GNUTLS or OpenSSL (default)],
245
Timo Sirainen <tss@iki.fi>
parents: 244
diff changeset
185 if test x$withval = xno; then
244
bf1e284fece2 added --without-gnutls option
Timo Sirainen <tss@iki.fi>
parents: 224
diff changeset
186 want_gnutls=no
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
187 want_openssl=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
188 elif test x$withval = xgnutls; then
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
189 want_gnutls=yes
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
190 want_openssl=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
191 elif test x$withval = xopenssl; then
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
192 want_gnutls=no
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
193 want_openssl=yes
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
194 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
195 want_gnutls=no
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
196 want_openssl=yes
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
197 else
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
198 AC_ERROR([--with-ssl: Invalid value: $withval])
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
199 fi, [
3004
60a172e62d11 Don't use GNUTLS unless explicitly specified. It's not working currently
Timo Sirainen <tss@iki.fi>
parents: 3002
diff changeset
200 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
201 want_openssl=auto
622
235188ee7a05 Support for OpenSSL.
Timo Sirainen <tss@iki.fi>
parents: 576
diff changeset
202 ])
244
bf1e284fece2 added --without-gnutls option
Timo Sirainen <tss@iki.fi>
parents: 224
diff changeset
203
657
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
204 AC_ARG_WITH(ssldir,
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
205 [ --with-ssldir=DIR SSL base directory for certificates (/etc/ssl)],
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
206 ssldir="$withval",
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
207 ssldir=/etc/ssl
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
208 )
712
385f862a4005 --with-ssldir actually didn't do anything, and the default directory for
Timo Sirainen <tss@iki.fi>
parents: 711
diff changeset
209 AC_SUBST(ssldir)
657
85a888d2766e Added script to easily generate self-signed certificate.
Timo Sirainen <tss@iki.fi>
parents: 654
diff changeset
210
3327
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
211 AC_ARG_WITH(rundir,
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
212 [ --with-rundir=DIR Runtime data directory (LOCALSTATEDIR/run/dovecot)],
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
213 rundir="$withval",
7914
5061533382be Uppercased PACKAGE_NAME macro and started using it in some places.
Timo Sirainen <tss@iki.fi>
parents: 7902
diff changeset
214 rundir=$localstatedir/run/$PACKAGE
3327
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
215 )
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
216 AC_SUBST(rundir)
ce0733b39311 Added --with-rundir configure option.
Timo Sirainen <tss@iki.fi>
parents: 3284
diff changeset
217
4407
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
218 AC_ARG_WITH(statedir,
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
219 [ --with-statedir=DIR Permanent data directory (LOCALSTATEDIR/lib/dovecot)],
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
220 statedir="$withval",
7914
5061533382be Uppercased PACKAGE_NAME macro and started using it in some places.
Timo Sirainen <tss@iki.fi>
parents: 7902
diff changeset
221 statedir=$localstatedir/lib/$PACKAGE
4407
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
222 )
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
223 AC_SUBST(statedir)
2e4857a2b858 Added --with-statedir configure option which defaults to
Timo Sirainen <tss@iki.fi>
parents: 4387
diff changeset
224
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
225 AC_ARG_WITH(gc,
4599
ab77182ddf94 Boehm GC seems to be working now. Removed the broken-warning.
Timo Sirainen <tss@iki.fi>
parents: 4572
diff changeset
226 [ --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
227 TEST_WITH(gc, $withval),
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
228 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
229
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
230 AC_ARG_WITH(storages,
6894
84bcf1c8b07a Updated list of available mail storage formats. Changed deliver's internal
Timo Sirainen <tss@iki.fi>
parents: 6860
diff changeset
231 [ --with-storages Build with specified mail storage formats
9977
0bb321c347ae Split dbox (single-dbox) and mdbox (multi-dbox) into separate storage backends.
Timo Sirainen <tss@iki.fi>
parents: 9973
diff changeset
232 (maildir mbox dbox mdbox cydir)], [
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
233 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
234 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
235 fi
8398
d331b8fc8ba8 configure: Previous change broke shared storage completely.
Timo Sirainen <tss@iki.fi>
parents: 8392
diff changeset
236 mail_storages="shared `echo "$withval"|sed 's/,/ /g'`" ],
9977
0bb321c347ae Split dbox (single-dbox) and mdbox (multi-dbox) into separate storage backends.
Timo Sirainen <tss@iki.fi>
parents: 9973
diff changeset
237 mail_storages="shared maildir mbox dbox mdbox cydir")
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
238 AC_SUBST(mail_storages)
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
239
2070
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
240 AC_ARG_WITH(moduledir,
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
241 [ --with-moduledir=DIR Base directory for dynamically loadable modules],
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
242 moduledir="$withval",
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
243 moduledir=$libdir/dovecot
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
244 )
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
245 AC_SUBST(moduledir)
0c8f884d1648 Added --with-moduledir configure option
Timo Sirainen <tss@iki.fi>
parents: 2036
diff changeset
246
3779
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
247 AC_ARG_WITH(docs,
4348
2dc5f48ff4ee Whitespace cleanup for --help. Don't enable GSSAPI support by default.
Timo Sirainen <tss@iki.fi>
parents: 4343
diff changeset
248 [ --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
249 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
250 want_docs=no
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
251 else
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
252 want_docs=yes
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
253 fi,
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
254 want_docs=yes)
e87a8db60d25 Added --with-docs parameter to specify if documentation should be installed.
Timo Sirainen <tss@iki.fi>
parents: 3762
diff changeset
255 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
256
9158
69aa6e878a59 configure: Removed --with-* parameters for passdbs/userdbs that don't require external libraries.
Timo Sirainen <tss@iki.fi>
parents: 9157
diff changeset
257 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
258 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
259 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
260 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
261 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
262
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
263 AC_ISC_POSIX
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
264 AC_PROG_CC
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
265 AC_PROG_CPP
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
266 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
267 AC_HEADER_STDC
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
268 AC_C_INLINE
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
269 AC_PROG_LIBTOOL
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
270 AM_ICONV
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
271
10645
928312d6017c config.h: Added DOVECOT_* macros for PACKAGE_* macros.
Timo Sirainen <tss@iki.fi>
parents: 10619
diff changeset
272 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
273 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
274 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
275
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
276 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
277 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
278 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
279 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
280 xfs/xqm.h execinfo.h ucontext.h malloc_np.h sys/utsname.h sys/vmount.h \
9669
6cc6913fee1c dovecot.conf: Added support for !include globs.
Timo Sirainen <tss@iki.fi>
parents: 9656
diff changeset
281 sys/utsname.h glob.h)
8517
451e3cf38290 configure: Handle --with-*=* consistently and give better error messages.
Timo Sirainen <tss@iki.fi>
parents: 8489
diff changeset
282
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
283 dnl * gcc specific options
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
284 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
285 # -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
286 # -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
287 # -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
288 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
289
4826
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
290 AC_TRY_COMPILE([
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
291 #if __GNUC__ < 4
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
292 # error old gcc
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
293 #endif
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
294 ],,[
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
295 # gcc4
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
296 CFLAGS="$CFLAGS -Wstrict-aliasing=2"
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
297 ])
53ff1a59cdd5 Enable -Wstrict-aliasing=2 with gcc 4.
Timo Sirainen <tss@iki.fi>
parents: 4808
diff changeset
298
3097
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
299 # 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
300 old_cflags=$CFLAGS
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
301 CFLAGS="-std=gnu99"
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
302 AC_TRY_COMPILE([
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
303 ],, [
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
304 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
305 ], [
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
306 CFLAGS="$old_cflags"
3ba362513202 Don't use -std=gnu99 if gcc doesn't support it.
Timo Sirainen <tss@iki.fi>
parents: 3091
diff changeset
307 ])
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
308 fi
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
309
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
310 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
311 dnl ** just some generic stuff...
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
312 dnl **
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
313
5690
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
314 AC_SEARCH_LIBS(socket, socket)
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
315 AC_SEARCH_LIBS(inet_addr, nsl)
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
316 AC_SEARCH_LIBS(fdatasync, rt, [
c1f51c3510ca Simplify some checks with AC_SEARCH_LIBS()
Timo Sirainen <tss@iki.fi>
parents: 5681
diff changeset
317 AC_DEFINE(HAVE_FDATASYNC,, Define if you have fdatasync())
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
318 ])
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
319
9538
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
320 if test $want_libcap != no; then
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
321 AC_CHECK_LIB(cap, cap_init, [
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
322 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
323 LIBCAP="-lcap"
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
324 AC_SUBST(LIBCAP)
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
325 ], [
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
326 if test "$want_libcap" = "yes"; then
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
327 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
328 fi
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
329 ])
b20513ab8f5a Added --without-libcap configure option.
Daniel Mierswa <impulze@impulze.org>
parents: 9410
diff changeset
330 fi
5201
8920e744dac4 Drop privileges if libcap is found. Patch by David (lists edeca.net).
Timo Sirainen <tss@iki.fi>
parents: 5197
diff changeset
331
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
332 have_libwrap=no
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
333 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
334 AC_CHECK_HEADER(tcpd.h, [
10700
b14e694fc8b4 configure: libwrap detection cleared $LIBS
Timo Sirainen <tss@iki.fi>
parents: 10699
diff changeset
335 old_LIBS=$LIBS
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
336
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
337 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
338 AC_TRY_COMPILE([
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
339 #include <tcpd.h>
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
340 int allow_severity = 0;
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
341 int deny_severity = 0;
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
342 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
343 request_init((void *)0);
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
344 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
345 i_cv_have_libwrap=yes
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
346 ], [
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
347 i_cv_have_libwrap=no
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
348 ])
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
349 ])
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
350 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
351 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
352 LIBWRAP_LIBS=-lwrap
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
353 AC_SUBST(LIBWRAP_LIBS)
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
354 have_libwrap=yes
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
355 else
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
356 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
357 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
358 fi
10980
5b0a88cb9a12 configure: Fixed libwrap checking in some systems.
Timo Sirainen <tss@iki.fi>
parents: 10968
diff changeset
359 fi
10647
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
360 LIBS=$old_LIBS
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
361 ], [
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
362 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
363 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
364 fi
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
365 ])
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
366 fi
51a978045f47 Added support for tcpwrappers and potentially other login access checks.
Timo Sirainen <tss@iki.fi>
parents: 10645
diff changeset
367 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
368
7917
ca2ff54ee9b4 Added support for IMAP ID extension.
Timo Sirainen <tss@iki.fi>
parents: 7914
diff changeset
369 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
370
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
371 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
372 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
373 strcasecmp stricmp vsyslog writev pread uname unsetenv \
3237
2f57438d9542 Added setegid() emulation for HP-UX.
Timo Sirainen <tss@iki.fi>
parents: 3236
diff changeset
374 setrlimit setproctitle seteuid setreuid setegid setresgid \
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
375 strtoull strtoll strtouq strtoq \
7847
35877d1131db Added more fallbacks if strtoll() or strtoull() isn't implemented
Timo Sirainen <tss@iki.fi>
parents: 7844
diff changeset
376 setpriority quotactl getmntent kqueue kevent backtrace_symbols \
9669
6cc6913fee1c dovecot.conf: Added support for !include globs.
Timo Sirainen <tss@iki.fi>
parents: 9656
diff changeset
377 walkcontext dirfd clearenv malloc_usable_size glob)
9655
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
378
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
379 AC_CHECK_LIB(rt, clock_gettime, [
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
380 AC_DEFINE(HAVE_CLOCK_GETTIME,, Define if you have the clock_gettime function)
9677
00399010c88a configure: clock_gettime()'s -lrt adding dropped everything else from $LIBS.
Timo Sirainen <tss@iki.fi>
parents: 9669
diff changeset
381 LIBS="$LIBS -lrt"
9655
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
382 ], [
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
383 # OpenBSD
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
384 AC_CHECK_FUNCS(clock_gettime)
cef143e8719d configure: Use -lrt for clock_gettime() if necessary.
Timo Sirainen <tss@iki.fi>
parents: 9654
diff changeset
385 ])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
386
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
387 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
388 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
389 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
390 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
391 #include <inttypes.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
392 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
393 strtoimax(0, 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
394 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
395 i_cv_have_strtoimax=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
396 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
397 i_cv_have_strtoimax=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
398 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
399 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
400 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
401 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
402 fi
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
403
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
404 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
405 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
406 #include <inttypes.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
407 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
408 strtoumax(0, 0, 0);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
409 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
410 i_cv_have_strtoumax=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
411 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
412 i_cv_have_strtoumax=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
413 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
414 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
415 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
416 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
417 fi
7889
ef8af0eb161a Check strtoimax() and strtoumax() with inttypes.h included. They won't be
Timo Sirainen <tss@iki.fi>
parents: 7869
diff changeset
418
2569
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
419 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
420 have_ioloop=no
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
421
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
422 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
423 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
424 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
425 #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
426
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
427 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
428 {
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
429 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
430 }
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
431 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
432 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
433 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
434 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
435 ])
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
436 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
437 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
438 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
439 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
440 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
441 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
442 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
443 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
444 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
445 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
446 fi
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
447
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
448 if test "$ioloop" = "best" || test "$ioloop" = "kqueue"; then
4433
Timo Sirainen <tss@iki.fi>
parents: 4426
diff changeset
449 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
450 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
451 ioloop=kqueue
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
452 have_ioloop=yes
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
453 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
454 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
455 fi
3749
194295062e5e Added kqueue support. Patch by Vaclav Haisman.
Timo Sirainen <tss@iki.fi>
parents: 3745
diff changeset
456 fi
194295062e5e Added kqueue support. Patch by Vaclav Haisman.
Timo Sirainen <tss@iki.fi>
parents: 3745
diff changeset
457
4482
f60b07bd5fa7 --with-ioloop=auto changed to --with-ioloop=best
Timo Sirainen <tss@iki.fi>
parents: 4478
diff changeset
458 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
459 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
460 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
461 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
462 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
463 ])
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
464 fi
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
465
554f1324a435 Added epoll support if --with-ioloop=epoll is given. Patch by Andrey Panin.
Timo Sirainen <tss@iki.fi>
parents: 2538
diff changeset
466 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
467 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
468 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
469 fi
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
470
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
471 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
472
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
473 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
474 dnl * inotify?
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
475 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
476 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
477 #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
478 #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
479 #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
480 #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
481 #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
482
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
483 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
484 {
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 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
486 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
487
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
488 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
489 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
490 {
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
491 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
492 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
493 }
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
494
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
495 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
496
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
497 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
498 {
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
499 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
500 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
501 }
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
502
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
503 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
504
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
505 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
506 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
507 }
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
508 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
509 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
510 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
511 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
512 ])
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
513 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
514 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
515 have_notify=inotify
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
516 notify=inotify
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
517 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
518 else
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
519 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
520 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
521 notify=""
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
522 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
523 fi
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
524 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
525
4572
046b985ed767 Use notify=kqueue automatically only if ioloop=kqueue.
Timo Sirainen <tss@iki.fi>
parents: 4571
diff changeset
526 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
527 dnl * BSD kqueue() notify
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
528 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
529 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
530 have_notify=kqueue
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
531 notify=kqueue
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
532 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
533 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
534 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
535 else
4423
26d18749f718 Fixes to io notify detection. Patch by Marcus Rueckert
Timo Sirainen <tss@iki.fi>
parents: 4422
diff changeset
536 AC_MSG_RESULT("no")
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
537 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
538 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
539 notify=""
4386
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
540 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
541 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
542 fi
e23469650c85 Better detection for ioloop and notify methods. Patch by Roy Marples
Timo Sirainen <tss@iki.fi>
parents: 4349
diff changeset
543
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
544 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
545 dnl * dnotify?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
546 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
547 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
548 #define _GNU_SOURCE
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
549 #include <fcntl.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
550 #include <signal.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
551 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
552 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
553 fcntl(0, F_SETSIG, SIGRTMIN);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
554 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
555 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
556 i_cv_have_dnotify=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
557 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
558 i_cv_have_dnotify=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
559 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
560 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
561 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
562 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
563 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
564 notify=dnotify
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
565 else
3482
465c465c66be Added inotify patch by Johannes Berg and did some restructuring to
Timo Sirainen <tss@iki.fi>
parents: 3452
diff changeset
566 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
567 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
568 fi
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
569 fi
3745
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
570 fi
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
571
840cc63e439b Don't allow giving invalid notify methods in --with-notify
Timo Sirainen <tss@iki.fi>
parents: 3744
diff changeset
572 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
573 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
574 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
575
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
576 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
577 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
578 #include <stdlib.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
579 #ifdef __GLIBC__
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
580 we have glibc
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
581 #endif
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
582 ],, [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
583 i_cv_have_glibc=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
584 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
585 i_cv_have_glibc=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
586 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
587 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
588 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
589 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
590 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
591
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
592 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
593 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
594 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
595 AC_TRY_RUN([
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
596 #define _XOPEN_SOURCE 600
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
597 #include <stdio.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
598 #include <stdlib.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
599 #include <fcntl.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
600 #include <unistd.h>
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
601 #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
602 possibly broken posix_fallocate
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
603 #endif
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
604 int main() {
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
605 int fd = creat("conftest.temp", 0600);
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
606 int ret;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
607 if (fd == -1) {
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
608 perror("creat()");
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
609 return 2;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
610 }
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
611 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
612 unlink("conftest.temp");
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
613 return ret;
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
614 }
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
615 ], [
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
616 i_cv_posix_fallocate_works=yes
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
617 ], [
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
618 i_cv_posix_fallocate_works=no
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
619 ])
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
620 ])
9886bf0a4c40 Test if posix_fallocate() works already in configure.
Timo Sirainen <tss@iki.fi>
parents: 8226
diff changeset
621 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
622 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
623 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
624
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
625 dnl * OS specific options
10753
80a11f8650a4 Added dovecot.m4 file that external plugins can use.
Timo Sirainen <tss@iki.fi>
parents: 10702
diff changeset
626 DC_PLUGIN_DEPS
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
627 case "$host_os" in
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
628 hpux*)
7823
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
629 CFLAGS="$CFLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED"
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
630 # for getting fd_send/fd_recv working:
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
631 LDFLAGS="$LDFLAGS -Wl,+b,:"
b13dca205eaa HP-UX: Fixed fd passing.
Timo Sirainen <tss@iki.fi>
parents: 7822
diff changeset
632 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
633 AC_DEFINE(PREAD_BROKEN,, Defint if pread/pwrite implementation is broken)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
634 ;;
11356
348eb4754085 Added process title hack support for OS X.
Timo Sirainen <tss@iki.fi>
parents: 11321
diff changeset
635 linux*|darwin*)
10188
affb52c62add Fixed Linux proctitle hack and enabled it by default now.
Timo Sirainen <tss@iki.fi>
parents: 10163
diff changeset
636 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
637 ;;
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
638 *)
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
639 ;;
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
640 esac
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
641
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
642 AC_CHECK_SIZEOF(int)
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
643 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
644 AC_CHECK_SIZEOF(void *)
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
645 AC_CHECK_SIZEOF(long long)
185
60925d3e2c4d fixed ssize_t and off_t checks.
Timo Sirainen <tss@iki.fi>
parents: 183
diff changeset
646
2036
b3a56463c812 AC_DEFUN warning fixes for aclocal 1.8..
Timo Sirainen <tss@iki.fi>
parents: 2035
diff changeset
647 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
648 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
649
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
650 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
651 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
652 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
653 fi
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
654
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
655 result=""
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
656 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
657 AC_MSG_CHECKING([type of $1])
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
658 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
659 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
660 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
661 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
662 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
663
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
664 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
665 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
666 int)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
667 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
668 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
669 unsigned-int)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
670 fmt="%u"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
671 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
672 long)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
673 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
674 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
675 unsigned-long)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
676 fmt="%lu"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
677 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
678 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
679 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
680 ;;
1630
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
681 unsigned-long-long)
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
682 fmt="%llu"
e9e533b323fb size_t checking fixes
Timo Sirainen <tss@iki.fi>
parents: 1626
diff changeset
683 ;;
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
684 *)
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
685 fmt=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
686 ;;
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
687 esac
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
688
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
689 if test "$fmt" != ""; then
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
690 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
691 #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
692 #include <stdio.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
693 ]], [[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
694 printf("$fmt", ($1)0);
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
695 ]])],[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
696 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
697 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
698 result=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
699 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
700 break
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
701 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
702 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
703 visible="$result"
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
704 ],[])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
705 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
706 done
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
707 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
708 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
709
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
710 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
711 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
712 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
713 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
714 #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
715 typedef $type $1;
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
716 ]], [[]])],[
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
717 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
718 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
719 result=""
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
720 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
721 break
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
722 fi
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
723 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
724 visible="$type"
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
725 ],[])
733
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
726 done
280c0952fa90 AC_TYPEOF macro: with gcc we can check the type with printf() + -Werror
Timo Sirainen <tss@iki.fi>
parents: 732
diff changeset
727 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
728
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
729 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
730 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
731
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
732 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
733 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
734 #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
735 #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
736 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
737 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
738 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
739 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
740 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
741 }
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
742 ]])],[
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
743 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
744 rm -f conftestval
55
db8ea2c11ab7 whops, 64bit support was disabled.
Timo Sirainen <tss@iki.fi>
parents: 50
diff changeset
745
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
746 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
747 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
748 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
749 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
750 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
751 break
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
752 fi
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
753 done
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
754 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
755 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
756 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
757 fi
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
758 ],[],[])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
759 fi
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
760 i_cv_typeof_$1=$result/$visible
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
761 ])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
762
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
763 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
764 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
765 AC_MSG_RESULT($visible)
185
60925d3e2c4d fixed ssize_t and off_t checks.
Timo Sirainen <tss@iki.fi>
parents: 183
diff changeset
766 ])
677
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
767
6616
be366eda336e Use AC_SYS_LARGEFILE instead of our own checks. Also removes
Timo Sirainen <tss@iki.fi>
parents: 6610
diff changeset
768 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
769 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
770
49a1a979959e If uoff_t type already exists, use it (UnixWare has it).
Timo Sirainen <tss@iki.fi>
parents: 3919
diff changeset
771 AC_CHECK_TYPE(uoff_t, [
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
772 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
773 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
774 ], [
3931
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
775 have_uoff_t=no
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
776 ])
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
777
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
778 AC_TYPEOF(off_t, long int long-long)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
779 case "$typeof_off_t" in
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
780 int)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
781 offt_max=INT_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
782 uofft_fmt="u"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
783 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
784 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
785 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
786 offt_bits=`expr 8 \* $ac_cv_sizeof_int`
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
787 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
788 long)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
789 offt_max=LONG_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
790 uofft_fmt="lu"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
791 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
792 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
793 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
794 offt_bits=`expr 8 \* $ac_cv_sizeof_long`
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
795 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
796 "long long")
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
797 offt_max=LLONG_MAX
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
798 uofft_fmt="llu"
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
799 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
800 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
801 fi
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
802 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
803 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
804 *)
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
805 AC_MSG_ERROR([Unsupported off_t type])
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
806 ;;
d37797a229c3 And fix for uoff_t checks..
Timo Sirainen <tss@iki.fi>
parents: 3929
diff changeset
807 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
808
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
809 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
810 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
811 #include <dirent.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
812 ]], [[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
813 struct dirent d;
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
814 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
815 ]])],[
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
816 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
817 ],[])
2078
b3daf55df932 Added maildir_stat_dirs option.
Timo Sirainen <tss@iki.fi>
parents: 2070
diff changeset
818
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
819 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
820 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
821 #include <limits.h>
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
822 #include <sys/types.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
823 ]], [[
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
824 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
825 ]])],[
1403
Timo Sirainen <tss@iki.fi>
parents: 1394
diff changeset
826 :
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
827 ],[
1382
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
828 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
829 ])
c4d519a6395d Don't define OFF_T_MAX if it's already defined
Timo Sirainen <tss@iki.fi>
parents: 1341
diff changeset
830
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
831 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
832
750
b97c8964d7c1 Give a hard warning if size_t is signed.
Timo Sirainen <tss@iki.fi>
parents: 745
diff changeset
833 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
834 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
835 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
836 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
837 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
838 #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
839 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
840 /* 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
841 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
842 }
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
843 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
844 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
845
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
846 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
847 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
848 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
849 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
850 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
851
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
852 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
853 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
854 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
855 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
856 ],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
857 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
858 ],[])
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
859 ])
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
860 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
861 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
862 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
863 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
864 case "$typeof_size_t" in
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
865 "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
866 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
867 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
868 ;;
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
869 "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
870 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
871 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
872 ;;
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
873 *)
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
874 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
875 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
876 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
877
1626
08b73ec005f8 Get the size_t type properly in OSX
Timo Sirainen <tss@iki.fi>
parents: 1625
diff changeset
878 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
879 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
880 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
881 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
882 ;;
3089685bbb7e Created AC_TYPEOF() which tells what base type (int/long/long long) the
Timo Sirainen <tss@iki.fi>
parents: 676
diff changeset
883 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
884
742
b3dd87844fff acconfig.h is deprecated with autoconf 2.5, changed configure to contain
Timo Sirainen <tss@iki.fi>
parents: 739
diff changeset
885 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
886 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
887
2036
b3a56463c812 AC_DEFUN warning fixes for aclocal 1.8..
Timo Sirainen <tss@iki.fi>
parents: 2035
diff changeset
888 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
889 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
890 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
891 [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
892 #include <sys/types.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
893 $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
894 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
895 ])
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
896
1660
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
897 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
898 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
899 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
900 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
901 ])
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
902
4076387f7ccb We should be checking C99 types using stdint.h, not inttypes.h
Timo Sirainen <tss@iki.fi>
parents: 1658
diff changeset
903 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
904 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
905 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
906 fi
0ffecd4e7e1a added dec2str() function and largest_t type, removed itoa() and ltoa()
Timo Sirainen <tss@iki.fi>
parents: 175
diff changeset
907
908
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
908 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
909 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
910 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
911 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
912 fi
bc55266563cd Use separate check for uint_fast32_t.
Timo Sirainen <tss@iki.fi>
parents: 907
diff changeset
913
678
1e5c655bad25 Renamed largest_t to uintmax_t which already exists in C99.
Timo Sirainen <tss@iki.fi>
parents: 677
diff changeset
914 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
915 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
916 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
917 fi
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
918
1394
059f13d577bb Use separate index alignment from memory alignment. We don't use pointers in
Timo Sirainen <tss@iki.fi>
parents: 1389
diff changeset
919 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
920
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
921 dnl * find random source
9204
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
922 AC_MSG_CHECKING([for OpenBSD /dev/arandom])
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
923 if test -c /dev/arandom; then
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
924 AC_MSG_RESULT(yes)
9204
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
925 AC_DEFINE(DEV_URANDOM_PATH, "/dev/arandom", 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
926 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
927 else
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
928 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
929 AC_MSG_CHECKING([for /dev/urandom])
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
930 if test -c /dev/urandom || test -s /dev/urandom; then
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
931 AC_MSG_RESULT(yes)
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
932 AC_DEFINE(DEV_URANDOM_PATH, "/dev/urandom", Path to /dev/urandom)
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
933 have_random_source=yes
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
934 else
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
935 AC_MSG_RESULT(no)
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
936 fi
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
937 fi
1335
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
938
9204
1849c4269ad8 If /dev/arandom exists (OpenBSD), use it instead of /dev/urandom.
Timo Sirainen <tss@iki.fi>
parents: 9159
diff changeset
939 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
940 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
941 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
942 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
943 ])
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
944 fi
5ad84c54eb7e Support using OpenSSL's pseudo-random generator instead of /dev/urandom. If
Timo Sirainen <tss@iki.fi>
parents: 1300
diff changeset
945
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
946 dnl * do we have tm_gmtoff
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
947 AC_MSG_CHECKING([for tm_gmtoff])
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
948 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
949 [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
950 #include <time.h>]],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
951 [[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
952 [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
953 [i_cv_field_tm_gmtoff=no])])
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
954 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
955 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
956 fi
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
957 AC_MSG_RESULT($i_cv_field_tm_gmtoff)
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
958
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
959 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
960 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
961 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
962 #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
963 #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
964 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
965 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
966 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
967
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
968 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
969 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
970 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
971 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
972 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
973 }
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
974 }
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
975 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
976 /* 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
977 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
978 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
979 }
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
980
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
981 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
982 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
983 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
984 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
985 }
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
986 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
987 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
988 return 0;
3206
6400a517f087 Limit TIME_T_MAX_BITS to 40.
Timo Sirainen <tss@iki.fi>
parents: 3199
diff changeset
989 }
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
990 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
991 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
992 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
993 ], [
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 printf "check failed, assuming "
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
995 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
996 ],[])
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 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
998 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
999
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1000 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
1001 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
1002 #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
1003 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
1004 /* 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
1005 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
1006 }
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1007 ]])],[
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1008 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
1009 ], [
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1010 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
1011 ])
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1012 ])
7555
47c5e52c1181 Prefix AC_CACHE_CHECK variables with i_cv_.
Timo Sirainen <tss@iki.fi>
parents: 7554
diff changeset
1013 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
1014 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
1015 fi
6d15946eccb5 Rewrote utc_mktime() so it's now MIT licensed. This also fixes handling
Timo Sirainen <tss@iki.fi>
parents: 6403
diff changeset
1016
7997
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1017 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
1018 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
1019 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
1020 AC_TRY_COMPILE([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1021 struct foo {
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1022 int x;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1023 char y[];
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1024 };
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1025 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1026 struct foo foo;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1027 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1028 i_cv_c99_flex_arrays=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1029 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1030 i_cv_c99_flex_arrays=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1031 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1032 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1033
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1034 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
1035 flexible_value=
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1036 else
10094
634588d51ae6 configure: FLEXIBLE_ARRAY_MEMBER value was reversed.
Timo Sirainen <tss@iki.fi>
parents: 10091
diff changeset
1037 flexible_value=1
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1038 fi
7997
0d66b44689ee Fixed compiling on some older pre-C99 compilers.
Timo Sirainen <tss@iki.fi>
parents: 7990
diff changeset
1039 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
1040
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1041 dnl * do we have struct iovec
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1042 AC_MSG_CHECKING([for struct iovec])
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1043 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
1044 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1045 #include <sys/types.h>
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1046 #include <sys/uio.h>
2796
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1047 #include <unistd.h>]],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1048 [[struct iovec *iovec;]])],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1049 [i_cv_struct_iovec=yes],
fb7f862194b5 Upgrades to autoconf 2.5 and automake >1.4.
Timo Sirainen <tss@iki.fi>
parents: 2784
diff changeset
1050 [i_cv_struct_iovec=no])])
411
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1051
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1052 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
1053 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
1054 fi
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1055 AC_MSG_RESULT($i_cv_struct_iovec)
c2fdc076ae7f checks for writev()
Timo Sirainen <tss@iki.fi>
parents: 353
diff changeset
1056
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
1057 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
1058 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
1059 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1060 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1061 struct test { dev_t a; };
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1062 static struct test t = { 0 };
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 i_cv_dev_t_struct=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1066 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1067 i_cv_dev_t_struct=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1068 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1069 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1070 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
1071 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
1072 fi
691
567f5e66c7b8 We compile now if dev_t is a structure (eg. glibc+tcc).
Timo Sirainen <tss@iki.fi>
parents: 679
diff changeset
1073
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
1074 dnl * Do we have RLIMIT_AS?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1075 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
1076 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1077 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1078 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1079 #include <sys/resource.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1080 ]], [[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1081 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1082 getrlimit(RLIMIT_AS, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1083 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1084 i_cv_have_rlimit_as=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1085 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1086 i_cv_have_rlimit_as=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1087 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1088 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1089
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1090 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
1091 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
1092 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
1093
1065
6cb5b50aea71 Don't let login process fork()
Timo Sirainen <tss@iki.fi>
parents: 1058
diff changeset
1094 dnl * Do we have RLIMIT_NPROC?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1095 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
1096 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1097 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1098 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1099 #include <sys/resource.h>
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 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1102 getrlimit(RLIMIT_NPROC, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1103 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1104 i_cv_have_rlimit_nproc=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1105 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1106 i_cv_have_rlimit_nproc=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1107 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1108 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1109
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1110 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
1111 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
1112 fi
1065
6cb5b50aea71 Don't let login process fork()
Timo Sirainen <tss@iki.fi>
parents: 1058
diff changeset
1113
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
1114 dnl * Do we have RLIMIT_CORE?
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1115 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
1116 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1117 #include <sys/types.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1118 #include <sys/time.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1119 #include <sys/resource.h>
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 struct rlimit r;
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1122 getrlimit(RLIMIT_CORE, &r);
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1123 ]])],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1124 i_cv_have_rlimit_core=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1125 ],[
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1126 i_cv_have_rlimit_core=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1127 ])
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
1128 ])
c9381a0fdc5e Improved logging for core dumping. With Linux use PR_SET_DUMPABLE for imap/pop3.
Timo Sirainen <tss@iki.fi>
parents: 8743
diff changeset
1129
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1130 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
1131 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
1132 fi
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1133
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1134 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
1135 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1136 #include <sys/prctl.h>
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 prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
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 i_cv_have_pr_set_dumpable=yes
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 i_cv_have_pr_set_dumpable=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1143 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1144 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1145 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
1146 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
1147 fi
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1148
528
a95b1ccff82e Support FreeBSD-compatible sendfile(). Completely untested.
Timo Sirainen <tss@iki.fi>
parents: 494
diff changeset
1149 dnl * Linux compatible mremap()
10014
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1150 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
1151 AC_TRY_LINK([
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1152 #include <unistd.h>
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1153 #define __USE_GNU
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1154 #include <sys/mman.h>
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 mremap(0, 0, 0, MREMAP_MAYMOVE);
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_linux_mremap=yes
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1159 ], [
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1160 i_cv_have_linux_mremap=no
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1161 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1162 ])
e7f8f15f1c4c configure: Use cache for more checks.
Timo Sirainen <tss@iki.fi>
parents: 10001
diff changeset
1163 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
1164 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
1165 fi
224
e8863d6088fe mremap() check
Timo Sirainen <tss@iki.fi>
parents: 191
diff changeset
1166
1622
d22e03714d36 index_mmap_invalidate = yes now invalidate memory maps before accessing
Timo Sirainen <tss@iki.fi>
parents: 1611
diff changeset
1167 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
1168 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
1169 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
1170 #include <stdio.h>
2349
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1171 #include <sys/types.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1172 #include <sys/stat.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1173 #include <unistd.h>
b65456de1b49 Check BUGGY_CMSG_MACROS in configure.
Timo Sirainen <tss@iki.fi>
parents: 2325
diff changeset
1174 #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
1175 #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
1176 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
1177 /* return 0 if we're signed */
8226
3e493fd3a9fa configure: create test files with mode 0600.
Timo Sirainen <tss@iki.fi>
parents: 8173
diff changeset
1178 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
1179 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
1180 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
1181 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
1182 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
1183 }
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
1184 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
1185
04bdc7c83854 Added AC_CACHE_CHECK()s to all AC_TRY_RUN and AC_RUN_IFELSE checks so that
Timo Sirainen <tss@iki.fi>
parents: