summaryrefslogtreecommitdiffstats
path: root/userdb/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'userdb/configure.ac')
-rw-r--r--userdb/configure.ac170
1 files changed, 170 insertions, 0 deletions
diff --git a/userdb/configure.ac b/userdb/configure.ac
new file mode 100644
index 0000000..1a4585b
--- /dev/null
+++ b/userdb/configure.ac
@@ -0,0 +1,170 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl
+dnl Copyright 1998 - 2007 Double Precision, Inc. See COPYING for
+dnl distribution information.
+
+AC_INIT(libuserdb, 0.10, [courier-users@lists.sourceforge.net])
+
+>confdefs.h # Kill PACKAGE_ macros.
+
+LPATH="$PATH:/usr/local/bin"
+
+AC_CONFIG_SRCDIR(userdb.c)
+AC_CONFIG_AUX_DIR(../..)
+AM_INIT_AUTOMAKE([foreign no-define])
+AM_CONFIG_HEADER(config.h)
+
+dnl Checks for programs.
+AC_PROG_AWK
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_LIBTOOL
+AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH)
+
+if test "$PERL" = "perl"
+then
+ AC_MSG_ERROR(Perl not found.)
+fi
+
+if test "$GCC" = "yes"
+then
+ CFLAGS="$CFLAGS -Wall"
+fi
+
+CFLAGS="$CFLAGS -I.. -I${srcdir}/.."
+
+dnl Checks for libraries.
+
+AC_ARG_WITH(userdb, [ ], userdb="$withval", userdb="/etc/userdb")
+AC_SUBST(userdb)
+USERDB="`echo $userdb | tr '[a-z]' '[A-Z]'`"
+AC_SUBST(USERDB)
+
+AC_ARG_WITH(userdbmandir, [ ], mandir="$withval")
+
+AC_ARG_WITH(userdbtmpdir, [ ], tmpdir="$withval", tmpdir="")
+
+changequote({,})
+
+if test "$tmpdir" = ""
+then
+ tmpdir=`echo "$userdb" | sed 's/\/[^\/]*$//'`
+fi
+
+changequote([,])
+
+AC_SUBST(userdbtmpdir)
+AC_SUBST(tmpdir)
+
+AC_ARG_WITH(makedatprog, [ ], makedat="$withval", makedat="$bindir/makedat")
+AC_SUBST(makedat)
+
+if test -d ${srcdir}/../md5
+then
+ AC_DEFINE_UNQUOTED(HAVE_MD5,1,[ Whether libmd5.a is present ])
+ MD5LIB=../md5/libmd5.la
+else
+ MD5LIB=""
+fi
+AC_SUBST(MD5LIB)
+
+if test -d ${srcdir}/../sha1
+then
+ SHA1LIB=../sha1/libsha1.la
+else
+ SHA1LIB=""
+fi
+AC_SUBST(SHA1LIB)
+
+if test -d ${srcdir}/../libhmac
+then
+ AC_DEFINE_UNQUOTED(HAVE_HMAC,1, [ Whether libhmac.a is present ])
+ HMACLIB=../libhmac/libhmac.la
+else
+ HMACLIB=""
+fi
+AC_SUBST(HMACLIB)
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS(sys/stat.h sys/time.h unistd.h fcntl.h termios.h crypt.h)
+AC_HEADER_TIME
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_PID_T
+AC_TYPE_UID_T
+AC_TYPE_SIGNAL
+AC_SYS_LARGEFILE
+
+dnl Other checks
+
+AC_CHECK_LIB(crypt, crypt, CRYPTLIBS="-lcrypt")
+saveLIBS="$LIBS"
+LIBS="$CRYPTLIBS $LIBS"
+AC_CHECK_FUNC(crypt, AC_DEFINE_UNQUOTED(HAVE_CRYPT,1,
+ [ Whether the crypt() function is available ]))
+LIBS="$saveLIBS"
+AC_CACHE_CHECK([for crypt() prototype],userdb_cv_NEED_CRYPT_PROTOTYPE,
+
+ AC_TRY_COMPILE( [
+ #if HAVE_CRYPT_H
+ #include <crypt.h>
+ #endif
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+ int crypt(int, int);
+
+ ], [], userdb_cv_NEED_CRYPT_PROTOTYPE=1,
+ userdb_cv_NEED_CRYPT_PROTOTYPE=0 )
+
+ )
+
+AC_DEFINE_UNQUOTED(NEED_CRYPT_PROTOTYPE, $userdb_cv_NEED_CRYPT_PROTOTYPE,
+ [ Whether crypt() must be explicitly prototyped ])
+AC_SUBST(CRYPTLIBS)
+
+AC_CHECK_FUNCS(isatty gettimeofday)
+
+AC_ARG_WITH(random, [ --with-random=/dev/urandom - location of the system random file generator
+--without-random - there is no system random file generator ],
+ random="$withval",
+ random="y")
+
+case "$random" in
+/*)
+ ;;
+y*|1*)
+ AC_CACHE_CHECK([for random source],userdb_cv_RANDOM,
+
+ if test -c /dev/urandom
+ then
+ userdb_cv_RANDOM=/dev/urandom
+ else
+ if test -c /dev/random
+ then
+ userdb_cv_RANDOM=/dev/random
+ else
+ userdb_cv_RANDOM="none"
+ fi
+ fi
+ )
+ random="$userdb_cv_RANDOM"
+ ;;
+*)
+ random="none"
+ ;;
+esac
+
+if test "$random" != "none"
+then
+ AC_DEFINE_UNQUOTED(RANDOM, "$random",
+ [ System random number generator ])
+fi
+
+AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/../docbook)
+
+AC_OUTPUT(Makefile userdb.pl makeuserdb pw2userdb)