Import Upstream version 0.66.4
[hcoop/debian/courier-authlib.git] / userdb / configure.ac
CommitLineData
d9898ee8 1dnl Process this file with autoconf to produce a configure script.
2dnl
d9898ee8 3dnl
4dnl Copyright 1998 - 2007 Double Precision, Inc. See COPYING for
5dnl distribution information.
6
7AC_INIT(libuserdb, 0.10, [courier-users@lists.sourceforge.net])
8
9>confdefs.h # Kill PACKAGE_ macros.
10
11LPATH="$PATH:/usr/local/bin"
12
13AC_CONFIG_SRCDIR(userdb.c)
b0322a85 14AC_CONFIG_AUX_DIR(..)
d9898ee8 15AM_INIT_AUTOMAKE([foreign no-define])
d50284c4 16AC_CONFIG_HEADERS(config.h)
d9898ee8 17
18dnl Checks for programs.
19AC_PROG_AWK
20AC_PROG_CC
21AC_PROG_INSTALL
22AC_PROG_LN_S
23AC_PROG_LIBTOOL
24AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH)
25
26if test "$PERL" = "perl"
27then
28 AC_MSG_ERROR(Perl not found.)
29fi
30
31if test "$GCC" = "yes"
32then
33 CFLAGS="$CFLAGS -Wall"
34fi
35
b0322a85 36CFLAGS="$CFLAGS -I.. -I${srcdir}/.. -I../libs -I${srcdir}/../libs"
d9898ee8 37
38dnl Checks for libraries.
39
40AC_ARG_WITH(userdb, [ ], userdb="$withval", userdb="/etc/userdb")
41AC_SUBST(userdb)
42USERDB="`echo $userdb | tr '[a-z]' '[A-Z]'`"
43AC_SUBST(USERDB)
44
45AC_ARG_WITH(userdbmandir, [ ], mandir="$withval")
46
47AC_ARG_WITH(userdbtmpdir, [ ], tmpdir="$withval", tmpdir="")
48
49changequote({,})
50
51if test "$tmpdir" = ""
52then
53 tmpdir=`echo "$userdb" | sed 's/\/[^\/]*$//'`
54fi
55
56changequote([,])
57
58AC_SUBST(userdbtmpdir)
59AC_SUBST(tmpdir)
60
61AC_ARG_WITH(makedatprog, [ ], makedat="$withval", makedat="$bindir/makedat")
62AC_SUBST(makedat)
63
b0322a85 64if test -d ${srcdir}/../libs/md5
d9898ee8 65then
66 AC_DEFINE_UNQUOTED(HAVE_MD5,1,[ Whether libmd5.a is present ])
b0322a85 67 MD5LIB=../libs/md5/libmd5.la
d9898ee8 68else
69 MD5LIB=""
70fi
71AC_SUBST(MD5LIB)
72
b0322a85 73if test -d ${srcdir}/../libs/sha1
d9898ee8 74then
b0322a85 75 SHA1LIB=../libs/sha1/libsha1.la
d9898ee8 76else
77 SHA1LIB=""
78fi
79AC_SUBST(SHA1LIB)
80
b0322a85 81if test -d ${srcdir}/../libs/libhmac
d9898ee8 82then
83 AC_DEFINE_UNQUOTED(HAVE_HMAC,1, [ Whether libhmac.a is present ])
b0322a85 84 HMACLIB=../libs/libhmac/libhmac.la
d9898ee8 85else
86 HMACLIB=""
87fi
88AC_SUBST(HMACLIB)
89
90dnl Checks for header files.
91AC_HEADER_STDC
92AC_CHECK_HEADERS(sys/stat.h sys/time.h unistd.h fcntl.h termios.h crypt.h)
93AC_HEADER_TIME
94
95dnl Checks for typedefs, structures, and compiler characteristics.
96AC_C_CONST
97AC_PID_T
98AC_TYPE_UID_T
99AC_TYPE_SIGNAL
b0322a85 100AC_SYS_LARGEFILE
d9898ee8 101
102dnl Other checks
103
104AC_CHECK_LIB(crypt, crypt, CRYPTLIBS="-lcrypt")
105saveLIBS="$LIBS"
106LIBS="$CRYPTLIBS $LIBS"
107AC_CHECK_FUNC(crypt, AC_DEFINE_UNQUOTED(HAVE_CRYPT,1,
108 [ Whether the crypt() function is available ]))
109LIBS="$saveLIBS"
110AC_CACHE_CHECK([for crypt() prototype],userdb_cv_NEED_CRYPT_PROTOTYPE,
111
112 AC_TRY_COMPILE( [
113 #if HAVE_CRYPT_H
114 #include <crypt.h>
115 #endif
116 #if HAVE_UNISTD_H
117 #include <unistd.h>
118 #endif
119 int crypt(int, int);
120
121 ], [], userdb_cv_NEED_CRYPT_PROTOTYPE=1,
122 userdb_cv_NEED_CRYPT_PROTOTYPE=0 )
123
124 )
125
126AC_DEFINE_UNQUOTED(NEED_CRYPT_PROTOTYPE, $userdb_cv_NEED_CRYPT_PROTOTYPE,
127 [ Whether crypt() must be explicitly prototyped ])
128AC_SUBST(CRYPTLIBS)
129
130AC_CHECK_FUNCS(isatty gettimeofday)
131
132AC_ARG_WITH(random, [ --with-random=/dev/urandom - location of the system random file generator
133--without-random - there is no system random file generator ],
134 random="$withval",
135 random="y")
136
137case "$random" in
138/*)
139 ;;
140y*|1*)
141 AC_CACHE_CHECK([for random source],userdb_cv_RANDOM,
142
143 if test -c /dev/urandom
144 then
145 userdb_cv_RANDOM=/dev/urandom
146 else
147 if test -c /dev/random
148 then
149 userdb_cv_RANDOM=/dev/random
150 else
151 userdb_cv_RANDOM="none"
152 fi
153 fi
154 )
155 random="$userdb_cv_RANDOM"
156 ;;
157*)
158 random="none"
159 ;;
160esac
161
162if test "$random" != "none"
163then
164 AC_DEFINE_UNQUOTED(RANDOM, "$random",
165 [ System random number generator ])
166fi
167
b0322a85 168AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../libs/docbook)
d9898ee8 169
ac40fd9e 170AC_OUTPUT(Makefile userdb.pl makeuserdb pw2userdb)