AC_DEFUN(AM_CONFIG_HEADER,
[AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(changequote(<<,>>)ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>><<am_indx=1
for am_file in <<$1>>; do
case " <<$>>CONFIG_HEADERS " in
*" <<$>>am_file "*<<)>>
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
;;
esac
am_indx=`expr "<<$>>am_indx" + 1`
done<<>>changequote([,]))])
AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
AC_SUBST(VERSION)
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
AC_DEFUN(AM_SANITY_CHECK,
[AC_MSG_CHECKING([whether build environment is sane])
sleep 1
echo timestamp > conftestfile
if (
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
if test "[$]*" = "X"; then
set X `ls -t $srcdir/configure conftestfile`
fi
if test "[$]*" != "X $srcdir/configure conftestfile" \
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "[$]2" = conftestfile
)
then
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
rm -f conftest*
AC_MSG_RESULT(yes)])
AC_DEFUN(AM_MISSING_PROG,
[AC_MSG_CHECKING(for working $2)
if ($2 --version) < /dev/null > /dev/null 2>&1; then
$1=$2
AC_MSG_RESULT(found)
else
$1="$3/missing $2"
AC_MSG_RESULT(missing)
fi
AC_SUBST($1)])
AC_DEFUN(CMU_INIT_AUTOMAKE, [
AC_REQUIRE([AM_INIT_AUTOMAKE])
ACLOCAL="$ACLOCAL -I \$(top_srcdir)/cmulocal"
])
AC_DEFUN(CMU_C___ATTRIBUTE__, [
AC_MSG_CHECKING(for __attribute__)
AC_CACHE_VAL(ac_cv___attribute__, [
AC_TRY_COMPILE([
],
[
static void foo(void) __attribute__ ((noreturn));
static void
foo(void)
{
exit(1);
}
],
ac_cv___attribute__=yes,
ac_cv___attribute__=no)])
if test "$ac_cv___attribute__" = "yes"; then
AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__])
fi
AC_MSG_RESULT($ac_cv___attribute__)
])
AC_DEFUN(CMU_ADD_LIBPATH, [
if test "$andrew_runpath_switch" = "none" ; then
LDFLAGS="-L$1 ${LDFLAGS}"
else
LDFLAGS="-L$1 $andrew_runpath_switch$1 ${LDFLAGS}"
fi
])
AC_DEFUN(CMU_ADD_LIBPATH_TO, [
if test "$andrew_runpath_switch" = "none" ; then
$2="-L$1 ${$2}"
else
$2="-L$1 ${$2} $andrew_runpath_switch$1"
fi
])
AC_DEFUN(CMU_GUESS_RUNPATH_SWITCH, [
AC_CACHE_CHECK(for runpath switch, andrew_runpath_switch, [
SAVE_LDFLAGS="${LDFLAGS}"
LDFLAGS="-R /usr/lib"
AC_TRY_LINK([],[],[andrew_runpath_switch="-R"], [
LDFLAGS="-Wl,-rpath,/usr/lib"
AC_TRY_LINK([],[],[andrew_runpath_switch="-Wl,-rpath,"],
[andrew_runpath_switch="none"])
])
LDFLAGS="${SAVE_LDFLAGS}"
])])
AC_DEFUN(AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])
AC_CACHE_SAVE
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|| AC_MSG_ERROR([libtool configure failed])
AC_CACHE_LOAD
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)
exec 5>>./config.log
])
AC_DEFUN(AC_LIBTOOL_SETUP,
[AC_PREREQ(2.13)AC_REQUIRE([AC_ENABLE_SHARED])AC_REQUIRE([AC_ENABLE_STATIC])AC_REQUIRE([AC_ENABLE_FAST_INSTALL])AC_REQUIRE([AC_CANONICAL_HOST])AC_REQUIRE([AC_CANONICAL_BUILD])AC_REQUIRE([AC_PROG_RANLIB])AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_LD])AC_REQUIRE([AC_PROG_NM])AC_REQUIRE([AC_PROG_LN_S])
case "$target" in
NONE) lt_target="$host" ;;
*) lt_target="$target" ;;
esac
libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
[libtool_flags="$libtool_flags --enable-dlopen"])
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[libtool_flags="$libtool_flags --enable-win32-dll"])
AC_ARG_ENABLE(libtool-lock,
[ --disable-libtool-lock avoid locking (might break parallel builds)])
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
case "$lt_target" in
*-*-irix6*)
echo '[ if AC_TRY_EVAL(ac_compile); then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
;;
*N32*)
LD="${LD-ld} -n32"
;;
*64-bit*)
LD="${LD-ld} -64"
;;
esac
fi
rm -rf conftest*
;;
*-*-sco3.2v5*)
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
CFLAGS="$SAVE_CFLAGS"
fi
;;
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[*-*-cygwin* | *-*-mingw*)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
;;
])
esac
])
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
AC_DEFUN(AC_ENABLE_SHARED, [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))AC_ARG_ENABLE(shared,
changequote(<<, >>)<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
changequote([, ])[p=${PACKAGE-default}
case "$enableval" in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
*)
enable_shared=no
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
for pkg in $enableval; do
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
IFS="$ac_save_ifs"
;;
esac],
enable_shared=AC_ENABLE_SHARED_DEFAULT)])
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])AC_ENABLE_SHARED(no)])
AC_DEFUN(AC_ENABLE_STATIC, [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))AC_ARG_ENABLE(static,
changequote(<<, >>)<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
changequote([, ])[p=${PACKAGE-default}
case "$enableval" in
yes) enable_static=yes ;;
no) enable_static=no ;;
*)
enable_static=no
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
for pkg in $enableval; do
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
IFS="$ac_save_ifs"
;;
esac],
enable_static=AC_ENABLE_STATIC_DEFAULT)])
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])AC_ENABLE_STATIC(no)])
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))AC_ARG_ENABLE(fast-install,
changequote(<<, >>)<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
changequote([, ])[p=${PACKAGE-default}
case "$enableval" in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
for pkg in $enableval; do
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS="$ac_save_ifs"
;;
esac],
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)])
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])AC_ENABLE_FAST_INSTALL(no)])
AC_DEFUN(AC_PROG_LD,
[AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_CANONICAL_HOST])AC_REQUIRE([AC_CANONICAL_BUILD])ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
changequote(,) [\\/]* | [A-Za-z]:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
changequote([,]) ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
"")
ac_prog=ld
;;
*)
with_gnu_ld=unknown
;;
esac
elif test "$with_gnu_ld" = yes; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(ac_cv_path_LD,
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
ac_cv_path_LD="$ac_dir/$ac_prog"
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" != no && break
else
test "$with_gnu_ld" != yes && break
fi
fi
done
IFS="$ac_save_ifs"
else
ac_cv_path_LD="$LD" fi])
LD="$ac_cv_path_LD"
if test -n "$LD"; then
AC_MSG_RESULT($LD)
else
AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_PROG_LD_GNU
])
AC_DEFUN(AC_PROG_LD_GNU,
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
[if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
ac_cv_prog_gnu_ld=yes
else
ac_cv_prog_gnu_ld=no
fi])
])
AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(ac_cv_path_NM,
[if test -n "$NM"; then
ac_cv_path_NM="$NM"
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -B"
break
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -p"
break
else
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} continue fi
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
fi])
NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM])
])
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])LIBM=
case "$lt_target" in
*-*-beos* | *-*-cygwin*)
;;
*-ncr-sysv4.3*)
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
;;
*)
AC_CHECK_LIB(m, main, LIBM="-lm")
;;
esac
])
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
LIBLTDL=ifelse($ INCLTDL=ifelse($])
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) AC_CHECK_LIB(ltdl, main,
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
[if test x"$enable_ltdl_install" = xno; then
AC_MSG_WARN([libltdl not installed, but installation disabled])
else
enable_ltdl_install=yes
fi
])
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=ifelse($ INCLTDL=ifelse($ else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
INCLTDL=
fi
])
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])
ifelse([AC_DISABLE_FAST_INSTALL])
AC_DEFUN(CMU_PROG_LIBTOOL, [
AC_REQUIRE([AC_PROG_CC])
if test "$ac_cv_prog_gcc" = no; then
case "$host_os" in
solaris2*)
save_cflags="${CFLAGS}"
CFLAGS="-erroff=E_EMPTY_TRANSLATION_UNIT ${CFLAGS}"
;;
hpux*)
save_cflags="${CFLAGS}"
CFLAGS="-w"
;;
esac
fi
AM_PROG_LIBTOOL
if test "$ac_cv_prog_gcc" = no; then
case "$host_os" in
solaris2*|hpux*)
CFLAGS="${save_cflags}"
esac
fi
])
# Define a conditional.
AC_DEFUN(AM_CONDITIONAL,
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_TRUE=
$1_FALSE='else
$1_TRUE=' $1_FALSE=
fi])
AC_DEFUN(BERKELEY_DB_CHK_LIB,
[
BDB_SAVE_LIBS=$LIBS
if test -d $with_bdb_lib; then
LIBS="$LIBS -L$with_bdb_lib"
BDB_LIBADD="-L$with_bdb_lib -R $with_bdb_lib"
else
BDB_LIBADD=""
fi
for dbname in db-4.0 db4.0 db-4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
do
AC_CHECK_LIB($dbname, db_create, SASL_DB_LIB="$BDB_LIBADD -l$dbname";
dblib="berkeley"; break, dblib="no")
done
if test "$dblib" = "no"; then
AC_CHECK_LIB(db, db_open, SASL_DB_LIB="$BDB_LIBADD -ldb";
dblib="berkeley"; dbname=db,
dblib="no")
fi
LIBS=$BDB_SAVE_LIBS
])
AC_DEFUN(BERKELEY_DB_CHK,
[
if test -d $with_bdb_inc; then
CPPFLAGS="$CPPFLAGS -I$with_bdb_inc"
BDB_INCADD="-I$with_bdb_inc"
else
BDB_INCADD=""
fi
AC_CHECK_HEADER(db3/db.h,
BERKELEY_DB_CHK_LIB()
if test "$dblib" = "berkeley"; then
SASL_DB_INC=$BDB_INCADD
AC_DEFINE(HAVE_DB3_DB_H)
fi,
AC_CHECK_HEADER(db.h,
BERKELEY_DB_CHK_LIB()
SASL_DB_INC=$BDB_INCADD,
dblib="no"))
])
AC_DEFUN(SASL_DB_CHECK, [
cmu_save_LIBS="$LIBS"
AC_ARG_WITH(dblib, [ --with-dblib=DBLIB set the DB library to use [berkeley] ],
dblib=$withval,
dblib=auto_detect)
AC_ARG_WITH(bdb-libdir,
[ --with-bdb-libdir=DIR Berkeley DB lib files are in DIR],
with_bdb_lib=$withval,
with_bdb_lib=none)
AC_ARG_WITH(bdb-incdir,
[ --with-bdb-incdir=DIR Berkeley DB include files are in DIR],
with_bdb_inc=$withval,
with_bdb_inc=none)
SASL_DB_LIB=""
case "$dblib" in
berkeley)
BERKELEY_DB_CHK()
;;
gdbm)
AC_ARG_WITH(with-gdbm,[ --with-gdbm=PATH use gdbm from PATH],
with_gdbm="${withval}")
case "$with_gdbm" in
""|yes)
AC_CHECK_HEADER(gdbm.h,
AC_CHECK_LIB(gdbm, gdbm_open, SASL_DB_LIB="-lgdbm",
dblib="no"),
dblib="no")
;;
*)
if test -d $with_gdbm; then
CPPFLAGS="${CPPFLAGS} -I${with_gdbm}/include"
LDFLAGS="${LDFLAGS} -L${with_gdbm}/lib"
SASL_DB_LIB="-lgdbm"
else
with_gdbm="no"
fi
esac
;;
ndbm)
AC_CHECK_HEADER(ndbm.h,
AC_CHECK_LIB(ndbm, dbm_open, SASL_DB_LIB="-lndbm",
AC_CHECK_FUNC(dbm_open,,dblib="no")),
dblib="no")
;;
auto_detect)
BERKELEY_DB_CHK()
if test "$dblib" = no; then
AC_CHECK_HEADER(ndbm.h,
AC_CHECK_LIB(ndbm, dbm_open,
dblib="ndbm"; SASL_DB_LIB="-lndbm",
dblib="weird"),
dblib="no")
if test "$dblib" = "weird"; then
AC_CHECK_FUNC(dbm_open, dblib="ndbm", dblib="no")
fi
if test "$dblib" = no; then
AC_CHECK_HEADER(gdbm.h,
AC_CHECK_LIB(gdbm, gdbm_open, dblib="gdbm";
SASL_DB_LIB="-lgdbm", dblib="no"),
dblib="no")
fi
fi
;;
none)
;;
no)
;;
*)
AC_MSG_WARN([Bad DB library implementation specified;])
AC_ERROR([Use either \"berkeley\", \"gdbm\", \"ndbm\" or \"none\"])
dblib=no
;;
esac
LIBS="$cmu_save_LIBS"
AC_MSG_CHECKING(DB library to use)
AC_MSG_RESULT($dblib)
SASL_DB_BACKEND="db_${dblib}.lo"
SASL_DB_BACKEND_STATIC="../sasldb/db_${dblib}.o ../sasldb/allockey.o"
SASL_DB_UTILS="saslpasswd2 sasldblistusers2"
SASL_DB_MANS="saslpasswd2.8 sasldblistusers2.8"
case "$dblib" in
gdbm)
SASL_MECHS="$SASL_MECHS libsasldb.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/sasldb.o"
AC_DEFINE(STATIC_SASLDB)
AC_DEFINE(SASL_GDBM)
;;
ndbm)
SASL_MECHS="$SASL_MECHS libsasldb.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/sasldb.o"
AC_DEFINE(STATIC_SASLDB)
AC_DEFINE(SASL_NDBM)
;;
berkeley)
SASL_MECHS="$SASL_MECHS libsasldb.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/sasldb.o"
AC_DEFINE(STATIC_SASLDB)
AC_DEFINE(SASL_BERKELEYDB)
;;
*)
AC_MSG_WARN([Disabling SASL authentication database support])
SASL_DB_BACKEND="db_none.lo"
SASL_DB_BACKEND_STATIC="../sasldb/db_none.o"
SASL_DB_UTILS=""
SASL_DB_MANS=""
SASL_DB_LIB=""
;;
esac
AC_SUBST(SASL_DB_UTILS)
AC_SUBST(SASL_DB_MANS)
AC_SUBST(SASL_DB_BACKEND)
AC_SUBST(SASL_DB_BACKEND_STATIC)
AC_SUBST(SASL_DB_INC)
AC_SUBST(SASL_DB_LIB)
])
AC_DEFUN(SASL_DB_PATH_CHECK, [
AC_ARG_WITH(dbpath, [ --with-dbpath=PATH set the DB path to use [/etc/sasldb2] ],
dbpath=$withval,
dbpath=/etc/sasldb2)
AC_MSG_CHECKING(DB path to use)
AC_MSG_RESULT($dbpath)
AC_DEFINE_UNQUOTED(SASL_DB_PATH, "$dbpath")])
AC_DEFUN(CMU_SOCKETS, [
save_LIBS="$LIBS"
LIB_SOCKET=""
AC_CHECK_FUNC(connect, :,
AC_CHECK_LIB(nsl, gethostbyname,
LIB_SOCKET="-lnsl $LIB_SOCKET")
AC_CHECK_LIB(socket, connect,
LIB_SOCKET="-lsocket $LIB_SOCKET")
)
LIBS="$LIB_SOCKET $save_LIBS"
AC_CHECK_FUNC(res_search, :,
AC_CHECK_LIB(resolv, res_search,
LIB_SOCKET="-lresolv $LIB_SOCKET")
)
LIBS="$LIB_SOCKET $save_LIBS"
AC_CHECK_FUNCS(dn_expand dns_lookup)
LIBS="$save_LIBS"
AC_SUBST(LIB_SOCKET)
])
AC_DEFUN(SASL_DES_CHK, [
AC_ARG_WITH(des, [ --with-des=DIR with DES (look in DIR) [yes] ],
with_des=$withval,
with_des=yes)
LIB_DES=""
if test "$with_des" != no; then
if test -d $with_des; then
CPPFLAGS="$CPPFLAGS -I${with_des}/include"
LDFLAGS="$LDFLAGS -L${with_des}/lib"
fi
AC_CHECK_LIB(crypto, des_pcbc_encrypt,
AC_CHECK_HEADER(openssl/des.h, [AC_DEFINE(WITH_SSL_DES)
LIB_DES="-lcrypto";
with_des=yes],
with_des=no),
with_des=no, $LIB_RSAREF)
if test "$with_des" = no; then
AC_CHECK_LIB(des, des_pcbc_encrypt, [LIB_DES="-ldes";
with_des=yes], with_des=no)
fi
if test "$with_des" = no; then
AC_CHECK_LIB(des524, des_pcbc_encrypt, [LIB_DES="-ldes524";
with_des=yes], with_des=no)
fi
if test "$with_des" = no; then
LIB_RSAREF=""
AC_CHECK_LIB(rsaref, RSAPublicEncrypt,
LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes,
cmu_have_rsaref=no)
AC_CHECK_LIB(crypto, des_pcbc_encrypt,
AC_CHECK_HEADER(openssl/des.h, [AC_DEFINE(WITH_SSL_DES)
LIB_DES="-lcrypto";
with_des=yes],
with_des=no),
with_des=no, $LIB_RSAREF)
fi
fi
if test "$with_des" != no; then
AC_DEFINE(WITH_DES)
fi
AC_SUBST(LIB_DES)
])
AC_DEFUN(SASL_KERBEROS_V4_CHK, [
AC_REQUIRE([SASL_DES_CHK])
AC_ARG_ENABLE(krb4, [ --enable-krb4 enable KERBEROS_V4 authentication [yes] ],
krb4=$enableval,
krb4=yes)
if test "$krb4" != no; then
AC_CHECK_LIB(resolv,res_search)
if test -d ${krb4}; then
AC_CACHE_CHECK(for Kerberos includes, cyrus_krbinclude, [
for krbhloc in include/kerberosIV include/kerberos include
do
if test -f ${krb4}/${krbhloc}/krb.h ; then
cyrus_krbinclude=${krb4}/${krbhloc}
break
fi
done
])
if test -n "${cyrus_krbinclude}"; then
CPPFLAGS="$CPPFLAGS -I${cyrus_krbinclude}"
fi
LDFLAGS="$LDFLAGS -L$krb4/lib"
fi
if test "$with_des" != no; then
AC_CHECK_HEADER(krb.h,
AC_CHECK_LIB(com_err, com_err,
AC_CHECK_LIB(krb, krb_mk_priv,
[COM_ERR="-lcom_err"; SASL_KRB_LIB="-lkrb"],
krb4=no, $LIB_DES -lcom_err),
AC_CHECK_LIB(krb, krb_mk_priv,
[COM_ERR=""; SASL_KRB_LIB="-lkrb"],
krb4=no, $LIB_DES)))
if test "$krb4" = no; then
AC_CHECK_HEADER(krb.h,
AC_CHECK_LIB(krb4, krb_mk_priv,
[COM_ERR=""; SASL_KRB_LIB="-lkrb4"; krb4=yes],
krb4=no, $LIB_DES))
if test "$krb4" = no; then
AC_WARN(No Kerberos V4 found)
fi
fi
else
AC_WARN(No DES library found for Kerberos V4 support)
krb4=no
fi
fi
if test "$krb4" != no; then
cmu_save_LIBS="$LIBS"
LIBS="$LIBS $SASL_KRB_LIB"
AC_CHECK_FUNCS(krb_get_err_text)
LIBS="$cmu_save_LIBS"
fi
AC_MSG_CHECKING(KERBEROS_V4)
if test "$krb4" != no; then
AC_MSG_RESULT(enabled)
SASL_MECHS="$SASL_MECHS libkerberos4.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/kerberos4.o"
AC_DEFINE(STATIC_KERBEROS4)
AC_DEFINE(HAVE_KRB)
SASL_KRB_LIB="$SASL_KRB_LIB $LIB_DES $COM_ERR"
else
AC_MSG_RESULT(disabled)
fi
AC_SUBST(SASL_KRB_LIB)
])
AC_DEFUN(SASL_GSSAPI_CHK,[
AC_ARG_ENABLE(gssapi, [ --with-gssapi=<DIR> enable GSSAPI authentication [yes] ],
gssapi=$enableval,
gssapi=yes)
if test "$gssapi" != no; then
if test -d ${gssapi}; then
CPPFLAGS="$CPPFLAGS -I$gssapi/include"
LDFLAGS="$LDFLAGS -L$gssapi/lib"
fi
AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H),
AC_CHECK_HEADER(gssapi/gssapi.h,, AC_WARN(Disabling GSSAPI); gssapi=no))
fi
if test "$gssapi" != no; then
AC_CHECK_LIB(db, db_open)
gss_impl="mit";
AC_CHECK_LIB(resolv,res_search)
if test -d ${gssapi}; then
CPPFLAGS="$CPPFLAGS -I$gssapi/include"
LDFLAGS="$LDFLAGS -L$gssapi/lib"
fi
AC_CHECK_LIB(krb5,krb5_vlog,gss_impl="heimdal",,)
if test -d ${gssapi}; then
gssapi_dir=$gssapi
GSSAPIBASE_LIBS="-L$gssapi_dir/lib"
GSSAPIBASE_STATIC_LIBS="-L$gssapi_dir"
else
gssapi_dir="/usr/local/lib"
fi
if test "$gss_impl" = "mit"; then
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $gssapi_dir/libgssapi_krb5.a $gssapi_dir/libkrb5.a $gssapi_dir/libk5crypto.a $gssapi_dir/libcom_err.a"
elif test "$gss_impl" = "heimdal"; then
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -ldes -lasn1 -lroken ${LIB_CRYPT} -lcom_err"
GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_STATIC_LIBS $gssapi_dir/libgssapi.a $gssapi_dir/libkrb5.a $gssapi_dir/libdes.a $gssapi_dir/libasn1.a $gssapi_dir/libroken.a $gssapi_dir/libcom_err.a ${LIB_CRYPT}"
else
gssapi="no"
AC_WARN(Disabling GSSAPI)
fi
fi
if test "$ac_cv_header_gssapi_h" = "yes"; then
AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h,
AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE))
elif test "$ac_cv_header_gssapi_gssapi_h"; then
AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi/gssapi.h,
AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE))
fi
GSSAPI_LIBS=""
AC_MSG_CHECKING(GSSAPI)
if test "$gssapi" != no; then
AC_MSG_RESULT(with implementation ${gss_impl})
AC_CHECK_LIB(ndbm,dbm_open,GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lndbm")
AC_CHECK_LIB(resolv,res_search,GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv")
SASL_MECHS="$SASL_MECHS libgssapiv2.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/gssapi.o"
cmu_save_LIBS="$LIBS"
LIBS="$LIBS $GSSAPIBASE_LIBS"
AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
LIBS="$cmu_save_LIBS"
else
AC_MSG_RESULT(disabled)
fi
AC_SUBST(GSSAPI_LIBS)
AC_SUBST(GSSAPIBASE_LIBS)
])
AC_DEFUN(CMU_SASL2, [
AC_ARG_WITH(sasl,
[ --with-sasl=DIR Compile with libsasl2 in <DIR>],
with_sasl="$withval",
with_sasl="yes")
AC_ARG_WITH(staticsasl,
[ --with-staticsasl=DIR Compile with staticly linked libsasl2 in <DIR>],
with_staticsasl="$withval";
if test $with_staticsasl != "no"; then
using_static_sasl="static"
fi,
with_staticsasl="no"; using_static_sasl="no")
SASLFLAGS=""
LIB_SASL=""
cmu_saved_CPPFLAGS=$CPPFLAGS
cmu_saved_LDFLAGS=$LDFLAGS
cmu_saved_LIBS=$LIBS
if test ${with_staticsasl} != "no"; then
if test -d ${with_staticsasl}; then
ac_cv_sasl_where_lib=${with_staticsasl}/lib
ac_cv_sasl_where_inc=${with_staticsasl}/include
SASLFLAGS="-I$ac_cv_sasl_where_inc"
LIB_SASL="-L$ac_cv_sasl_where_lib"
CPPFLAGS="${cmu_saved_CPPFLAGS} -I${ac_cv_sasl_where_inc}"
LDFLAGS="${cmu_saved_LDFLAGS} -L${ac_cv_sasl_where_lib}"
else
with_staticsasl="/usr"
fi
AC_CHECK_HEADER(sasl/sasl.h,
AC_CHECK_HEADER(sasl/saslutil.h,
if test -r ${with_staticsasl}/lib/libsasl2.a; then
ac_cv_found_sasl=yes
AC_MSG_CHECKING(for static libsasl)
LIB_SASL="$LIB_SASL ${with_staticsasl}/lib/libsasl2.a"
else
AC_MSG_CHECKING(for static libsasl)
AC_ERROR([Could not find ${with_staticsasl}/lib/libsasl2.a])
fi
))
AC_MSG_RESULT(found)
SASL_GSSAPI_CHK
LIB_SASL="$LIB_SASL $GSSAPIBASE_STATIC_LIBS"
fi
if test -d ${with_sasl}; then
ac_cv_sasl_where_lib=${with_sasl}/lib
ac_cv_sasl_where_inc=${with_sasl}/include
DYNSASLFLAGS="-I$ac_cv_sasl_where_inc"
if test "$ac_cv_sasl_where_lib" != ""; then
CMU_ADD_LIBPATH_TO($ac_cv_sasl_where_lib, LIB_DYN_SASL)
fi
LIB_DYN_SASL="$LIB_DYN_SASL -lsasl2"
CPPFLAGS="${cmu_saved_CPPFLAGS} -I${ac_cv_sasl_where_inc}"
LDFLAGS="${cmu_saved_LDFLAGS} -L${ac_cv_sasl_where_lib}"
fi
AC_CHECK_HEADER(sasl/sasl.h,
AC_CHECK_HEADER(sasl/saslutil.h,
AC_CHECK_LIB(sasl2, prop_get,
ac_cv_found_sasl=yes,
ac_cv_found_sasl=no),
ac_cv_found_sasl=no), ac_cv_found_sasl=no)
if test "$ac_cv_found_sasl" = "yes"; then
if test "$ac_cv_sasl_where_lib" != ""; then
CMU_ADD_LIBPATH_TO($ac_cv_sasl_where_lib, DYNLIB_SASL)
fi
DYNLIB_SASL="$DYNLIB_SASL -lsasl2"
if test "$using_static_sasl" != "static"; then
LIB_SASL=$DYNLIB_SASL
SASLFLAGS=$DYNSASLFLAGS
fi
else
DYNLIB_SASL=""
DYNSASLFLAGS=""
using_static_sasl="staticonly"
fi
LIBS="$cmu_saved_LIBS"
LDFLAGS="$cmu_saved_LDFLAGS"
CPPFLAGS="$cmu_saved_CPPFLAGS"
AC_SUBST(LIB_DYN_SASL)
AC_SUBST(DYNSASLFLAGS)
AC_SUBST(LIB_SASL)
AC_SUBST(SASLFLAGS)
])
AC_DEFUN(CMU_SASL2_REQUIRED,
[AC_REQUIRE([CMU_SASL2])
if test "$ac_cv_found_sasl" != "yes"; then
AC_ERROR([Cannot continue without libsasl2.
Get it from ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/.])
fi])
AC_DEFUN(SASL_CRYPT_CHK,[
AC_CHECK_FUNC(crypt, cmu_have_crypt=yes,
AC_CHECK_LIB(crypt, crypt,
LIB_CRYPT="-lcrypt"; cmu_have_crypt=yes,
cmu_have_crypt=no))
AC_SUBST(LIB_CRYPT)
])
AC_DEFUN(SASL_PLAIN_CHK,[
AC_REQUIRE([SASL_CRYPT_CHK])
AC_ARG_ENABLE(plain, [ --enable-plain enable PLAIN authentication [yes] ],
plain=$enableval,
plain=yes)
PLAIN_LIBS=""
if test "$plain" != no; then
if test "$cmu_have_crypt" = yes; then
PLAIN_LIBS=$LIB_CRYPT
fi
fi
AC_SUBST(PLAIN_LIBS)
AC_MSG_CHECKING(PLAIN)
if test "$plain" != no; then
AC_MSG_RESULT(enabled)
SASL_MECHS="$SASL_MECHS libplain.la"
SASL_STATIC_OBJS="$SASL_STATIC_OBJS ../plugins/plain.o"
AC_DEFINE(STATIC_PLAIN)
else
AC_MSG_RESULT(disabled)
fi
])
AC_DEFUN(IPv6_CHECK_FUNC, [
changequote(, )ac_tr_lib=HAVE_`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
changequote([, ])AC_CHECK_FUNC($1, [ AC_DEFINE_UNQUOTED($ac_tr_lib)
ac_cv_lib_socket_$1=no
ac_cv_lib_inet6_$1=no
], [ AC_CHECK_LIB(socket, $1, [ AC_DEFINE_UNQUOTED($ac_tr_lib)
LIBS="$LIBS -lsocket"
ac_cv_lib_inet6_$1=no
], [ AC_MSG_CHECKING([whether your system has IPv6 directory])
AC_CACHE_VAL(ipv6_cv_dir, [ for ipv6_cv_dir in /usr/local/v6 /usr/inet6 no; do
if test $ipv6_cv_dir = no -o -d $ipv6_cv_dir; then
break
fi
done]) AC_MSG_RESULT($ipv6_cv_dir)
if test $ipv6_cv_dir = no; then
ac_cv_lib_inet6_$1=no
else
if test x$ipv6_libinet6 = x; then
ipv6_libinet6=no
SAVELDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$ipv6_cv_dir/lib"
fi
AC_CHECK_LIB(inet6, $1, [ AC_DEFINE_UNQUOTED($ac_tr_lib)
if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
fi],) if test $ipv6_libinet6 = no; then
LDFLAGS="$SAVELDFLAGS"
fi
fi])])if test $ac_cv_func_$1 = yes -o $ac_cv_lib_socket_$1 = yes \
-o $ac_cv_lib_inet6_$1 = yes
then
ipv6_cv_$1=yes
ifelse([$2], , :, [$2])
else
ipv6_cv_$1=no
ifelse([$3], , :, [$3])
fi])
AC_DEFUN(IPv6_CHECK_SS_FAMILY, [
AC_MSG_CHECKING([whether you have ss_family in struct sockaddr_storage])
AC_CACHE_VAL(ipv6_cv_ss_family, [AC_TRY_COMPILE([ [struct sockaddr_storage ss; int i = ss.ss_family;],
[ipv6_cv_ss_family=yes], [ipv6_cv_ss_family=no])])if test $ipv6_cv_ss_family = yes; then
ifelse([$1], , AC_DEFINE(HAVE_SS_FAMILY), [$1])
else
ifelse([$2], , :, [$2])
fi
AC_MSG_RESULT($ipv6_cv_ss_family)])
AC_DEFUN(IPv6_CHECK_SA_LEN, [
AC_MSG_CHECKING([whether you have sa_len in struct sockaddr])
AC_CACHE_VAL(ipv6_cv_sa_len, [AC_TRY_COMPILE([ [struct sockaddr sa; int i = sa.sa_len;],
[ipv6_cv_sa_len=yes], [ipv6_cv_sa_len=no])])if test $ipv6_cv_sa_len = yes; then
ifelse([$1], , AC_DEFINE(HAVE_SOCKADDR_SA_LEN), [$1])
else
ifelse([$2], , :, [$2])
fi
AC_MSG_RESULT($ipv6_cv_sa_len)])
dnl See whether sys/socket.h has socklen_t
AC_DEFUN(IPv6_CHECK_SOCKLEN_T, [
AC_MSG_CHECKING(for socklen_t)
AC_CACHE_VAL(ipv6_cv_socklen_t, [dnl
AC_TRY_LINK([#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t len = 0;],
[ipv6_cv_socklen_t=yes], [ipv6_cv_socklen_t=no])])dnl
if test $ipv6_cv_socklen_t = yes; then
ifelse([$1], , AC_DEFINE(HAVE_SOCKLEN_T), [$1])
else
ifelse([$2], , :, [$2])
fi
AC_MSG_RESULT($ipv6_cv_socklen_t)])