masqmail

annotate configure.ac @ 52:c80a5730bcc5

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