masqmail

annotate configure.ac @ 203:45acc5727493

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