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