Mercurial > masqmail
annotate configure.ac @ 187:bd7c52a36b0c
improved mservdetect in various ways
errors are handled better (no segfaults anymore)
copied the relevant part of interface.c into mservdetect.c
described how I think the mserver protocol works
author | meillo@marmaro.de |
---|---|
date | Thu, 15 Jul 2010 00:14:26 +0200 |
parents | 8b17ea9fd17b |
children | 89f951be358f |
rev | line source |
---|---|
0 | 1 dnl Process this file with autoconf to produce a configure script. |
2 | |
3 AC_PREREQ(2.59) | |
159 | 4 AC_INIT(masqmail, 0.3.0, meillo@marmaro.de) |
0 | 5 AC_CONFIG_SRCDIR([src/masqmail.c]) |
6 AM_CONFIG_HEADER(config.h) | |
7 AM_INIT_AUTOMAKE() | |
8 | |
9 dnl Checks for programs. | |
10 | |
11 dnl Checks for libraries. | |
12 | |
13 AC_PROG_CC | |
14 AC_ISC_POSIX | |
15 AC_STDC_HEADERS | |
16 dnl AC_ARG_PROGRAM | |
17 AC_PROG_RANLIB | |
18 | |
19 PKG_CHECK_MODULES(GLIB, glib-2.0) | |
181
8b17ea9fd17b
added comments on how to compile with glib-1.2
meillo@marmaro.de
parents:
175
diff
changeset
|
20 dnl # use the next line to use glib-1.2 |
8b17ea9fd17b
added comments on how to compile with glib-1.2
meillo@marmaro.de
parents:
175
diff
changeset
|
21 dnl PKG_CHECK_MODULES(GLIB, glib) |
8b17ea9fd17b
added comments on how to compile with glib-1.2
meillo@marmaro.de
parents:
175
diff
changeset
|
22 |
0 | 23 AC_SUBST(GLIB_LIBS) |
24 AC_SUBST(GLIB_CFLAGS) | |
25 | |
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 ) | |
34 | |
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 | |
1 | 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 | |
0 | 59 fi |
60 else | |
61 RESOLV_LIBS='' | |
62 fi | |
63 AC_SUBST(RESOLV_LIBS) | |
64 | |
65 dnl if there is no getline, we define it using getdelim in src/masqmail.h | |
66 AC_CHECK_FUNCS(getline) | |
67 | |
68 dnl if there is no fdatasync, we define it to fsync in src/masqmail.h | |
69 AC_CHECK_FUNCS(fdatasync) | |
70 | |
71 dnl Checks for header files. | |
72 AC_HEADER_STDC | |
73 AC_CHECK_HEADERS(fcntl.h sys/time.h syslog.h unistd.h) | |
74 | |
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 | |
81 | |
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) | |
88 | |
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 | |
96 | |
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 | |
103 | |
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 | |
115 | |
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) | |
120 | |
121 dnl link glib statically? | |
122 AC_ARG_WITH(glib_static, | |
123 [ --with-glib-static=path link glib statically (path mandatory!)], | |
124 ) | |
125 if test "x$with_glib_static" != 'x'; then | |
126 GLIB_LIBS=$with_glib_static | |
127 AC_SUBST(GLIB_LIBS) | |
128 fi | |
129 | |
130 dnl optional features | |
131 MD5_LIBS='' | |
132 BASE64_LIBS='' | |
133 | |
134 dnl smtp server support (default is use it) | |
135 AC_ARG_ENABLE(smtp_server, | |
136 [ --disable-smtp-server disable smtp server support], | |
137 if test "x$enable_smtp_server" != 'xno'; then | |
138 smtp_server_enabled='yes' | |
139 fi, | |
140 smtp_server_enabled='yes' | |
141 ) | |
142 if test "x$smtp_server_enabled" = xyes; then | |
143 AC_DEFINE(ENABLE_SMTP_SERVER, 1, [If the SMTP server is enabled]) | |
144 fi | |
145 | |
146 dnl pop support (default is use it) | |
147 AC_ARG_ENABLE(pop3, | |
148 [ --disable-pop3 disable pop3 support], | |
149 if test "x$enable_pop3" != 'xno'; then | |
150 pop3_enabled='yes' | |
151 fi, | |
152 ) | |
153 if test "x$pop3_enabled" = xyes; then | |
154 AC_DEFINE(ENABLE_POP3, 1, [If the POP3 support is enabled]) | |
155 # MD5_LIBS='md5/libmd5c.a' | |
156 need_md5='yes' | |
157 fi | |
158 | |
159 dnl auth support (default is to not use it) | |
160 AC_ARG_ENABLE(auth, | |
161 [ --enable-auth enable AUTH (RFC 2554) client support], | |
162 if test "x$enable_auth" != 'xno'; then | |
163 auth_enabled='yes' | |
164 fi, | |
165 ) | |
166 if test "x$auth_enabled" = xyes; then | |
167 AC_DEFINE(ENABLE_AUTH, 1, [If AUTH is enabled]) | |
168 BASE64_LIBS='base64/libbase64.a' | |
169 # MD5_LIBS='md5/libmd5c.a' | |
170 need_md5='yes' | |
171 fi | |
172 AC_SUBST(BASE64_LIBS) | |
173 | |
174 dnl maildir support (default is to not use it) | |
175 AC_ARG_ENABLE(maildir, | |
176 [ --enable-maildir enable qmail style maildir support], | |
177 if test "x$enable_maildir" != 'xno'; then | |
178 maildir_enabled='yes' | |
179 fi, | |
180 ) | |
181 if test "x$maildir_enabled" = xyes; then | |
182 AC_DEFINE(ENABLE_MAILDIR, 1, [If Maildirs are enabled]) | |
183 fi | |
184 | |
185 dnl libcrypto | |
186 AC_ARG_WITH(libcrypto, | |
187 [ --with-libcrypto use libcrypto], | |
188 ) | |
189 if test "x$with_libcrypto" != 'xyes'; then | |
190 with_libcrypto='no' | |
191 fi | |
192 | |
193 if test "x$need_md5" = 'xyes'; then | |
194 dnl check whether we have md5 in libcrypto if md5 needed and we shall link with libcrypto | |
195 if test "x$with_libcrypto" = "xyes"; then | |
196 AC_CHECK_LIB(crypto, MD5, has_crypto='yes', AC_MSG_ERROR('no libcrypto')) | |
197 if test "x$has_crypto" = 'xyes'; then | |
198 AC_DEFINE(USE_LIB_CRYPTO, 1, [If libcrypto is available]) | |
199 MD5_LIBS='-lcrypto' | |
200 fi | |
201 else | |
202 MD5_LIBS='md5/libmd5c.a' | |
203 fi | |
204 fi | |
205 AC_SUBST(MD5_LIBS) | |
206 | |
207 dnl ident support (default is to not use it) | |
208 IDENT_LIBS='' | |
209 AC_ARG_ENABLE(ident, | |
210 [ --enable-ident enable ident (RFC 1413) support], | |
211 if test "x$enable_ident" != 'xno'; then | |
212 ident_enabled='yes' | |
213 fi, | |
214 ) | |
215 AC_SUBST(has_ident) | |
216 if test "x$ident_enabled" = xyes; then | |
217 AC_DEFINE(ENABLE_IDENT, 1, [If ident is enabled]) | |
218 AC_CHECK_LIB(ident, ident_id, IDENT_LIBS='-lident', IDENT_LIBS='libident/libident.a') | |
219 fi | |
220 AC_SUBST(IDENT_LIBS) | |
221 | |
222 dnl liblockfile | |
223 AC_ARG_WITH(liblockfile, | |
224 [ --with-liblockfile use liblock (for Debian)], | |
225 ) | |
173
4917e764f108
Fix handling of --with-liblockfile=no or --without-liblockfile
meillo@marmaro.de
parents:
123
diff
changeset
|
226 if test "x$with_liblockfile" = 'xno'; then |
4917e764f108
Fix handling of --with-liblockfile=no or --without-liblockfile
meillo@marmaro.de
parents:
123
diff
changeset
|
227 with_liblockfile='' |
4917e764f108
Fix handling of --with-liblockfile=no or --without-liblockfile
meillo@marmaro.de
parents:
123
diff
changeset
|
228 fi |
0 | 229 if test "x$with_liblockfile" != 'x'; then |
230 with_liblockfile='yes' | |
231 fi | |
232 if test "x$with_liblockfile" = xyes; then | |
233 AC_CHECK_LIB(lockfile, maillock, has_lockfile=yes, AC_MSG_ERROR("no liblockfile")) | |
234 LOCKFILE_LIBS='-llockfile' | |
235 AC_DEFINE(USE_LIBLOCKFILE, 1, [If liblockfile is to be used]) | |
236 else | |
237 LOCKFILE_LIBS='' | |
238 fi | |
239 AC_SUBST(LOCKFILE_LIBS) | |
240 AC_SUBST(USE_LIBLOCKFILE) | |
241 | |
242 dnl log and spool directories | |
243 AC_ARG_WITH(logdir, | |
151 | 244 [ --with-logdir=DIR set log directory [/var/log/masqmail]], |
0 | 245 , |
246 with_logdir='/var/log/masqmail/' | |
247 ) | |
151 | 248 AC_DEFINE_UNQUOTED(LOG_DIR, "${with_logdir}", [The log directory]) |
0 | 249 AC_SUBST(with_logdir) |
250 | |
251 AC_ARG_WITH(spooldir, | |
252 [ --with-spooldir=DIR set spool directory [/var/spool/masqmail]], | |
253 , | |
254 with_spooldir='/var/spool/masqmail/' | |
255 ) | |
151 | 256 AC_DEFINE_UNQUOTED(SPOOL_DIR, "${with_spooldir}", [The spool directory]) |
0 | 257 AC_SUBST(with_spooldir) |
258 | |
259 dnl configuration file | |
260 AC_ARG_WITH(confdir, | |
261 [ --with-confdir directory for configuration [/etc/masqmail]], | |
262 , | |
263 with_confdir='/etc/masqmail' | |
264 ) | |
265 AC_DEFINE_UNQUOTED(CONF_DIR, "${with_confdir}", [The configuration file location]) | |
266 AC_SUBST(with_confdir) | |
267 | |
268 test "x$prefix" = xNONE && prefix="$ac_default_prefix" | |
35 | 269 |
270 dnl well, /me/ thought that autoconf should make things _easy_ ... -- oku | |
271 dnl I needed the two `eval's to get the variable expanded in all cases -- meillo | |
272 dnl this is just horrible! -- meillo | |
273 AC_DEFINE_UNQUOTED(DATA_DIR, "`eval eval echo $datadir`/masqmail", [The data directory]) | |
0 | 274 |
275 dnl gymnastics to get the correct path where masqmail should be installed | |
276 dnl we need this to call ourselves in failmsg.c | |
277 if test "x${exec_prefix}" != 'xNONE'; then | |
278 AC_DEFINE_UNQUOTED(SBINDIR, "${exec_prefix}/sbin", [The sbin directory]) | |
279 else | |
280 if test "x${prefix}" != 'xNONE'; then | |
281 AC_DEFINE_UNQUOTED(SBINDIR, "${prefix}/sbin") | |
282 else | |
283 AC_DEFINE_UNQUOTED(SBINDIR, "/usr/sbin") | |
284 fi | |
285 fi | |
286 | |
287 AC_OUTPUT(Makefile \ | |
288 src/Makefile \ | |
289 src/base64/Makefile \ | |
290 src/md5/Makefile \ | |
55
185ba6c0e6f0
install man pages again, patch by Juergen Daubert
meillo@marmaro.de
parents:
52
diff
changeset
|
291 src/libident/Makefile \ |
57 | 292 man/Makefile |
0 | 293 ) |