masqmail

view configure.ac @ 209:10da50168dab

replaced the MD5 implementation with the one of Solar Designer Until now, the sample code of RFC 1321 was used. It had an ugly license. Now we use the implementation of Solar Designer, which is in the Public Domain. http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
author meillo@marmaro.de
date Sun, 18 Jul 2010 21:58:15 +0200
parents 4fd237550525
children 5eb5a92f3247
line source
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ(2.59)
4 AC_INIT(masqmail, 0.3.0, meillo@marmaro.de)
5 AC_CONFIG_SRCDIR([src/masqmail.c])
6 AM_CONFIG_HEADER(config.h)
7 AM_INIT_AUTOMAKE()
9 dnl Checks for programs.
11 dnl Checks for libraries.
13 AC_PROG_CC
14 AC_ISC_POSIX
15 AC_STDC_HEADERS
16 dnl AC_ARG_PROGRAM
17 AC_PROG_RANLIB
19 PKG_CHECK_MODULES(GLIB, glib-2.0)
20 dnl # use the next line to use glib-1.2
21 dnl PKG_CHECK_MODULES(GLIB, glib)
23 AC_SUBST(GLIB_LIBS)
24 AC_SUBST(GLIB_CFLAGS)
26 dnl resolver support (default is use it)
27 AC_ARG_ENABLE(resolver,
28 [ --disable-resolver disable resolver support],
29 if test "$enable_resolver" != 'no'; then
30 resolver_enabled='yes'
31 fi,
32 resolver_enabled='yes'
33 )
35 if test "$resolver_enabled" = yes; then
36 AC_DEFINE(ENABLE_RESOLVER, 1, [If the resolver is to be used])
37 dnl checks necessary for libc5:
38 dnl if there is res_search in libc, it is probably libc5
39 dnl if not, it is probably libc6 and we need libresolv
40 AC_CHECK_LIB(c, res_search, need_resolv=no, need_resolv=yes)
41 if test "$need_resolv" = yes; then
42 AC_CHECK_LIB(resolv, res_search,
43 has_resolv=yes; RESOLV_LIBS="-lresolv",
44 has_resolv=no)
45 if test "$has_resolv" = no; then
46 saved_LIBS="$LIBS"
47 LIBS="$LIBS -lresolv"
48 AC_MSG_CHECKING(for res_search in -lresolv)
49 AC_TRY_LINK([#include <resolv.h>],
50 [res_search (0, 0, 0, 0, 0);],
51 RESOLV_LIBS="-lresolv"; has_resolv=yes; AC_MSG_RESULT(yes),
52 AC_MSG_RESULT(no));
53 LIBS="$saved_LIBS"
54 fi
55 if test "$has_resolv" = no; then
56 AC_MSG_ERROR("no libresolv")
57 RESOLV_LIBS=''
58 fi
59 fi
60 else
61 RESOLV_LIBS=''
62 fi
63 AC_SUBST(RESOLV_LIBS)
65 dnl if there is no getline, we define it using getdelim in src/masqmail.h
66 AC_CHECK_FUNCS(getline)
68 dnl if there is no fdatasync, we define it to fsync in src/masqmail.h
69 AC_CHECK_FUNCS(fdatasync)
71 dnl Checks for header files.
72 AC_HEADER_STDC
73 AC_CHECK_HEADERS(fcntl.h sys/time.h syslog.h unistd.h)
75 dnl Checks for typedefs, structures, and compiler characteristics.
76 AC_C_CONST
77 AC_TYPE_PID_T
78 AC_TYPE_SIZE_T
79 AC_HEADER_TIME
80 AC_STRUCT_TM
82 dnl Checks for library functions.
83 AC_FUNC_FNMATCH
84 AC_TYPE_SIGNAL
85 AC_FUNC_STRFTIME
86 AC_FUNC_VPRINTF
87 AC_CHECK_FUNCS(select socket strerror strstr)
89 dnl user and group configuration
90 AC_ARG_WITH(user,
91 [ --with-user=USER set user [mail]],
92 )
93 if test "x$with_user" = 'x'; then
94 with_user='mail'
95 fi
97 AC_ARG_WITH(group,
98 [ --with-group=GROUP set group [trusted]],
99 )
100 if test "x$with_group" = 'x'; then
101 with_group='trusted'
102 fi
104 dnl debugging support (default is use it)
105 AC_ARG_ENABLE(debug,
106 [ --disable-debug disable debugging],
107 if test "x$enable_debug" != 'xno'; then
108 debug_enabled='yes'
109 fi,
110 debug_enabled='yes'
111 )
112 if test "x$debug_enabled" = xyes; then
113 AC_DEFINE(ENABLE_DEBUG, 1, [If debugging is enabled])
114 fi
116 AC_DEFINE_UNQUOTED(DEF_MAIL_USER, "${with_user}", [The mail user])
117 AC_SUBST(with_user)
118 AC_DEFINE_UNQUOTED(DEF_MAIL_GROUP, "${with_group}", [The mail group])
119 AC_SUBST(with_group)
121 dnl optional features
122 MD5_LIBS=''
123 BASE64_LIBS=''
125 dnl auth support (default is to not use it)
126 AC_ARG_ENABLE(auth,
127 [ --enable-auth enable AUTH (RFC 2554) client support],
128 if test "x$enable_auth" != 'xno'; then
129 auth_enabled='yes'
130 fi,
131 )
132 if test "x$auth_enabled" = xyes; then
133 AC_DEFINE(ENABLE_AUTH, 1, [If AUTH is enabled])
134 BASE64_LIBS='base64/libbase64.a'
135 need_md5='yes'
136 fi
137 AC_SUBST(BASE64_LIBS)
139 dnl libcrypto
140 AC_ARG_WITH(libcrypto,
141 [ --with-libcrypto use libcrypto],
142 )
143 if test "x$with_libcrypto" != 'xyes'; then
144 with_libcrypto='no'
145 fi
147 if test "x$need_md5" = 'xyes'; then
148 dnl check whether we have md5 in libcrypto if md5 needed and we shall link with libcrypto
149 if test "x$with_libcrypto" = "xyes"; then
150 AC_CHECK_LIB(crypto, MD5, has_crypto='yes', AC_MSG_ERROR('no libcrypto'))
151 if test "x$has_crypto" = 'xyes'; then
152 AC_DEFINE(USE_LIB_CRYPTO, 1, [If libcrypto is available])
153 MD5_LIBS='-lcrypto'
154 fi
155 else
156 MD5_LIBS='md5/libmd5.a'
157 fi
158 fi
159 AC_SUBST(MD5_LIBS)
161 dnl ident support (default is to not use it)
162 IDENT_LIBS=''
163 AC_ARG_ENABLE(ident,
164 [ --enable-ident enable ident (RFC 1413) support],
165 if test "x$enable_ident" != 'xno'; then
166 ident_enabled='yes'
167 fi,
168 )
169 AC_SUBST(has_ident)
170 if test "x$ident_enabled" = xyes; then
171 AC_DEFINE(ENABLE_IDENT, 1, [If ident is enabled])
172 AC_CHECK_LIB(ident, ident_id, IDENT_LIBS='-lident', IDENT_LIBS='libident/libident.a')
173 fi
174 AC_SUBST(IDENT_LIBS)
176 dnl liblockfile
177 AC_ARG_WITH(liblockfile,
178 [ --with-liblockfile use liblock (for Debian)],
179 )
180 if test "x$with_liblockfile" = 'xno'; then
181 with_liblockfile=''
182 fi
183 if test "x$with_liblockfile" != 'x'; then
184 with_liblockfile='yes'
185 fi
186 if test "x$with_liblockfile" = xyes; then
187 AC_CHECK_LIB(lockfile, maillock, has_lockfile=yes, AC_MSG_ERROR("no liblockfile"))
188 LOCKFILE_LIBS='-llockfile'
189 AC_DEFINE(USE_LIBLOCKFILE, 1, [If liblockfile is to be used])
190 else
191 LOCKFILE_LIBS=''
192 fi
193 AC_SUBST(LOCKFILE_LIBS)
194 AC_SUBST(USE_LIBLOCKFILE)
196 dnl log and spool directories
197 AC_ARG_WITH(logdir,
198 [ --with-logdir=DIR set log directory [/var/log/masqmail]],
199 ,
200 with_logdir='/var/log/masqmail/'
201 )
202 AC_DEFINE_UNQUOTED(LOG_DIR, "${with_logdir}", [The log directory])
203 AC_SUBST(with_logdir)
205 AC_ARG_WITH(spooldir,
206 [ --with-spooldir=DIR set spool directory [/var/spool/masqmail]],
207 ,
208 with_spooldir='/var/spool/masqmail/'
209 )
210 AC_DEFINE_UNQUOTED(SPOOL_DIR, "${with_spooldir}", [The spool directory])
211 AC_SUBST(with_spooldir)
213 dnl configuration file
214 AC_ARG_WITH(confdir,
215 [ --with-confdir directory for configuration [/etc/masqmail]],
216 ,
217 with_confdir='/etc/masqmail'
218 )
219 AC_DEFINE_UNQUOTED(CONF_DIR, "${with_confdir}", [The configuration file location])
220 AC_SUBST(with_confdir)
222 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
224 dnl well, /me/ thought that autoconf should make things _easy_ ... -- oku
225 dnl I needed the two `eval's to get the variable expanded in all cases -- meillo
226 dnl this is just horrible! -- meillo
227 AC_DEFINE_UNQUOTED(DATA_DIR, "`eval eval echo $datadir`/masqmail", [The data directory])
229 dnl gymnastics to get the correct path where masqmail should be installed
230 dnl we need this to call ourselves in failmsg.c
231 if test "x${exec_prefix}" != 'xNONE'; then
232 AC_DEFINE_UNQUOTED(SBINDIR, "${exec_prefix}/sbin", [The sbin directory])
233 else
234 if test "x${prefix}" != 'xNONE'; then
235 AC_DEFINE_UNQUOTED(SBINDIR, "${prefix}/sbin")
236 else
237 AC_DEFINE_UNQUOTED(SBINDIR, "/usr/sbin")
238 fi
239 fi
241 AC_OUTPUT(Makefile \
242 src/Makefile \
243 src/base64/Makefile \
244 src/md5/Makefile \
245 src/libident/Makefile \
246 man/Makefile
247 )