masqmail

view configure.ac @ 421:f37384470855

Changed lockdir to /var/lock/masqmail; Create lockdir and piddir on startup. Moved the lockdir out of the spool dir. (When /var/lock is a ramdisk we do well to have the lock files there.) Added the new configure option --with-lockdir to change that location. Nontheless, if we run_as_user, then lock files are always stored in the spool dir directly. Instead of installing the lockdir and piddir at installation time, we create them on startup time now if they are missing. This is necessary if lockdir or piddir are a tmpfs.
author markus schnalke <meillo@marmaro.de>
date Wed, 30 May 2012 09:38:38 +0200
parents d209b4846f2b
children bdbedce60247
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.5-dev, 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 [mail]],
99 )
100 if test "x$with_group" = 'x'; then
101 with_group='mail'
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: use it)
126 AC_ARG_ENABLE(auth,
127 [ --disable-auth disable AUTH (RFC 2554) client support],
128 if test "x$enable_auth" != 'xno'; then
129 auth_enabled='yes'
130 fi,
131 auth_enabled='yes'
132 )
133 if test "x$auth_enabled" = xyes; then
134 AC_DEFINE(ENABLE_AUTH, 1, [If AUTH is enabled])
135 BASE64_LIBS='base64/libbase64.a'
136 need_md5='yes'
137 fi
138 AC_SUBST(BASE64_LIBS)
140 if test "x$need_md5" = 'xyes'; then
141 MD5_LIBS='md5/libmd5.a'
142 fi
143 AC_SUBST(MD5_LIBS)
145 dnl liblockfile
146 AC_ARG_WITH(liblockfile,
147 [ --with-liblockfile use liblock (for Debian)],
148 )
149 if test "x$with_liblockfile" = 'xno'; then
150 with_liblockfile=''
151 fi
152 if test "x$with_liblockfile" != 'x'; then
153 with_liblockfile='yes'
154 fi
155 if test "x$with_liblockfile" = xyes; then
156 AC_CHECK_LIB(lockfile, maillock, has_lockfile=yes, AC_MSG_ERROR("no liblockfile"))
157 LOCKFILE_LIBS='-llockfile'
158 AC_DEFINE(USE_LIBLOCKFILE, 1, [If liblockfile is to be used])
159 else
160 LOCKFILE_LIBS=''
161 fi
162 AC_SUBST(LOCKFILE_LIBS)
163 AC_SUBST(USE_LIBLOCKFILE)
165 dnl log and spool directories
166 AC_ARG_WITH(logdir,
167 [ --with-logdir=DIR set log directory [/var/log/masqmail]],
168 ,
169 with_logdir='/var/log/masqmail/'
170 )
171 AC_DEFINE_UNQUOTED(LOG_DIR, "${with_logdir}", [The log directory])
172 AC_SUBST(with_logdir)
174 AC_ARG_WITH(spooldir,
175 [ --with-spooldir=DIR set spool directory [/var/spool/masqmail]],
176 ,
177 with_spooldir='/var/spool/masqmail/'
178 )
179 AC_DEFINE_UNQUOTED(SPOOL_DIR, "${with_spooldir}", [The spool directory])
180 AC_SUBST(with_spooldir)
182 dnl configuration file
183 AC_ARG_WITH(confdir,
184 [ --with-confdir=DIR directory for configuration [/etc/masqmail]],
185 ,
186 with_confdir='/etc/masqmail'
187 )
188 AC_DEFINE_UNQUOTED(CONF_DIR, "${with_confdir}", [The configuration file location])
189 AC_SUBST(with_confdir)
191 dnl dir for pid files
192 AC_ARG_WITH(piddir,
193 [ --with-piddir=DIR directory for pid files [/var/run]],
194 ,
195 with_piddir='/var/run'
196 )
197 AC_DEFINE_UNQUOTED(PID_DIR, "${with_piddir}", [The pid file location])
198 AC_SUBST(with_piddir)
200 dnl dir for lock files
201 AC_ARG_WITH(lockdir,
202 [ --with-lockdir=DIR directory for lock files [/var/lock/masqmail]],
203 ,
204 with_lockdir='/var/lock/masqmail'
205 )
206 AC_DEFINE_UNQUOTED(LOCK_DIR, "${with_lockdir}", [The lock file location])
207 AC_SUBST(with_lockdir)
209 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
211 dnl well, /me/ thought that autoconf should make things _easy_ ... -- oku
212 dnl I needed the two `eval's to get the variable expanded in all cases -- meillo
213 dnl this is just horrible! -- meillo
214 AC_DEFINE_UNQUOTED(DATA_DIR, "`eval eval echo $datadir`/masqmail", [The data directory])
216 dnl gymnastics to get the correct path where masqmail should be installed
217 dnl we need this to call ourselves in failmsg.c
218 if test "x${exec_prefix}" != 'xNONE'; then
219 AC_DEFINE_UNQUOTED(SBINDIR, "${exec_prefix}/sbin", [The sbin directory])
220 else
221 if test "x${prefix}" != 'xNONE'; then
222 AC_DEFINE_UNQUOTED(SBINDIR, "${prefix}/sbin")
223 else
224 AC_DEFINE_UNQUOTED(SBINDIR, "/usr/sbin")
225 fi
226 fi
228 AC_OUTPUT(Makefile \
229 src/Makefile \
230 src/base64/Makefile \
231 src/md5/Makefile \
232 man/Makefile
233 )