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