Imported Upstream version 0.66.1
[hcoop/debian/courier-authlib.git] / libs / liblock / configure.ac
CommitLineData
d9898ee8 1dnl
2dnl Copyright 1998 - 2004 Double Precision, Inc. See COPYING for
3dnl distribution information.
d9898ee8 4
5AC_PREREQ(2.59)
6AC_INIT(liblock, 0.60, courier-users@lists.sourceforge.net)
7
8>confdefs.h # Kill PACKAGE_ macros
9
10AC_CONFIG_SRCDIR([liblock.h])
b0322a85 11AC_CONFIG_AUX_DIR(../..)
d9898ee8 12AM_CONFIG_HEADER([config.h])
13AM_INIT_AUTOMAKE([foreign no-define])
14
b0322a85
CE
15CFLAGS="-I.. -I${srcdir}/.. $CFLAGS"
16
d9898ee8 17dnl Checks for programs.
18AC_PROG_AWK
19AC_PROG_CC
20AC_PROG_INSTALL
21AC_PROG_LN_S
22AC_PROG_LIBTOOL
23
24dnl Checks for libraries.
25
26dnl Checks for header files.
27AC_CHECK_HEADERS(errno.h fcntl.h sys/fcntl.h sys/ioctl.h sys/file.h unistd.h sysexits.h)
28AC_HEADER_STDC
29AC_HEADER_SYS_WAIT
30
31dnl Checks for typedefs, structures, and compiler characteristics.
32
33AC_C_CONST
34AC_TYPE_OFF_T
35AC_TYPE_PID_T
36AC_TYPE_SIGNAL
b0322a85 37AC_SYS_LARGEFILE
d9898ee8 38
39AC_CACHE_CHECK( [for off64_t], liblock_cv_hasoff64t,
40
41liblock_cv_hasoff64t="no"
42AC_TRY_COMPILE([
43#include <sys/types.h>
44],[
45off64_t n;
46
47 n=0;
48], liblock_cv_hasoff64t="yes")
49
50)
51
52if test "$liblock_cv_hasoff64t" = "yes"
53then
54 LL_OFFSET_TYPE=off64_t
55else
56 LL_OFFSET_TYPE=off_t
57fi
58AC_DEFINE_UNQUOTED(LL_OFFSET_TYPE,$LL_OFFSET_TYPE,
59 [ Either off64_t or off_t ])
60
61AC_CACHE_CHECK( [for flock_t], liblock_cv_hasflock_t,
62liblock_cv_hasflock_t="no"
63AC_TRY_COMPILE([
64#if HAVE_CONFIG_H
65#include "config.h"
66#endif
67#include <sys/types.h>
68#if HAVE_FCNTL_H
69#include <fcntl.h>
70#endif
71#if HAVE_SYS_FCNTL_H
72#include <sys/fcntl.h>
73#endif
74],[
75flock_t t;
76], liblock_cv_hasflock_t="yes"))
77
78if test "$liblock_cv_hasflock_t" = "yes"
79then
80 AC_DEFINE_UNQUOTED(HAS_FLOCK_T,1,[ Whether flock_t is defined ])
81fi
82
83dnl Checks for library functions.
84
84870c69 85AC_CHECK_FUNCS(getdtablesize setpgrp sysconf)
d9898ee8 86AC_CHECK_FUNC(setpgrp,
87 [
88 AC_FUNC_SETPGRP
89 ]
90)
91
92AC_CACHE_CHECK( [for fcntl], liblock_cv_hasfcntl,
93liblock_cv_hasfcntl="no"
94AC_TRY_LINK([
95#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
96#include "${srcdir}/lockfcntl.c"
97],[
98int n;
99], liblock_cv_hasfcntl="yes"))
100if test "$liblock_cv_hasfcntl" = "yes"
101then
102 AC_DEFINE_UNQUOTED(HAS_FCNTL,1,
103 [ Whether fcntl() available ])
104fi
105
106AC_CACHE_CHECK( [for flock], liblock_cv_hasflock,
107liblock_cv_hasflock="no"
108AC_TRY_LINK([
109#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
110#include "${srcdir}/lockflock.c"
111],[
112int n;
113], liblock_cv_hasflock="yes"))
114if test "$liblock_cv_hasflock" = "yes"
115then
116 AC_DEFINE_UNQUOTED(HAS_FLOCK,1,
117 [ Whether flock() is available ])
118fi
119
120AC_CACHE_CHECK( [for lockf], liblock_cv_haslockf,
121liblock_cv_haslockf="no"
122AC_TRY_LINK([
123#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
124#include "${srcdir}/locklockf.c"
125],[
126int n;
127], liblock_cv_haslockf="yes"))
128if test "$liblock_cv_haslockf" = "yes"
129then
130 AC_DEFINE_UNQUOTED(HAS_LOCKF,1,
131 [ Whether lockf() is available ])
132fi
133
134AC_MSG_CHECKING(for locking method)
135AC_ARG_WITH(locking-method, [], lockmethod="$withval", lockmethod="")
136
137case x$lockmethod in
138xfcntl)
139 AC_TRY_RUN([
140#define USE_FCNTL 1
141#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
142#include "${srcdir}/locktest.c"
143], , AC_MSG_ERROR(fcntl test failed.),
144 :
145 )
146 ;;
147x)
148 AC_TRY_RUN([
149#define USE_FCNTL 1
150#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
151#include "${srcdir}/locktest.c"
152], lockmethod=fcntl, ,AC_MSG_ERROR(--with-locking-method option required))
153 ;;
154esac
155
156case x$lockmethod in
157xlockf)
158 AC_TRY_RUN([
159#define USE_LOCKF 1
160#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
161#include "${srcdir}/locktest.c"
162], , AC_MSG_ERROR(lockf test failed.),
163 :
164 )
165 ;;
166x)
167 AC_TRY_RUN([
168#define USE_LOCKF 1
169#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
170#include "${srcdir}/locktest.c"
171], lockmethod=lockf, , AC_MSG_ERROR(--with-locking-method option required))
172 ;;
173esac
174
175
176case x$lockmethod in
177xflock)
178 AC_TRY_RUN([
179#define USE_FLOCK 1
180#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
181#include "${srcdir}/locktest.c"
182], , AC_MSG_ERROR(flock test failed.),
183 :
184 )
185 ;;
186x)
187 AC_TRY_RUN([
188#define USE_FLOCK 1
189#define LL_OFFSET_TYPE $LL_OFFSET_TYPE
190#include "${srcdir}/locktest.c"
191], lockmethod=flock, , AC_MSG_ERROR(--with-locking-method option required))
192 ;;
193esac
194
195case x$lockmethod in
196xlockf)
197 ;;
198xflock)
199 ;;
200xfcntl)
201 ;;
202*)
203 AC_MSG_ERROR(must specify --with-locking-method option)
204 ;;
205esac
206
207AC_MSG_RESULT($lockmethod)
208
209AM_CONDITIONAL(USE_FCNTL, test "$lockmethod" = "fcntl")
210AM_CONDITIONAL(USE_FLOCK, test "$lockmethod" = "flock")
211AM_CONDITIONAL(USE_LOCKF, test "$lockmethod" = "lockf")
212
213AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../docbook)
214
215AC_DEFINE_UNQUOTED(liblock_config_h,1, [liblock/config.h has been read])
216
217AC_OUTPUT(Makefile)