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@35
|
4 AC_INIT(masqmail, 0.2.21, 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 )
|