1 dnl Process this file with autoconf to produce a configure script.
4 dnl Copyright 1998 - 2007 Double Precision, Inc. See COPYING for
5 dnl distribution information.
7 AC_INIT(libuserdb, 0.10, [courier-users@lists.sourceforge.net])
9 >confdefs.h # Kill PACKAGE_ macros.
11 LPATH="$PATH:/usr/local/bin"
13 AC_CONFIG_SRCDIR(userdb.c)
15 AM_INIT_AUTOMAKE([foreign no-define])
16 AC_CONFIG_HEADERS(config.h)
18 dnl Checks for programs.
24 AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH)
26 if test "$PERL" = "perl"
28 AC_MSG_ERROR(Perl not found.)
31 if test "$GCC" = "yes"
33 CFLAGS="$CFLAGS -Wall"
36 CFLAGS="$CFLAGS -I.. -I${srcdir}/.. -I../libs -I${srcdir}/../libs"
38 dnl Checks for libraries.
40 AC_ARG_WITH(userdb, [ ], userdb="$withval", userdb="/etc/userdb")
42 USERDB="`echo $userdb | tr '[a-z]' '[A-Z]'`"
45 AC_ARG_WITH(userdbmandir, [ ], mandir="$withval")
47 AC_ARG_WITH(userdbtmpdir, [ ], tmpdir="$withval", tmpdir="")
51 if test "$tmpdir" = ""
53 tmpdir=`echo "$userdb" | sed 's/\/[^\/]*$//'`
58 AC_SUBST(userdbtmpdir)
61 AC_ARG_WITH(makedatprog, [ ], makedat="$withval", makedat="$bindir/makedat")
64 if test -d ${srcdir}/../libs/md5
66 AC_DEFINE_UNQUOTED(HAVE_MD5,1,[ Whether libmd5.a is present ])
67 MD5LIB=../libs/md5/libmd5.la
73 if test -d ${srcdir}/../libs/sha1
75 SHA1LIB=../libs/sha1/libsha1.la
81 if test -d ${srcdir}/../libs/libhmac
83 AC_DEFINE_UNQUOTED(HAVE_HMAC,1, [ Whether libhmac.a is present ])
84 HMACLIB=../libs/libhmac/libhmac.la
90 dnl Checks for header files.
92 AC_CHECK_HEADERS(sys/stat.h sys/time.h unistd.h fcntl.h termios.h crypt.h)
95 dnl Checks for typedefs, structures, and compiler characteristics.
104 AC_CHECK_LIB(crypt, crypt, CRYPTLIBS="-lcrypt")
106 LIBS="$CRYPTLIBS $LIBS"
107 AC_CHECK_FUNC(crypt, AC_DEFINE_UNQUOTED(HAVE_CRYPT,1,
108 [ Whether the crypt() function is available ]))
110 AC_CACHE_CHECK([for crypt() prototype],userdb_cv_NEED_CRYPT_PROTOTYPE,
121 ], [], userdb_cv_NEED_CRYPT_PROTOTYPE=1,
122 userdb_cv_NEED_CRYPT_PROTOTYPE=0 )
126 AC_DEFINE_UNQUOTED(NEED_CRYPT_PROTOTYPE, $userdb_cv_NEED_CRYPT_PROTOTYPE,
127 [ Whether crypt() must be explicitly prototyped ])
130 AC_CHECK_FUNCS(isatty gettimeofday)
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 ],
141 AC_CACHE_CHECK([for random source],userdb_cv_RANDOM,
143 if test -c /dev/urandom
145 userdb_cv_RANDOM=/dev/urandom
147 if test -c /dev/random
149 userdb_cv_RANDOM=/dev/random
151 userdb_cv_RANDOM="none"
155 random="$userdb_cv_RANDOM"
162 if test "$random" != "none"
164 AC_DEFINE_UNQUOTED(RANDOM, "$random",
165 [ System random number generator ])
168 AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../libs/docbook)
170 AC_OUTPUT(Makefile userdb.pl makeuserdb pw2userdb)