diff options
Diffstat (limited to 'userdb/configure.ac')
| -rw-r--r-- | userdb/configure.ac | 170 | 
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) | 
