Mercurial > dovecot > original-hg > dovecot-1.2
view configure.in @ 353:ae6b163339a8 HEAD
0.98.4 released
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 06 Oct 2002 00:23:35 +0300 |
parents | 39e430a0d212 |
children | c2fdc076ae7f |
line wrap: on
line source
AC_INIT(src) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(dovecot, 0.98.4) AM_MAINTAINER_MODE AC_ISC_POSIX AC_PROG_CC AC_PROG_CPP AC_STDC_HEADERS AC_C_INLINE AC_ARG_PROGRAM AM_PROG_LIBTOOL AC_CHECK_HEADERS(string.h stdlib.h unistd.h dirent.h) AC_CHECK_HEADERS(sys/sendfile.h linux/mman.h) # check posix headers AC_CHECK_HEADERS(sys/time.h) AC_ARG_ENABLE(ipv6, [ --enable-ipv6 Enable IPv6 support], if test x$enableval = xno; then want_ipv6=no else want_ipv6=yes fi, want_ipv6=no) AC_ARG_WITH(file-offset-size, [ --with-file-offset-size=BITS Set size of file offsets. Usually 32 or 64. (default: 64 if available) ], preferred_off_t_bits=$withval, preferred_off_t_bits=64) AC_ARG_WITH(passwd, [ --with-passwd Enable /etc/passwd support (default)], if test x$withval = xno; then want_passwd=no else want_passwd=yes fi, want_passwd=yes) AC_ARG_WITH(passwd-file, [ --with-passwd-file Build with passwd-like file support (default)], if test x$withval = xno; then want_passwd_file=no else want_passwd_file=yes fi, want_passwd_file=yes) AC_ARG_WITH(shadow, [ --with-shadow Build with shadow password support (default)], if test x$withval = xno; then want_shadow=no else want_shadow=yes fi, want_shadow=yes) AC_ARG_WITH(pam, [ --with-pam Build with PAM support (default)], if test x$withval = xno; then want_pam=no else want_pam=yes fi, want_pam=yes) AC_ARG_WITH(vpopmail, [ --with-vpopmail Build with vpopmail support (default)], if test x$withval = xno; then want_vpopmail=no else want_vpopmail=yes fi, want_vpopmail=yes) AC_ARG_WITH(gnutls, [ --with-gnutls Build with GNUTLS (default)], if test x$withval = xno; then want_gnutls=no else want_gnutls=yes fi, want_gnutls=yes) dnl ** dnl ** just some generic stuff... dnl ** AC_CHECK_FUNC(socket, [], [ AC_CHECK_LIB(socket, socket, [ LIBS="$LIBS -lsocket" ]) ]) AC_CHECK_FUNC(inet_addr, [], [ AC_CHECK_LIB(nsl, inet_addr, [ LIBS="$LIBS -lnsl" ]) ]) dnl * after -lsocket and -lnsl tests, inet_aton() may be in them AC_CHECK_FUNCS(fcntl flock inet_aton sigaction getpagesize madvise setreuid) AC_CHECK_FUNCS(strcasecmp stricmp vsnprintf memmove vsyslog) dnl * poll/select? AC_CHECK_FUNC(poll, [ have_poll=yes ], [ have_poll=no ]) AM_CONDITIONAL(IOLOOP_POLL, test "$have_poll" = "yes") dnl * gcc specific options if test "x$ac_cv_prog_gcc" = "xyes"; then # -Wchar-subscripts -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations CFLAGS="$CFLAGS -Wall -W" fi dnl * OS specific options case "$host_os" in hpux*) CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" ;; *) ;; esac dnl * off_t checks, try to make it 64bit AC_DEFINE_UNQUOTED(_FILE_OFFSET_BITS, $preferred_off_t_bits) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) dnl * older autoconfs don't include sys/types.h, so do it manually AC_MSG_CHECKING([size of ssize_t]) AC_TRY_RUN([ #include <stdio.h> #include <sys/types.h> int main() { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); fprintf(f, "%d\n", sizeof(ssize_t)); exit(0); } ], [ sizeof_ssize_t=`cat conftestval` rm -f conftestval ], [ sizeof_ssize_t=0 AC_ERROR([Unsupported ssize_t size]) ]) AC_MSG_RESULT($sizeof_ssize_t) AC_MSG_CHECKING([size of off_t]) AC_TRY_RUN([ #include <stdio.h> #include <sys/types.h> int main() { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); fprintf(f, "%d\n", sizeof(off_t)); exit(0); } ], [ sizeof_off_t=`cat conftestval` rm -f conftestval ], [ sizeof_off_t=0 AC_ERROR([Unsupported off_t size]) ]) AC_MSG_RESULT($sizeof_off_t) if test x$sizeof_off_t = x$ac_cv_sizeof_long; then # try to use unsigned long always first AC_DEFINE_UNQUOTED(OFF_T_MAX, LONG_MAX) AC_DEFINE_UNQUOTED(PRIuUOFF_T, "lu") AC_DEFINE(UOFF_T_LONG) elif test x$sizeof_off_t = x$ac_cv_sizeof_int; then # next try int AC_DEFINE_UNQUOTED(OFF_T_MAX, INT_MAX) AC_DEFINE_UNQUOTED(PRIuUOFF_T, "u") AC_DEFINE(UOFF_T_INT) elif test x$sizeof_off_t = x$ac_cv_sizeof_long_long; then # and finally long long AC_DEFINE_UNQUOTED(OFF_T_MAX, LLONG_MAX) AC_DEFINE_UNQUOTED(PRIuUOFF_T, "llu") AC_DEFINE(UOFF_T_LONG_LONG) else AC_ERROR([Couldn't find integer type for off_t]) fi if test x$sizeof_ssize_t = x$ac_cv_sizeof_int; then AC_DEFINE_UNQUOTED(SSIZE_T_MAX, INT_MAX) AC_DEFINE_UNQUOTED(PRIuSIZE_T, "u") elif test x$sizeof_ssize_t = x$ac_cv_sizeof_long; then AC_DEFINE_UNQUOTED(SSIZE_T_MAX, LONG_MAX) AC_DEFINE_UNQUOTED(PRIuSIZE_T, "lu") elif test x$sizeof_ssize_t = x$ac_cv_sizeof_long_long; then AC_DEFINE_UNQUOTED(SSIZE_T_MAX, LLONG_MAX) AC_DEFINE_UNQUOTED(PRIuSIZE_T, "llu") else AC_ERROR([Couldn't find integer type for ssize_t]) fi if test x$ac_cv_sizeof_long_long != x0; then AC_DEFINE(LARGEST_T_LONG_LONG) else AC_DEFINE(LARGEST_T_LONG) fi dnl * memory alignment, needed with non-x86 systems and should speed up dnl * x86 systems too. Use 8 with everyone to make sure 64bit lookups dnl * work. Currently it should also be safe to set to 4 if off_t == 32bit. dnl * With x86 it could be 1 as well if you want to save a bit space/memory. AC_DEFINE(MEM_ALIGN_SIZE, 8) dnl * socklen_t - AC_CHECK_TYPE() would be _really_ useful if it only would dnl * accept header files where to find the typedef.. AC_MSG_CHECKING([for socklen_t]) AC_CACHE_VAL(i_cv_type_socklen_t, [AC_TRY_COMPILE([ #include <sys/types.h> #include <sys/socket.h>], [socklen_t t;], i_cv_type_socklen_t=yes, i_cv_type_socklen_t=no, )]) if test $i_cv_type_socklen_t = no; then AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.) fi AC_MSG_RESULT($i_cv_type_socklen_t) dnl * do we have tm_gmtoff AC_MSG_CHECKING([for tm_gmtoff]) AC_CACHE_VAL(i_cv_field_tm_gmtoff, [AC_TRY_COMPILE([ #include <time.h>], [struct tm *tm; return tm->tm_gmtoff;], i_cv_field_tm_gmtoff=yes, i_cv_field_tm_gmtoff=no, )]) if test $i_cv_field_tm_gmtoff = yes; then AC_DEFINE(HAVE_TM_GMTOFF) fi AC_MSG_RESULT($i_cv_field_tm_gmtoff) dnl * linux compatible mremap() AC_MSG_CHECKING([linux compatible mremap()]) AC_TRY_RUN([ #include <unistd.h> #define __USE_GNU #include <sys/mman.h> int main() { mremap(0, 0, 0, MREMAP_MAYMOVE); } ], [ AC_DEFINE(HAVE_LINUX_MREMAP) AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) ]) dnl ** dnl ** SSL (gnutls) dnl ** if test $want_gnutls = yes; then AC_CHECK_LIB(gnutls, gnutls_global_init, [ AC_DEFINE(HAVE_SSL) SSL_LIBS="-lgnutls -lgcrypt" AC_SUBST(SSL_LIBS) have_ssl=yes ], [ have_ssl=no ], -lgcrypt) else have_ssl=no fi dnl ** dnl ** shadow/pam support dnl ** need_crypt=no auths="" if test $want_passwd = yes; then need_crypt=yes AC_DEFINE(USERINFO_PASSWD) auths="$auths passwd" fi if test $want_passwd_file = yes; then need_crypt=yes AC_DEFINE(USERINFO_PASSWD_FILE) auths="$auths passwd-file" fi if test $want_shadow = yes; then AC_CHECK_FUNC(getspnam, [ need_crypt=yes AC_DEFINE(USERINFO_SHADOW) auths="$auths shadow" ]) fi if test $want_pam = yes; then AC_CHECK_LIB(pam, pam_start, [ AC_CHECK_HEADER(security/pam_appl.h, [ USERINFO_LIBS="$USERINFO_LIBS -lpam" AC_DEFINE(USERINFO_PAM) auths="$auths pam" ]) ]) fi if test $want_vpopmail = yes; then vpopmail_home="`echo ~vpopmail`" vpop_libdeps="$vpopmail_home/etc/lib_deps" AC_MSG_CHECKING([for vpopmail configuration at $vpop_libdeps]) if test -f $vpop_libdeps; then need_crypt=yes VPOPMAIL_CFLAGS="`cat $vpopmail_home/etc/inc_deps` $CFLAGS" VPOPMAIL_LIBS="`cat $vpop_libdeps`" AC_DEFINE(USERINFO_VPOPMAIL) auths="$auths vpopmail" AC_MSG_RESULT(found) else want_vpopmail=no AC_MSG_RESULT(not found) fi fi AC_SUBST(VPOPMAIL_CFLAGS) AC_SUBST(VPOPMAIL_LIBS) if test $need_crypt = yes; then AC_CHECK_LIB(crypt, crypt, [ USERINFO_LIBS="$USERINFO_LIBS -lcrypt" ], [ AC_CHECK_FUNC(crypt,, [ AC_ERROR([crypt() wasn't found]) ]) ]) fi AC_SUBST(USERINFO_LIBS) dnl ** dnl ** Index file compatibility flags dnl ** dnl * currently just checking for endianess AC_C_BIGENDIAN if test $ac_cv_c_bigendian = yes; then flags=0 else flags=1 fi AC_DEFINE_UNQUOTED(MAIL_INDEX_COMPAT_FLAGS, $flags) dnl ** dnl ** IPv6 support dnl ** if test "x$want_ipv6" = "xyes"; then AC_MSG_CHECKING([for IPv6]) AC_CACHE_VAL(i_cv_type_in6_addr, [AC_TRY_COMPILE([ #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <arpa/inet.h>], [struct in6_addr i;], i_cv_type_in6_addr=yes, i_cv_type_in6_addr=no, )]) if test $i_cv_type_in6_addr = yes; then AC_DEFINE(HAVE_IPV6) fi AC_MSG_RESULT($i_cv_type_in6_addr) fi dnl ** dnl ** capabilities dnl ** capability="IMAP4rev1" if test "$have_ssl" = "yes"; then capability="$capability STARTTLS" fi AC_DEFINE_UNQUOTED(CAPABILITY_STRING, "$capability") dnl ** dnl ** register the storage classes dnl ** STORAGE="maildir mbox" file="src/lib-storage/mail-storage-register.c" echo "/* this file is generated by configure */" > $file echo '#include "lib.h"' >> $file echo '#include "mail-storage.h"' >> $file for storage in $STORAGE; do echo "extern MailStorage ${storage}_storage;" >> $file done echo "void mail_storage_register_all(void) {" >> $file for storage in $STORAGE; do echo "mail_storage_class_register(&${storage}_storage);" >> $file done echo "}" >> $file AC_OUTPUT( Makefile doc/Makefile src/Makefile src/lib/Makefile src/lib-imap/Makefile src/lib-index/Makefile src/lib-index/maildir/Makefile src/lib-index/mbox/Makefile src/lib-mail/Makefile src/lib-storage/Makefile src/lib-storage/index/Makefile src/lib-storage/index/maildir/Makefile src/lib-storage/index/mbox/Makefile src/lib-storage/subscription-file/Makefile src/auth/Makefile src/imap/Makefile src/login/Makefile src/master/Makefile stamp.h) echo echo "Install prefix ............. : $prefix" echo "Building with auth modules . :$auths" echo "Building with SSL support .. : $have_ssl" echo "Building with IPv6 support . : $want_ipv6"