masqmail

annotate configure.ac @ 75:257a9e6d1a8e

fixed correct processing of mails with data lines longer 4096 chars Mail messages with lines longer than 4096 chars were already read correctly, i.e. the spool files were correct. This commit fixes the reading of spool files with long lines. The old behavior was that the message body was truncated right before the first line longer 4096 chars. The number comes from MAX_DATALINE.
author meillo@marmaro.de
date Wed, 16 Jun 2010 19:06:34 +0200
parents ed34413652fc
children 6538aa6969e5
rev   line source
meillo@0 1 dnl Process this file with autoconf to produce a configure script.
meillo@0 2
meillo@0 3 AC_PREREQ(2.59)
meillo@52 4 AC_INIT(masqmail, 0.2.23, meillo@marmaro.de)
meillo@0 5 AC_CONFIG_SRCDIR([src/masqmail.c])
meillo@0 6 AM_CONFIG_HEADER(config.h)
meillo@0 7 AM_INIT_AUTOMAKE()
meillo@0 8
meillo@0 9 dnl Checks for programs.
meillo@0 10
meillo@0 11 dnl Checks for libraries.
meillo@0 12
meillo@0 13 AC_PROG_CC
meillo@0 14 AC_ISC_POSIX
meillo@0 15 AC_STDC_HEADERS
meillo@0 16 dnl AC_ARG_PROGRAM
meillo@0 17 AC_PROG_RANLIB
meillo@0 18
meillo@0 19 PKG_CHECK_MODULES(GLIB, glib-2.0)
meillo@0 20 AC_SUBST(GLIB_LIBS)
meillo@0 21 AC_SUBST(GLIB_CFLAGS)
meillo@0 22
meillo@0 23 dnl resolver support (default is use it)
meillo@0 24 AC_ARG_ENABLE(resolver,
meillo@0 25 [ --disable-resolver disable resolver support],
meillo@0 26 if test "$enable_resolver" != 'no'; then
meillo@0 27 resolver_enabled='yes'
meillo@0 28 fi,
meillo@0 29 resolver_enabled='yes'
meillo@0 30 )
meillo@0 31
meillo@0 32 if test "$resolver_enabled" = yes; then
meillo@0 33 AC_DEFINE(ENABLE_RESOLVER, 1, [If the resolver is to be used])
meillo@0 34 dnl checks necessary for libc5:
meillo@0 35 dnl if there is res_search in libc, it is probably libc5
meillo@0 36 dnl if not, it is probably libc6 and we need libresolv
meillo@0 37 AC_CHECK_LIB(c, res_search, need_resolv=no, need_resolv=yes)
meillo@0 38 if test "$need_resolv" = yes; then
meillo@1 39 AC_CHECK_LIB(resolv, res_search,
meillo@1 40 has_resolv=yes; RESOLV_LIBS="-lresolv",
meillo@1 41 has_resolv=no)
meillo@1 42 if test "$has_resolv" = no; then
meillo@1 43 saved_LIBS="$LIBS"
meillo@1 44 LIBS="$LIBS -lresolv"
meillo@1 45 AC_MSG_CHECKING(for res_search in -lresolv)
meillo@1 46 AC_TRY_LINK([#include <resolv.h>],
meillo@1 47 [res_search (0, 0, 0, 0, 0);],
meillo@1 48 RESOLV_LIBS="-lresolv"; has_resolv=yes; AC_MSG_RESULT(yes),
meillo@1 49 AC_MSG_RESULT(no));
meillo@1 50 LIBS="$saved_LIBS"
meillo@1 51 fi
meillo@1 52 if test "$has_resolv" = no; then
meillo@1 53 AC_MSG_ERROR("no libresolv")
meillo@1 54 RESOLV_LIBS=''
meillo@1 55 fi
meillo@0 56 fi
meillo@0 57 else
meillo@0 58 RESOLV_LIBS=''
meillo@0 59 fi
meillo@0 60 AC_SUBST(RESOLV_LIBS)
meillo@0 61
meillo@0 62 dnl if there is no getline, we define it using getdelim in src/masqmail.h
meillo@0 63 AC_CHECK_FUNCS(getline)
meillo@0 64
meillo@0 65 dnl if there is no fdatasync, we define it to fsync in src/masqmail.h
meillo@0 66 AC_CHECK_FUNCS(fdatasync)
meillo@0 67
meillo@0 68 dnl Checks for header files.
meillo@0 69 AC_HEADER_STDC
meillo@0 70 AC_CHECK_HEADERS(fcntl.h sys/time.h syslog.h unistd.h)
meillo@0 71
meillo@0 72 dnl Checks for typedefs, structures, and compiler characteristics.
meillo@0 73 AC_C_CONST
meillo@0 74 AC_TYPE_PID_T
meillo@0 75 AC_TYPE_SIZE_T
meillo@0 76 AC_HEADER_TIME
meillo@0 77 AC_STRUCT_TM
meillo@0 78
meillo@0 79 dnl Checks for library functions.
meillo@0 80 AC_FUNC_FNMATCH
meillo@0 81 AC_TYPE_SIGNAL
meillo@0 82 AC_FUNC_STRFTIME
meillo@0 83 AC_FUNC_VPRINTF
meillo@0 84 AC_CHECK_FUNCS(select socket strerror strstr)
meillo@0 85
meillo@0 86 dnl user and group configuration
meillo@0 87 AC_ARG_WITH(user,
meillo@0 88 [ --with-user=USER set user [mail]],
meillo@0 89 )
meillo@0 90 if test "x$with_user" = 'x'; then
meillo@0 91 with_user='mail'
meillo@0 92 fi
meillo@0 93
meillo@0 94 AC_ARG_WITH(group,
meillo@0 95 [ --with-group=GROUP set group [trusted]],
meillo@0 96 )
meillo@0 97 if test "x$with_group" = 'x'; then
meillo@0 98 with_group='trusted'
meillo@0 99 fi
meillo@0 100
meillo@0 101 dnl debugging support (default is use it)
meillo@0 102 AC_ARG_ENABLE(debug,
meillo@0 103 [ --disable-debug disable debugging],
meillo@0 104 if test "x$enable_debug" != 'xno'; then
meillo@0 105 debug_enabled='yes'
meillo@0 106 fi,
meillo@0 107 debug_enabled='yes'
meillo@0 108 )
meillo@0 109 if test "x$debug_enabled" = xyes; then
meillo@0 110 AC_DEFINE(ENABLE_DEBUG, 1, [If debugging is enabled])
meillo@0 111 fi
meillo@0 112
meillo@0 113 AC_DEFINE_UNQUOTED(DEF_MAIL_USER, "${with_user}", [The mail user])
meillo@0 114 AC_SUBST(with_user)
meillo@0 115 AC_DEFINE_UNQUOTED(DEF_MAIL_GROUP, "${with_group}", [The mail group])
meillo@0 116 AC_SUBST(with_group)
meillo@0 117
meillo@0 118 dnl link glib statically?
meillo@0 119 AC_ARG_WITH(glib_static,
meillo@0 120 [ --with-glib-static=path link glib statically (path mandatory!)],
meillo@0 121 )
meillo@0 122 if test "x$with_glib_static" != 'x'; then
meillo@0 123 GLIB_LIBS=$with_glib_static
meillo@0 124 AC_SUBST(GLIB_LIBS)
meillo@0 125 fi
meillo@0 126
meillo@0 127 dnl optional features
meillo@0 128 MD5_LIBS=''
meillo@0 129 BASE64_LIBS=''
meillo@0 130
meillo@0 131 dnl smtp server support (default is use it)
meillo@0 132 AC_ARG_ENABLE(smtp_server,
meillo@0 133 [ --disable-smtp-server disable smtp server support],
meillo@0 134 if test "x$enable_smtp_server" != 'xno'; then
meillo@0 135 smtp_server_enabled='yes'
meillo@0 136 fi,
meillo@0 137 smtp_server_enabled='yes'
meillo@0 138 )
meillo@0 139 if test "x$smtp_server_enabled" = xyes; then
meillo@0 140 AC_DEFINE(ENABLE_SMTP_SERVER, 1, [If the SMTP server is enabled])
meillo@0 141 fi
meillo@0 142
meillo@0 143 dnl pop support (default is use it)
meillo@0 144 AC_ARG_ENABLE(pop3,
meillo@0 145 [ --disable-pop3 disable pop3 support],
meillo@0 146 if test "x$enable_pop3" != 'xno'; then
meillo@0 147 pop3_enabled='yes'
meillo@0 148 fi,
meillo@0 149 pop3_enabled='yes'
meillo@0 150 )
meillo@0 151 if test "x$pop3_enabled" = xyes; then
meillo@0 152 AC_DEFINE(ENABLE_POP3, 1, [If the POP3 support is enabled])
meillo@0 153 # MD5_LIBS='md5/libmd5c.a'
meillo@0 154 need_md5='yes'
meillo@0 155 fi
meillo@0 156
meillo@0 157 dnl auth support (default is to not use it)
meillo@0 158 AC_ARG_ENABLE(auth,
meillo@0 159 [ --enable-auth enable AUTH (RFC 2554) client support],
meillo@0 160 if test "x$enable_auth" != 'xno'; then
meillo@0 161 auth_enabled='yes'
meillo@0 162 fi,
meillo@0 163 )
meillo@0 164 if test "x$auth_enabled" = xyes; then
meillo@0 165 AC_DEFINE(ENABLE_AUTH, 1, [If AUTH is enabled])
meillo@0 166 BASE64_LIBS='base64/libbase64.a'
meillo@0 167 # MD5_LIBS='md5/libmd5c.a'
meillo@0 168 need_md5='yes'
meillo@0 169 fi
meillo@0 170 AC_SUBST(BASE64_LIBS)
meillo@0 171
meillo@0 172 dnl maildir support (default is to not use it)
meillo@0 173 AC_ARG_ENABLE(maildir,
meillo@0 174 [ --enable-maildir enable qmail style maildir support],
meillo@0 175 if test "x$enable_maildir" != 'xno'; then
meillo@0 176 maildir_enabled='yes'
meillo@0 177 fi,
meillo@0 178 )
meillo@0 179 if test "x$maildir_enabled" = xyes; then
meillo@0 180 AC_DEFINE(ENABLE_MAILDIR, 1, [If Maildirs are enabled])
meillo@0 181 fi
meillo@0 182
meillo@0 183 dnl libcrypto
meillo@0 184 AC_ARG_WITH(libcrypto,
meillo@0 185 [ --with-libcrypto use libcrypto],
meillo@0 186 )
meillo@0 187 if test "x$with_libcrypto" != 'xyes'; then
meillo@0 188 with_libcrypto='no'
meillo@0 189 fi
meillo@0 190
meillo@0 191 if test "x$need_md5" = 'xyes'; then
meillo@0 192 dnl check whether we have md5 in libcrypto if md5 needed and we shall link with libcrypto
meillo@0 193 if test "x$with_libcrypto" = "xyes"; then
meillo@0 194 AC_CHECK_LIB(crypto, MD5, has_crypto='yes', AC_MSG_ERROR('no libcrypto'))
meillo@0 195 if test "x$has_crypto" = 'xyes'; then
meillo@0 196 AC_DEFINE(USE_LIB_CRYPTO, 1, [If libcrypto is available])
meillo@0 197 MD5_LIBS='-lcrypto'
meillo@0 198 fi
meillo@0 199 else
meillo@0 200 MD5_LIBS='md5/libmd5c.a'
meillo@0 201 fi
meillo@0 202 fi
meillo@0 203 AC_SUBST(MD5_LIBS)
meillo@0 204
meillo@0 205 dnl ident support (default is to not use it)
meillo@0 206 IDENT_LIBS=''
meillo@0 207 AC_ARG_ENABLE(ident,
meillo@0 208 [ --enable-ident enable ident (RFC 1413) support],
meillo@0 209 if test "x$enable_ident" != 'xno'; then
meillo@0 210 ident_enabled='yes'
meillo@0 211 fi,
meillo@0 212 )
meillo@0 213 AC_SUBST(has_ident)
meillo@0 214 if test "x$ident_enabled" = xyes; then
meillo@0 215 AC_DEFINE(ENABLE_IDENT, 1, [If ident is enabled])
meillo@0 216 AC_CHECK_LIB(ident, ident_id, IDENT_LIBS='-lident', IDENT_LIBS='libident/libident.a')
meillo@0 217 fi
meillo@0 218 AC_SUBST(IDENT_LIBS)
meillo@0 219
meillo@0 220 dnl mserver support (default is to not use it)
meillo@0 221 AC_ARG_ENABLE(mserver,
meillo@0 222 [ --enable-mserver enable mserver support],
meillo@0 223 if test "x$enable_mserver" != 'xno'; then
meillo@0 224 mserver_enabled='yes'
meillo@0 225 fi,
meillo@0 226 )
meillo@0 227 if test "x$mserver_enabled" = xyes; then
meillo@0 228 AC_DEFINE(ENABLE_MSERVER, 1, [If mserver support is enabled])
meillo@0 229 fi
meillo@0 230
meillo@0 231 dnl liblockfile
meillo@0 232 AC_ARG_WITH(liblockfile,
meillo@0 233 [ --with-liblockfile use liblock (for Debian)],
meillo@0 234 )
meillo@0 235 if test "x$with_liblockfile" != 'x'; then
meillo@0 236 with_liblockfile='yes'
meillo@0 237 fi
meillo@0 238 if test "x$with_liblockfile" = xyes; then
meillo@0 239 AC_CHECK_LIB(lockfile, maillock, has_lockfile=yes, AC_MSG_ERROR("no liblockfile"))
meillo@0 240 LOCKFILE_LIBS='-llockfile'
meillo@0 241 AC_DEFINE(USE_LIBLOCKFILE, 1, [If liblockfile is to be used])
meillo@0 242 else
meillo@0 243 LOCKFILE_LIBS=''
meillo@0 244 fi
meillo@0 245 AC_SUBST(LOCKFILE_LIBS)
meillo@0 246 AC_SUBST(USE_LIBLOCKFILE)
meillo@0 247
meillo@0 248 dnl log and spool directories
meillo@0 249 AC_ARG_WITH(logdir,
meillo@0 250 [ --with-logdir=DIR set log directory [/var/masqmail]],
meillo@0 251 ,
meillo@0 252 with_logdir='/var/log/masqmail/'
meillo@0 253 )
meillo@0 254 AC_SUBST(with_logdir)
meillo@0 255
meillo@0 256 AC_ARG_WITH(spooldir,
meillo@0 257 [ --with-spooldir=DIR set spool directory [/var/spool/masqmail]],
meillo@0 258 ,
meillo@0 259 with_spooldir='/var/spool/masqmail/'
meillo@0 260 )
meillo@0 261 AC_SUBST(with_spooldir)
meillo@0 262
meillo@0 263 dnl configuration file
meillo@0 264 AC_ARG_WITH(confdir,
meillo@0 265 [ --with-confdir directory for configuration [/etc/masqmail]],
meillo@0 266 ,
meillo@0 267 with_confdir='/etc/masqmail'
meillo@0 268 )
meillo@0 269 AC_DEFINE_UNQUOTED(CONF_DIR, "${with_confdir}", [The configuration file location])
meillo@0 270 AC_SUBST(with_confdir)
meillo@0 271
meillo@0 272 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
meillo@35 273
meillo@35 274 dnl well, /me/ thought that autoconf should make things _easy_ ... -- oku
meillo@35 275 dnl I needed the two `eval's to get the variable expanded in all cases -- meillo
meillo@35 276 dnl this is just horrible! -- meillo
meillo@35 277 AC_DEFINE_UNQUOTED(DATA_DIR, "`eval eval echo $datadir`/masqmail", [The data directory])
meillo@0 278
meillo@0 279 dnl gymnastics to get the correct path where masqmail should be installed
meillo@0 280 dnl we need this to call ourselves in failmsg.c
meillo@0 281 if test "x${exec_prefix}" != 'xNONE'; then
meillo@0 282 AC_DEFINE_UNQUOTED(SBINDIR, "${exec_prefix}/sbin", [The sbin directory])
meillo@0 283 else
meillo@0 284 if test "x${prefix}" != 'xNONE'; then
meillo@0 285 AC_DEFINE_UNQUOTED(SBINDIR, "${prefix}/sbin")
meillo@0 286 else
meillo@0 287 AC_DEFINE_UNQUOTED(SBINDIR, "/usr/sbin")
meillo@0 288 fi
meillo@0 289 fi
meillo@0 290
meillo@0 291 AC_OUTPUT(Makefile \
meillo@0 292 src/Makefile \
meillo@0 293 src/base64/Makefile \
meillo@0 294 src/md5/Makefile \
meillo@55 295 src/libident/Makefile \
meillo@57 296 man/Makefile
meillo@0 297 )