undefine([AC_ISC_POSIX])
AC_DEFUN([AC_ISC_POSIX],
[
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
]
)
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_C_FPIC], [
AC_MSG_CHECKING(if compiler supports -fPIC)
AC_CACHE_VAL(ac_cv_fpic, [
save_CFLAGS=$CFLAGS
CFLAGS="${CFLAGS} -fPIC"
AC_TRY_COMPILE([
],
[
static void
foo(void)
{
exit(1);
}
],
ac_cv_fpic=yes,
ac_cv_fpic=no)
CFLAGS=$save_CFLAGS
])
if test "$ac_cv_fpic" = "yes"; then
FPIC_CFLAGS="-fPIC"
else
FPIC_CFLAGS=""
fi
AC_MSG_RESULT($ac_cv_fpic)
])
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([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([IPv6_CHECK_FUNC], [
AC_CHECK_FUNC($1, [ ac_cv_lib_socket_$1=no
ac_cv_lib_inet6_$1=no
], [ AC_CHECK_LIB(socket, $1, [ 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, [ if test $ipv6_libinet6 = no; then
ipv6_libinet6=yes
LIBS="$LIBS -linet6"
fi],) if test $ipv6_libinet6 = no; then
LDFLAGS="$SAVELDFLAGS"
fi
fi])])ipv6_cv_$1=no
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
fi
if test $ipv6_cv_$1 = no; then
if test $1 = getaddrinfo; then
for ipv6_cv_pfx in o n; do
AC_EGREP_HEADER(${ipv6_cv_pfx}$1, netdb.h,
[AC_CHECK_FUNC(${ipv6_cv_pfx}$1)])
if eval test X\$ac_cv_func_${ipv6_cv_pfx}$1 = Xyes; then
AC_DEFINE(HAVE_GETADDRINFO,[],[Do we have a getaddrinfo?])
ipv6_cv_$1=yes
break
fi
done
fi
fi
if test $ipv6_cv_$1 = yes; then
ifelse([$2], , :, [$2])
else
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,[],[Is there an ss_family in sockaddr_storage?]), [$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,[],[Does sockaddr have an sa_len?]), [$1])
else
ifelse([$2], , :, [$2])
fi
AC_MSG_RESULT($ipv6_cv_sa_len)])
AC_DEFUN([IPv6_CHECK_SOCKLEN_T], [
AC_MSG_CHECKING(for socklen_t)
AC_CACHE_VAL(ipv6_cv_socklen_t, [AC_TRY_LINK([ [socklen_t len = 0;],
[ipv6_cv_socklen_t=yes], [ipv6_cv_socklen_t=no])])if test $ipv6_cv_socklen_t = yes; then
ifelse([$1], , AC_DEFINE(HAVE_SOCKLEN_T,[],[Do we have a socklen_t?]), [$1])
else
ifelse([$2], , :, [$2])
fi
AC_MSG_RESULT($ipv6_cv_socklen_t)])
AC_DEFUN([CMU_DB_INC_WHERE1], [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$saved_CPPFLAGS -I$1"
AC_TRY_COMPILE([[DB *db;
db_create(&db, NULL, 0);
db->open(db, "foo.db", NULL, DB_UNKNOWN, DB_RDONLY, 0644);],
ac_cv_found_db_inc=yes,
ac_cv_found_db_inc=no)
CPPFLAGS=$saved_CPPFLAGS
])
AC_DEFUN([CMU_DB_INC_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for db headers in $i)
CMU_DB_INC_WHERE1($i)
CMU_TEST_INCPATH($i, db)
if test "$ac_cv_found_db_inc" = "yes"; then
ac_cv_db_where_inc=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_DB3_LIB_WHERE1], [
AC_REQUIRE([CMU_AFS])
AC_REQUIRE([CMU_KRB4])
saved_LIBS=$LIBS
LIBS="$saved_LIBS -L$1 -ldb-3"
AC_TRY_LINK([[db_env_create(NULL, 0);],
[ac_cv_found_db_3_lib=yes],
ac_cv_found_db_3_lib=no)
LIBS=$saved_LIBS
])
AC_DEFUN([CMU_DB4_LIB_WHERE1], [
AC_REQUIRE([CMU_AFS])
AC_REQUIRE([CMU_KRB4])
saved_LIBS=$LIBS
LIBS="$saved_LIBS -L$1 -ldb-4"
AC_TRY_LINK([[db_env_create(NULL, 0);],
[ac_cv_found_db_4_lib=yes],
ac_cv_found_db_4_lib=no)
LIBS=$saved_LIBS
])
AC_DEFUN([CMU_DB_LIB_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for db libraries in $i)
if test "$enable_db4" = "yes"; then
CMU_DB4_LIB_WHERE1($i)
CMU_TEST_LIBPATH($i, [db-4])
ac_cv_found_db_lib=$ac_cv_found_db_4_lib
else
CMU_DB3_LIB_WHERE1($i)
CMU_TEST_LIBPATH($i, [db-3])
ac_cv_found_db_lib=$ac_cv_found_db_3_lib
fi
if test "$ac_cv_found_db_lib" = "yes" ; then
ac_cv_db_where_lib=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_USE_DB], [
AC_ARG_WITH(db,
[ --with-db=PREFIX Compile with db support],
[if test "X$with_db" = "X"; then
with_db=yes
fi])
AC_ARG_WITH(db-lib,
[ --with-db-lib=dir use db libraries in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-db-lib])
fi])
AC_ARG_WITH(db-include,
[ --with-db-include=dir use db headers in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-db-include])
fi])
AC_ARG_ENABLE(db4,
[ --enable-db4 use db 4.x libraries])
if test "X$with_db" != "X"; then
if test "$with_db" != "yes"; then
ac_cv_db_where_lib=$with_db/lib
ac_cv_db_where_inc=$with_db/include
fi
fi
if test "X$with_db_lib" != "X"; then
ac_cv_db_where_lib=$with_db_lib
fi
if test "X$ac_cv_db_where_lib" = "X"; then
CMU_DB_LIB_WHERE(/usr/athena/lib /usr/lib /usr/local/lib)
fi
if test "X$with_db_include" != "X"; then
ac_cv_db_where_inc=$with_db_include
fi
if test "X$ac_cv_db_where_inc" = "X"; then
CMU_DB_INC_WHERE(/usr/athena/include /usr/local/include)
fi
AC_MSG_CHECKING(whether to include db)
if test "X$ac_cv_db_where_lib" = "X" -o "X$ac_cv_db_where_inc" = "X"; then
ac_cv_found_db=no
AC_MSG_RESULT(no)
else
ac_cv_found_db=yes
AC_MSG_RESULT(yes)
DB_INC_DIR=$ac_cv_db_where_inc
DB_LIB_DIR=$ac_cv_db_where_lib
DB_INC_FLAGS="-I${DB_INC_DIR}"
if test "$enable_db4" = "yes"; then
DB_LIB_FLAGS="-L${DB_LIB_DIR} -ldb-4"
else
DB_LIB_FLAGS="-L${DB_LIB_DIR} -ldb-3"
fi
AC_SUBST(DB_INC_FLAGS)
AC_SUBST(DB_LIB_FLAGS)
if test "X$RPATH" = "X"; then
RPATH=""
fi
case "${host}" in
*-*-linux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${DB_LIB_DIR}"
else
RPATH="${RPATH}:${DB_LIB_DIR}"
fi
;;
*-*-hpux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,+b${DB_LIB_DIR}"
else
RPATH="${RPATH}:${DB_LIB_DIR}"
fi
;;
*-*-irix*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${DB_LIB_DIR}"
else
RPATH="${RPATH}:${DB_LIB_DIR}"
fi
;;
*-*-solaris2*)
if test "$ac_cv_prog_gcc" = yes; then
if test "X$RPATH" = "X"; then
RPATH="-Wl,-R${DB_LIB_DIR}"
else
RPATH="${RPATH}:${DB_LIB_DIR}"
fi
else
RPATH="${RPATH} -R${DB_LIB_DIR}"
fi
;;
esac
AC_SUBST(RPATH)
fi
])
AC_DEFUN([CYRUS_BERKELEY_DB_CHK_LIB],
[
BDB_SAVE_LDFLAGS=$LDFLAGS
if test -d $with_bdb_lib; then
CMU_ADD_LIBPATH_TO($with_bdb_lib, LDFLAGS)
CMU_ADD_LIBPATH_TO($with_bdb_lib, BDB_LIBADD)
else
BDB_LIBADD=""
fi
saved_LIBS=$LIBS
for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
do
LIBS="$saved_LIBS -l$dbname"
AC_TRY_LINK([ [db_create(NULL, NULL, 0);],
BDB_LIBADD="$BDB_LIBADD -l$dbname"; dblib="berkeley"; dbname=db,
dblib="no")
if test "$dblib" = "berkeley"; then break; fi
done
if test "$dblib" = "no"; then
LIBS="$saved_LIBS -ldb"
AC_TRY_LINK([ [db_open(NULL, 0, 0, 0, NULL, NULL, NULL);],
BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db,
dblib="no")
fi
LIBS=$saved_LIBS
LDFLAGS=$BDB_SAVE_LDFLAGS
])
AC_DEFUN([CYRUS_BERKELEY_DB_OPTS],
[
AC_ARG_WITH(bdb-libdir,
[ --with-bdb-libdir=DIR Berkeley DB lib files are in DIR],
with_bdb_lib=$withval,
[ test "${with_bdb_lib+set}" = set || with_bdb_lib=none])
AC_ARG_WITH(bdb-incdir,
[ --with-bdb-incdir=DIR Berkeley DB include files are in DIR],
with_bdb_inc=$withval,
[ test "${with_bdb_inc+set}" = set || with_bdb_inc=none ])
])
AC_DEFUN([CYRUS_BERKELEY_DB_CHK],
[
AC_REQUIRE([CYRUS_BERKELEY_DB_OPTS])
cmu_save_CPPFLAGS=$CPPFLAGS
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(db.h,
[CYRUS_BERKELEY_DB_CHK_LIB()],
dblib="no")
CPPFLAGS=$cmu_save_CPPFLAGS
])
AC_DEFUN([CMU_TEST_LIBPATH], [
changequote(<<, >>)
define(<<CMU_AC_CV_FOUND>>, translit(ac_cv_found_$2_lib, <<- *>>, <<__p>>))
changequote([, ])
if test "$CMU_AC_CV_FOUND" = "yes"; then
if test \! -r "$1/lib$2.a" -a \! -r "$1/lib$2.so" -a \! -r "$1/lib$2.sl"; then
CMU_AC_CV_FOUND=no
fi
fi
])
AC_DEFUN([CMU_TEST_INCPATH], [
changequote(<<, >>)
define(<<CMU_AC_CV_FOUND>>, translit(ac_cv_found_$2_inc, [ *], [_p]))
changequote([, ])
if test "$CMU_AC_CV_FOUND" = "yes"; then
if test \! -r "$1/$2.h"; then
CMU_AC_CV_FOUND=no
fi
fi
])
AC_DEFUN([CMU_CHECK_HEADER_NOCACHE],
[ac_safe=`echo "$1" | sed 'y%./+-%__p_%'`
AC_MSG_CHECKING([for $1])
AC_TRY_CPP([ eval "ac_cv_header_$ac_safe=no")
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
ifelse([$3], , , [$3
])fi
])
AC_DEFUN([CMU_AFS_INC_WHERE1], [
cmu_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$cmu_save_CPPFLAGS -I$1"
AC_TRY_COMPILE([[choke me
int foo;],
ac_cv_found_afs_inc=yes,
ac_cv_found_afs_inc=no)
CPPFLAGS=$cmu_save_CPPFLAGS
])
AC_DEFUN([CMU_AFS_LIB_WHERE1], [
save_LIBS="$LIBS"
save_LDFLAGS="$LDFLAGS"
LIBS="-lauth $1/afs/util.a $LIB_SOCKET $LIBS"
LDFLAGS="-L$1 -L$1/afs $LDFLAGS"
AC_TRY_LINK([],[afsconf_Open();], ac_cv_found_afs_lib=yes, ac_cv_found_afs_lib=no)
LIBS="$save_LIBS"
LDFLAGS="$save_LDFLAGS"
])
AC_DEFUN([CMU_AFS_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for AFS in $i)
CMU_AFS_INC_WHERE1("$i/include")
ac_cv_found_lwp_inc=$ac_cv_found_afs_inc
CMU_TEST_INCPATH($i/include, lwp)
ac_cv_found_afs_inc=$ac_cv_found_lwp_inc
if test "$ac_cv_found_afs_inc" = "yes"; then
CMU_AFS_LIB_WHERE1("$i/lib")
if test "$ac_cv_found_afs_lib" = "yes"; then
ac_cv_afs_where=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_AFS], [
AC_REQUIRE([CMU_SOCKETS])
AC_REQUIRE([CMU_LIBSSL])
AC_ARG_WITH(AFS,
[ --with-afs=PREFIX Compile with AFS support],
[if test "X$with_AFS" = "X"; then
with_AFS=yes
fi])
if test "X$with_AFS" != "X"; then
ac_cv_afs_where=$with_AFS
fi
if test "X$ac_cv_afs_where" = "X"; then
CMU_AFS_WHERE(/usr/afsws /usr/local /usr/athena /Library/OpenAFS/Tools)
fi
AC_MSG_CHECKING(whether to include AFS)
if test "X$ac_cv_afs_where" = "Xno" -o "X$ac_cv_afs_where" = "X"; then
ac_cv_found_afs=no
AC_MSG_RESULT(no)
else
ac_cv_found_afs=yes
AC_MSG_RESULT(yes)
AFS_INC_DIR="$ac_cv_afs_where/include"
AFS_LIB_DIR="$ac_cv_afs_where/lib"
AFS_TOP_DIR="$ac_cv_afs_where"
AFS_INC_FLAGS="-I${AFS_INC_DIR}"
AFS_LIB_FLAGS="-L${AFS_LIB_DIR} -L${AFS_LIB_DIR}/afs"
cmu_save_LIBS="$LIBS"
cmu_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS ${AFS_INC_FLAGS}"
cmu_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$cmu_save_LDFLAGS ${AFS_LIB_FLAGS}"
AC_CHECK_HEADERS(afs/stds.h)
AC_MSG_CHECKING([if libdes is needed])
AC_TRY_LINK([],[des_quad_cksum();],AFS_DES_LIB="",AFS_DES_LIB="maybe")
if test "X$AFS_DES_LIB" != "X"; then
LIBS="$cmu_save_LIBS -ldes"
AC_TRY_LINK([], [des_quad_cksum();],AFS_DES_LIB="yes")
if test "X$AFS_DES_LIB" = "Xyes"; then
AC_MSG_RESULT([yes])
AFS_LIBDES="-ldes"
AFS_LIBDESA="${AFS_LIB_DIR}/libdes.a"
else
LIBS="$cmu_save_LIBS $LIBSSL_LIB_FLAGS"
AC_TRY_LINK([],
[des_quad_cksum();],AFS_DES_LIB="libcrypto")
if test "X$AFS_DES_LIB" = "Xlibcrypto"; then
AC_MSG_RESULT([libcrypto])
AFS_LIBDES="$LIBSSL_LIB_FLAGS"
AFS_LIBDESA="$LIBSSL_LIB_FLAGS"
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([Could not use -ldes])
fi
fi
else
AC_MSG_RESULT([no])
fi
AFS_CLIENT_LIBS_STATIC="${AFS_LIB_DIR}/afs/libvolser.a ${AFS_LIB_DIR}/afs/libvldb.a ${AFS_LIB_DIR}/afs/libkauth.a ${AFS_LIB_DIR}/afs/libprot.a ${AFS_LIB_DIR}/libubik.a ${AFS_LIB_DIR}/afs/libauth.a ${AFS_LIB_DIR}/librxkad.a ${AFS_LIB_DIR}/librx.a ${AFS_LIB_DIR}/afs/libsys.a ${AFS_LIB_DIR}/librx.a ${AFS_LIB_DIR}/liblwp.a ${AFS_LIBDESA} ${AFS_LIB_DIR}/afs/libcmd.a ${AFS_LIB_DIR}/afs/libcom_err.a ${AFS_LIB_DIR}/afs/util.a"
AFS_KTC_LIBS_STATIC="${AFS_LIB_DIR}/afs/libauth.a ${AFS_LIB_DIR}/afs/libsys.a ${AFS_LIB_DIR}/librx.a ${AFS_LIB_DIR}/liblwp.a ${AFS_LIBDESA} ${AFS_LIB_DIR}/afs/libcom_err.a ${AFS_LIB_DIR}/afs/util.a"
AFS_CLIENT_LIBS="-lvolser -lvldb -lkauth -lprot -lubik -lauth -lrxkad -lrx ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcmd -lcom_err ${AFS_LIB_DIR}/afs/util.a"
AFS_RX_LIBS="-lauth -lrxkad -lrx ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcmd -lcom_err ${AFS_LIB_DIR}/afs/util.a"
AFS_KTC_LIBS="-lauth ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcom_err ${AFS_LIB_DIR}/afs/util.a"
LIBS="$cmu_save_LIBS $AFS_CLIENT_LIBS ${LIB_SOCKET}"
AC_CHECK_FUNC(des_pcbc_init)
if test "X$ac_cv_func_des_pcbc_init" != "Xyes"; then
AC_CHECK_LIB(descompat, des_pcbc_init, AFS_DESCOMPAT_LIB="-ldescompat")
if test "X$AFS_DESCOMPAT_LIB" != "X" ; then
AFS_CLIENT_LIBS_STATIC="$AFS_CLIENT_LIBS_STATIC $AFS_DESCOMPAT_LIB"
AFS_KTC_LIBS_STATIC="$AFS_KTC_LIBS_STATIC $AFS_DESCOMPAT_LIB"
AFS_CLIENT_LIBS="$AFS_CLIENT_LIBS $AFS_DESCOMPAT_LIB"
AFS_KTC_LIBS="$AFS_KTC_LIBS $AFS_DESCOMPAT_LIB"
else
AC_MSG_CHECKING([if rxkad needs des_pcbc_init])
AC_TRY_LINK(,[tkt_DecodeTicket();],RXKAD_PROBLEM=no,RXKAD_PROBLEM=maybe)
if test "$RXKAD_PROBLEM" = "maybe"; then
AC_TRY_LINK([int des_pcbc_init() { return 0;}],
[tkt_DecodeTicket();],RXKAD_PROBLEM=yes,RXKAD_PROBLEM=error)
if test "$RXKAD_PROBLEM" = "yes"; then
AC_MSG_RESULT([yes])
AC_MSG_ERROR([cannot use rxkad])
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([Unknown error testing rxkad])
fi
else
AC_MSG_RESULT([no])
fi
fi
fi
LIBS="$cmu_save_LIBS"
AC_CHECK_FUNC(flock)
LIBS="$cmu_save_LIBS ${AFS_CLIENT_LIBS} ${LIB_SOCKET}"
if test "X$ac_cv_func_flock" != "Xyes"; then
AC_MSG_CHECKING([if AFS needs flock])
AC_TRY_LINK([#include <afs/param.h>
#ifdef HAVE_AFS_STDS_H
#include <afs/stds.h>
#endif
#include <ubik.h>
#include <afs/cellconfig.h>
#include <afs/auth.h>
#include <afs/volser.h>
struct ubik_client * cstruct;
int sigvec() {return 0;}
extern int UV_SetSecurity();],
[vsu_ClientInit(1,"","",0,
&cstruct,UV_SetSecurity)],
AFS_FLOCK=no,AFS_FLOCK=yes)
if test $AFS_FLOCK = "no"; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
LDFLAGS="$LDFLAGS -L/usr/ucblib"
AC_CHECK_LIB(ucb, flock,:, [AC_CHECK_LIB(BSD, flock)])
fi
fi
LIBS="$cmu_save_LIBS"
AC_CHECK_FUNC(sigvec)
LIBS="$cmu_save_LIBS ${AFS_CLIENT_LIBS} ${LIB_SOCKET}"
if test "X$ac_cv_func_sigvec" != "Xyes"; then
AC_MSG_CHECKING([if AFS needs sigvec])
AC_TRY_LINK([#include <afs/param.h>
#ifdef HAVE_AFS_STDS_H
#include <afs/stds.h>
#endif
#include <ubik.h>
#include <afs/cellconfig.h>
#include <afs/auth.h>
#include <afs/volser.h>
struct ubik_client * cstruct;
int flock() {return 0;}
extern int UV_SetSecurity();],
[vsu_ClientInit(1,"","",0,
&cstruct,UV_SetSecurity)],
AFS_SIGVEC=no,AFS_SIGVEC=yes)
if test $AFS_SIGVEC = "no"; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
LDFLAGS="$LDFLAGS -L/usr/ucblib"
AC_CHECK_LIB(ucb, sigvec,:,[AC_CHECK_LIB(BSD, sigvec)])
fi
fi
if test "$ac_cv_lib_ucb_flock" = "yes" -o "$ac_cv_lib_ucb_sigvec" = "yes"; then
AFS_LIB_FLAGS="${AFS_LIB_FLAGS} -L/usr/ucblib -R/usr/ucblib"
fi
if test "$ac_cv_lib_ucb_flock" = "yes" -o "$ac_cv_lib_ucb_sigvec" = "yes"; then
AFS_BSD_LIB="-lucb"
elif test "$ac_cv_lib_BSD_flock" = "yes" -o "$ac_cv_lib_BSD_sigvec" = "yes"; then
AFS_BSD_LIB="-lBSD"
fi
if test "X$AFS_BSD_LIB" != "X" ; then
AFS_CLIENT_LIBS_STATIC="$AFS_CLIENT_LIBS_STATIC $AFS_BSD_LIB"
AFS_KTC_LIBS_STATIC="$AFS_KTC_LIBS_STATIC $AFS_BSD_LIB"
AFS_CLIENT_LIBS="$AFS_CLIENT_LIBS $AFS_BSD_LIB"
AFS_RX_LIBS="$AFS_CLIENT_LIBS $AFS_BSD_LIB"
AFS_KTC_LIBS="$AFS_KTC_LIBS $AFS_BSD_LIB"
fi
AC_MSG_CHECKING([if libaudit is needed])
AFS_LIBAUDIT=""
LIBS="$cmu_save_LIBS $AFS_CLIENT_LIBS ${LIB_SOCKET}"
AC_TRY_LINK([#include <afs/param.h>
#ifdef HAVE_AFS_STDS_H
#include <afs/stds.h>
#endif
#include <afs/cellconfig.h>
#include <afs/auth.h>],
[afsconf_SuperUser();],AFS_AUDIT_LIB="",AFS_AUDIT_LIB="maybe")
if test "X$AFS_AUDIT_LIB" != "X"; then
LIBS="$cmu_save_LIBS -lvolser -lvldb -lkauth -lprot -lubik -lauth -laudit -lrxkad -lrx ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcmd -lcom_err ${AFS_LIB_DIR}/afs/util.a $AFS_BSD_LIB $AFS_DESCOMPAT_LIB $LIB_SOCKET"
AC_TRY_LINK([#include <afs/param.h>
#ifdef HAVE_AFS_STDS_H
#include <afs/stds.h>
#endif
#include <afs/cellconfig.h>
#include <afs/auth.h>],
[afsconf_SuperUser();],AFS_AUDIT_LIB="yes")
if test "X$AFS_AUDIT_LIB" = "Xyes"; then
AC_MSG_RESULT([yes])
AFS_LIBAUDIT="-laudit"
AFS_CLIENT_LIBS_STATIC="${AFS_LIB_DIR}/afs/libvolser.a ${AFS_LIB_DIR}/afs/libvldb.a ${AFS_LIB_DIR}/afs/libkauth.a ${AFS_LIB_DIR}/afs/libprot.a ${AFS_LIB_DIR}/libubik.a ${AFS_LIB_DIR}/afs/libauth.a ${AFS_LIB_DIR}/afs/libaudit.a ${AFS_LIB_DIR}/librxkad.a ${AFS_LIB_DIR}/librx.a ${AFS_LIB_DIR}/afs/libsys.a ${AFS_LIB_DIR}/librx.a ${AFS_LIB_DIR}/liblwp.a ${AFS_LIBDESA} ${AFS_LIB_DIR}/afs/libcmd.a ${AFS_LIB_DIR}/afs/libcom_err.a ${AFS_LIB_DIR}/afs/util.a"
AFS_CLIENT_LIBS="-lvolser -lvldb -lkauth -lprot -lubik -lauth -laudit -lrxkad -lrx ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcmd -lcom_err ${AFS_LIB_DIR}/afs/util.a $AFS_BSD_LIB $AFS_DESCOMPAT_LIB"
AFS_RX_LIBS="-lauth -laudit -lrxkad -lrx ${AFS_LIB_DIR}/afs/libsys.a -lrx -llwp ${AFS_LIBDES} -lcmd -lcom_err ${AFS_LIB_DIR}/afs/util.a $AFS_BSD_LIB $AFS_DESCOMPAT_LIB"
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([Could not use -lauth while testing for -laudit])
fi
else
AC_MSG_RESULT([no])
fi
AC_CHECK_FUNCS(VL_ProbeServer)
AC_MSG_CHECKING([if new-style afs_ integer types are defined])
AC_CACHE_VAL(ac_cv_afs_int32,
dnl The next few lines contain a quoted argument to egrep
dnl It is critical that there be no leading or trailing whitespace
dnl or newlines
[AC_EGREP_CPP(dnl
changequote(<<,>>)dnl
<<(^|[^a-zA-Z_0-9])afs_int32[^a-zA-Z_0-9]>>dnl
changequote([,]), [#include <afs/param.h>
#ifdef HAVE_AFS_STDS_H
#include <afs/stds.h>
#endif],
ac_cv_afs_int32=yes, ac_cv_afs_int32=no)])
AC_MSG_RESULT($ac_cv_afs_int32)
if test $ac_cv_afs_int32 = yes ; then
AC_DEFINE(HAVE_AFS_INT32,, [AFS provides new "unambiguous" type names])
else
AC_DEFINE(afs_int16, int16, [it's a type definition])
AC_DEFINE(afs_int32, int32, [it's a type definition])
AC_DEFINE(afs_uint16, u_int16, [it's a type definition])
AC_DEFINE(afs_uint32, u_int32, [it's a type definition])
fi
CPPFLAGS="${cmu_save_CPPFLAGS}"
LDFLAGS="${cmu_save_LDFLAGS}"
LIBS="${cmu_save_LIBS}"
AC_DEFINE(AFS_ENV,, [Use AFS. (find what needs this and nuke it)])
AC_DEFINE(AFS,, [Use AFS. (find what needs this and nuke it)])
AC_SUBST(AFS_CLIENT_LIBS_STATIC)
AC_SUBST(AFS_KTC_LIBS_STATIC)
AC_SUBST(AFS_CLIENT_LIBS)
AC_SUBST(AFS_RX_LIBS)
AC_SUBST(AFS_KTC_LIBS)
AC_SUBST(AFS_INC_FLAGS)
AC_SUBST(AFS_LIB_FLAGS)
AC_SUBST(AFS_TOP_DIR)
AC_SUBST(AFS_LIBAUDIT)
AC_SUBST(AFS_LIBDES)
AC_SUBST(AFS_LIBDESA)
fi
])
AC_DEFUN([CMU_NEEDS_AFS],
[AC_REQUIRE([CMU_AFS])
if test "$ac_cv_found_afs" != "yes"; then
AC_ERROR([Cannot continue without AFS])
fi])
AC_DEFUN([CMU_LIBSSL_INC_WHERE1], [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$saved_CPPFLAGS -I$1"
CMU_CHECK_HEADER_NOCACHE(openssl/ssl.h,
ac_cv_found_libssl_inc=yes,
ac_cv_found_libssl_inc=no)
CPPFLAGS=$saved_CPPFLAGS
])
AC_DEFUN([CMU_LIBSSL_INC_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for libssl headers in $i)
CMU_LIBSSL_INC_WHERE1($i)
CMU_TEST_INCPATH($i, ssl)
if test "$ac_cv_found_libssl_inc" = "yes"; then
ac_cv_libssl_where_inc=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_LIBSSL_LIB_WHERE1], [
saved_LIBS=$LIBS
LIBS="$saved_LIBS -L$1 -lssl -lcrypto $LIB_SOCKET"
AC_TRY_LINK(,
[SSL_write();],
[ac_cv_found_ssl_lib=yes],
ac_cv_found_ssl_lib=no)
LIBS=$saved_LIBS
])
AC_DEFUN([CMU_LIBSSL_LIB_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for libssl libraries in $i)
CMU_LIBSSL_LIB_WHERE1($i)
CMU_TEST_LIBPATH($i, ssl)
if test "$ac_cv_found_ssl_lib" = "yes" ; then
ac_cv_libssl_where_lib=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_LIBSSL], [
AC_REQUIRE([CMU_SOCKETS])
AC_ARG_WITH(libssl,
[ --with-libssl=PREFIX Compile with Libssl support],
[if test "X$with_libssl" = "X"; then
with_libssl=yes
fi])
AC_ARG_WITH(libssl-lib,
[ --with-libssl-lib=dir use libssl libraries in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-libssl-lib])
fi])
AC_ARG_WITH(libssl-include,
[ --with-libssl-include=dir use libssl headers in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-libssl-include])
fi])
if test "X$with_libssl" != "X"; then
if test "$with_libssl" != "yes" -a "$with_libssl" != no; then
ac_cv_libssl_where_lib=$with_libssl/lib
ac_cv_libssl_where_inc=$with_libssl/include
fi
fi
if test "$with_libssl" != "no"; then
if test "X$with_libssl_lib" != "X"; then
ac_cv_libssl_where_lib=$with_libssl_lib
fi
if test "X$ac_cv_libssl_where_lib" = "X"; then
CMU_LIBSSL_LIB_WHERE(/usr/local/lib/openssl /usr/lib/openssl /usr/local/lib /usr/lib)
fi
if test "X$with_libssl_include" != "X"; then
ac_cv_libssl_where_inc=$with_libssl_include
fi
if test "X$ac_cv_libssl_where_inc" = "X"; then
CMU_LIBSSL_INC_WHERE(/usr/local/include /usr/include)
fi
fi
AC_MSG_CHECKING(whether to include libssl)
if test "X$ac_cv_libssl_where_lib" = "X" -a "X$ac_cv_libssl_where_inc" = "X"; then
ac_cv_found_libssl=no
AC_MSG_RESULT(no)
else
ac_cv_found_libssl=yes
AC_MSG_RESULT(yes)
LIBSSL_INC_DIR=$ac_cv_libssl_where_inc
LIBSSL_LIB_DIR=$ac_cv_libssl_where_lib
LIBSSL_INC_FLAGS="-I${LIBSSL_INC_DIR}"
LIBSSL_LIB_FLAGS="-L${LIBSSL_LIB_DIR} -lssl -lcrypto"
if test "X$RPATH" = "X"; then
RPATH=""
fi
case "${host}" in
*-*-linux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${LIBSSL_LIB_DIR}"
else
RPATH="${RPATH}:${LIBSSL_LIB_DIR}"
fi
;;
*-*-hpux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,+b${LIBSSL_LIB_DIR}"
else
RPATH="${RPATH}:${LIBSSL_LIB_DIR}"
fi
;;
*-*-irix*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${LIBSSL_LIB_DIR}"
else
RPATH="${RPATH}:${LIBSSL_LIB_DIR}"
fi
;;
*-*-solaris2*)
if test "$ac_cv_prog_gcc" = yes; then
if test "X$RPATH" = "X"; then
RPATH="-Wl,-R${LIBSSL_LIB_DIR}"
else
RPATH="${RPATH}:${LIBSSL_LIB_DIR}"
fi
else
RPATH="${RPATH} -R${LIBSSL_LIB_DIR}"
fi
;;
esac
AC_SUBST(RPATH)
fi
AC_SUBST(LIBSSL_INC_DIR)
AC_SUBST(LIBSSL_LIB_DIR)
AC_SUBST(LIBSSL_INC_FLAGS)
AC_SUBST(LIBSSL_LIB_FLAGS)
])
AC_DEFUN([CMU_KRB_SENDAUTH_PROTO], [
AC_MSG_CHECKING(for krb_sendauth prototype)
AC_TRY_COMPILE(
[int krb_sendauth (long options, int fd, KTEXT ktext, char *service,
char *inst, char *realm, u_long checksum,
MSG_DAT *msg_data, CREDENTIALS *cred,
Key_schedule schedule, struct sockaddr_in *laddr,
struct sockaddr_in *faddr, char *version);],
[int foo = krb_sendauth(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); ],
ac_cv_krb_sendauth_proto=no,
ac_cv_krb_sendauth_proto=yes)
AC_MSG_RESULT($ac_cv_krb_sendauth_proto)
if test "$ac_cv_krb_sendauth_proto" = yes; then
AC_DEFINE(HAVE_KRB_SENDAUTH_PROTO)fi
AC_MSG_RESULT($ac_cv_krb_sendauth_proto)
])
AC_DEFUN([CMU_KRB_SET_KEY_PROTO], [
AC_MSG_CHECKING(for krb_set_key prototype)
AC_CACHE_VAL(ac_cv_krb_set_key_proto, [
cmu_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} ${KRB_INC_FLAGS}"
AC_TRY_COMPILE(
[int krb_set_key(char *key, int cvt);],
[int foo = krb_set_key(0, 0);],
ac_cv_krb_set_key_proto=no,
ac_cv_krb_set_key_proto=yes)
])
CPPFLAGS="${cmu_save_CPPFLAGS}"
if test "$ac_cv_krb_set_key_proto" = yes; then
AC_DEFINE(HAVE_KRB_SET_KEY_PROTO)fi
AC_MSG_RESULT($ac_cv_krb_set_key_proto)
])
AC_DEFUN([CMU_KRB4_32_DEFN], [
AC_MSG_CHECKING(for KRB4_32 definition)
AC_CACHE_VAL(ac_cv_krb4_32_defn, [
cmu_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} ${KRB_INC_FLAGS}"
AC_TRY_COMPILE(
[],
[KRB4_32 foo = 1;],
ac_cv_krb4_32_defn=yes,
ac_cv_krb4_32_defn=no)
])
CPPFLAGS="${cmu_save_CPPFLAGS}"
if test "$ac_cv_krb4_32_defn" = yes; then
AC_DEFINE(HAVE_KRB4_32_DEFINE)fi
AC_MSG_RESULT($ac_cv_krb4_32_defn)
])
AC_DEFUN([CMU_KRB_RD_REQ_PROTO], [
AC_MSG_CHECKING(for krb_rd_req prototype)
AC_CACHE_VAL(ac_cv_krb_rd_req_proto, [
cmu_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} ${KRB_INC_FLAGS}"
AC_TRY_COMPILE(
[int krb_rd_req(KTEXT authent, char *service, char *instance,
unsigned KRB_INT32 from_addr, AUTH_DAT *ad, char *fn);],
[int foo = krb_rd_req(0,0,0,0,0,0);],
ac_cv_krb_rd_req_proto=no,
ac_cv_krb_rd_req_proto=yes)
])
CPPFLAGS="${cmu_save_CPPFLAGS}"
if test "$ac_cv_krb_rd_req_proto" = yes; then
AC_DEFINE(HAVE_KRB_RD_REQ_PROTO)fi
AC_MSG_RESULT($ac_cv_krb_rd_req_proto)
])
AC_DEFUN([CMU_KRB_INC_WHERE1], [
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$saved_CPPFLAGS -I$1"
AC_TRY_COMPILE([[struct ktext foo;],
ac_cv_found_krb_inc=yes,
ac_cv_found_krb_inc=no)
if test "$ac_cv_found_krb_inc" = "no"; then
CPPFLAGS="$saved_CPPFLAGS -I$1 -I$1/kerberosIV"
AC_TRY_COMPILE([ [struct ktext foo;],
[ac_cv_found_krb_inc=yes],
ac_cv_found_krb_inc=no)
fi
CPPFLAGS=$saved_CPPFLAGS
])
AC_DEFUN([CMU_KRB_INC_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for kerberos headers in $i)
CMU_KRB_INC_WHERE1($i)
CMU_TEST_INCPATH($i, krb)
if test "$ac_cv_found_krb_inc" = "yes"; then
ac_cv_krb_where_inc=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_KRB_LIB_WHERE1], [
saved_LIBS=$LIBS
LIBS="$saved_LIBS -L$1 -lkrb ${KRB_LIBDES}"
AC_TRY_LINK(,
[dest_tkt();],
[ac_cv_found_krb_lib=yes],
ac_cv_found_krb_lib=no)
LIBS=$saved_LIBS
])
AC_DEFUN([CMU_KRB_LIB_WHERE], [
for i in $1; do
AC_MSG_CHECKING(for kerberos libraries in $i)
CMU_KRB_LIB_WHERE1($i)
CMU_TEST_LIBPATH($i, krb)
if test "$ac_cv_found_krb_lib" = "yes" ; then
ac_cv_krb_where_lib=$i
AC_MSG_RESULT(found)
break
else
AC_MSG_RESULT(not found)
fi
done
])
AC_DEFUN([CMU_KRB4], [
AC_REQUIRE([CMU_SOCKETS])
AC_REQUIRE([CMU_LIBSSL])
AC_ARG_WITH(krb4,
[ --with-krb4=PREFIX Compile with Kerberos 4 support],
[if test "X$with_krb4" = "X"; then
with_krb4=yes
fi])
AC_ARG_WITH(krb4-lib,
[ --with-krb4-lib=dir use kerberos 4 libraries in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-krb4-lib])
fi])
AC_ARG_WITH(krb4-include,
[ --with-krb4-include=dir use kerberos 4 headers in dir],
[if test "$withval" = "yes" -o "$withval" = "no"; then
AC_MSG_ERROR([No argument for --with-krb4-include])
fi])
if test "X$with_krb4" != "X"; then
if test "$with_krb4" != "yes" -a "$with_krb4" != "no"; then
ac_cv_krb_where_lib=$with_krb4/lib
ac_cv_krb_where_inc=$with_krb4/include
fi
fi
if test "$with_krb4" != "no"; then
if test "X$with_krb4_lib" != "X"; then
ac_cv_krb_where_lib=$with_krb4_lib
fi
if test "X$with_krb4_include" != "X"; then
ac_cv_krb_where_inc=$with_krb4_include
fi
if test "X$ac_cv_krb_where_inc" = "X"; then
CMU_KRB_INC_WHERE(/usr/athena/include /usr/include/kerberosIV /usr/local/include /usr/include/kerberos)
fi
AC_MSG_CHECKING([if libdes is needed])
AC_TRY_LINK([],[des_quad_cksum();],KRB_DES_LIB="",KRB_DES_LIB="maybe")
if test "X$KRB_DES_LIB" != "X"; then
LIBS="$cmu_save_LIBS -ldes"
AC_TRY_LINK([], [des_quad_cksum();],KRB_DES_LIB="yes")
if test "X$KRB_DES_LIB" = "Xyes"; then
AC_MSG_RESULT([yes])
KRB_LIBDES="-ldes"
KRB_LIBDESA='$(KRB_LIB_DIR)/libdes.a'
else
LIBS="$cmu_save_LIBS $LIBSSL_LIB_FLAGS"
AC_TRY_LINK([],
[des_quad_cksum();],KRB_DES_LIB="libcrypto")
if test "X$KRB_DES_LIB" = "Xlibcrypto"; then
AC_MSG_RESULT([libcrypto])
KRB_LIBDES="$LIBSSL_LIB_FLAGS"
KRB_LIBDESA="$LIBSSL_LIB_FLAGS"
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([Could not use -ldes])
fi
fi
else
AC_MSG_RESULT([no])
fi
if test "X$ac_cv_krb_where_lib" = "X"; then
CMU_KRB_LIB_WHERE(/usr/athena/lib /usr/local/lib /usr/lib)
fi
fi
LIBS="${cmu_save_LIBS}"
AC_MSG_CHECKING([whether to include kerberos 4])
if test "X$ac_cv_krb_where_lib" = "X" -o "X$ac_cv_krb_where_inc" = "X"; then
ac_cv_found_krb=no
AC_MSG_RESULT(no)
else
ac_cv_found_krb=yes
AC_MSG_RESULT(yes)
KRB_INC_DIR=$ac_cv_krb_where_inc
KRB_LIB_DIR=$ac_cv_krb_where_lib
KRB_INC_FLAGS="-I${KRB_INC_DIR}"
KRB_LIB_FLAGS="-L${KRB_LIB_DIR} -lkrb ${KRB_LIBDES}"
LIBS="${cmu_save_LIBS} ${KRB_LIB_FLAGS}"
AC_CHECK_LIB(resolv, dns_lookup, KRB_LIB_FLAGS="${KRB_LIB_FLAGS} -lresolv",,"${KRB_LIB_FLAGS}")
AC_CHECK_LIB(crypt, crypt, KRB_LIB_FLAGS="${KRB_LIB_FLAGS} -lcrypt",,"${KRB_LIB_FLAGS}")
LIBS="${LIBS} ${KRB_LIB_FLAGS}"
AC_CHECK_FUNCS(krb_get_int krb_life_to_time)
AC_SUBST(KRB_INC_FLAGS)
AC_SUBST(KRB_LIB_FLAGS)
LIBS="${cmu_save_LIBS}"
AC_DEFINE(KERBEROS,,[Use kerberos 4. find out what needs this symbol])
if test "X$RPATH" = "X"; then
RPATH=""
fi
case "${host}" in
*-*-linux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${KRB_LIB_DIR}"
else
RPATH="${RPATH}:${KRB_LIB_DIR}"
fi
;;
*-*-hpux*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,+b${KRB_LIB_DIR}"
else
RPATH="${RPATH}:${KRB_LIB_DIR}"
fi
;;
*-*-irix*)
if test "X$RPATH" = "X"; then
RPATH="-Wl,-rpath,${KRB_LIB_DIR}"
else
RPATH="${RPATH}:${KRB_LIB_DIR}"
fi
;;
*-*-solaris2*)
if test "$ac_cv_prog_gcc" = yes; then
if test "X$RPATH" = "X"; then
RPATH="-Wl,-R${KRB_LIB_DIR}"
else
RPATH="${RPATH}:${KRB_LIB_DIR}"
fi
else
RPATH="${RPATH} -R${KRB_LIB_DIR}"
fi
;;
esac
AC_SUBST(RPATH)
fi
])
dnl sasl2.m4--sasl2 libraries and includes
dnl Rob Siemborski
dnl $Id: sasl2.m4,v 1.48 2004/09/13 21:06:34 shadow Exp $
AC_DEFUN([SASL_GSSAPI_CHK],[
AC_ARG_ENABLE(gssapi, [ --enable-gssapi=<DIR> enable GSSAPI authentication [yes] ],
gssapi=$enableval,
gssapi=yes)
AC_ARG_WITH(gss_impl, [ --with-gss_impl={heimdal|mit|cybersafe|seam|auto} choose specific GSSAPI implementation [[auto]] ],
gss_impl=$withval,
gss_impl=auto)
AC_REQUIRE([SASL2_CRYPT_CHK])
AC_REQUIRE([CMU_SOCKETS])
if test "$gssapi" != no; then
platform=
case "${host}" in
*-*-linux*)
platform=__linux
;;
*-*-hpux*)
platform=__hpux
;;
*-*-irix*)
platform=__irix
;;
*-*-solaris2*)
# When should we use __sunos?
platform=__solaris
;;
*-*-aix*)
platform=__aix
;;
*)
AC_WARN([The system type is not recognized. If you believe that CyberSafe GSSAPI works on this platform, please update the configure script])
if test "$gss_impl" = "cybersafe"; then
AC_ERROR([CyberSafe was forced, cannot continue as platform is not supported])
fi
;;
esac
cmu_saved_CPPFLAGS=$CPPFLAGS
if test -d ${gssapi}; then
CPPFLAGS="$CPPFLAGS -I$gssapi/include"
# We want to keep -I in our CPPFLAGS, but only if we succeed
cmu_saved_CPPFLAGS=$CPPFLAGS
LDFLAGS="$LDFLAGS -L$gssapi/lib"
if test -n "$platform"; then
if test "$gss_impl" = "auto" -o "$gss_impl" = "cybersafe"; then
CPPFLAGS="$CPPFLAGS -D$platform"
if test -d "${gssapi}/appsec-sdk/include"; then
CPPFLAGS="$CPPFLAGS -I${gssapi}/appsec-sdk/include"
fi
fi
fi
fi
AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H,,[Define if you have the gssapi.h header file]), [
AC_CHECK_HEADER(gssapi/gssapi.h,, AC_WARN(Disabling GSSAPI - no include files found); gssapi=no)])
CPPFLAGS=$cmu_saved_CPPFLAGS
fi
if test "$gssapi" != no; then
dnl We need to find out which gssapi implementation we are
dnl using. Supported alternatives are: MIT Kerberos 5,
dnl Heimdal Kerberos 5 (http://www.pdc.kth.se/heimdal),
dnl CyberSafe Kerberos 5 (http://www.cybersafe.com/)
dnl and Sun SEAM (http://wwws.sun.com/software/security/kerberos/)
dnl
dnl The choice is reflected in GSSAPIBASE_LIBS
AC_CHECK_LIB(resolv,res_search)
if test -d ${gssapi}; then
gssapi_dir="${gssapi}/lib"
GSSAPIBASE_LIBS="-L$gssapi_dir"
GSSAPIBASE_STATIC_LIBS="-L$gssapi_dir"
else
dnl FIXME: This is only used for building cyrus, and then only as
dnl a real hack. it needs to be fixed.
gssapi_dir="/usr/local/lib"
fi
# Check a full link against the Heimdal libraries.
# If this fails, check a full link against the MIT libraries.
# If this fails, check a full link against the CyberSafe libraries.
# If this fails, check a full link against the Solaris 8 and up libgss.
if test "$gss_impl" = "auto" -o "$gss_impl" = "heimdal"; then
gss_failed=0
AC_CHECK_LIB(gssapi,gss_unwrap,gss_impl="heimdal",gss_failed=1,$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET})
if test "$gss_impl" != "auto" -a "$gss_failed" = "1"; then
gss_impl="failed"
fi
fi
if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then
gss_failed=0
AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1,$GSSAPIBASE_LIBS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${LIB_SOCKET})
if test "$gss_impl" != "auto" -a "$gss_failed" = "1"; then
gss_impl="failed"
fi
fi
# For Cybersafe one has to set a platform define in order to make compilation work
if test "$gss_impl" = "auto" -o "$gss_impl" = "cybersafe"; then
cmu_saved_CPPFLAGS=$CPPFLAGS
cmu_saved_GSSAPIBASE_LIBS=$GSSAPIBASE_LIBS
# FIX ME - Note that the libraries are in .../lib/64 for 64bit kernels
if test -d "${gssapi}/appsec-rt/lib"; then
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -L${gssapi}/appsec-rt/lib"
fi
CPPFLAGS="$CPPFLAGS -D$platform"
if test -d "${gssapi}/appsec-sdk/include"; then
CPPFLAGS="$CPPFLAGS -I${gssapi}/appsec-sdk/include"
fi
gss_failed=0
# Check for CyberSafe with two libraries first, than fall back to a single
# library (older CyberSafe)
unset ac_cv_lib_gss_csf_gss_acq_user
AC_CHECK_LIB(gss,csf_gss_acq_user,gss_impl="cybersafe03",[
unset ac_cv_lib_gss_csf_gss_acq_user;AC_CHECK_LIB(gss,csf_gss_acq_user,gss_impl="cybersafe",gss_failed=1,$GSSAPIBASE_LIBS -lgss)],$GSSAPIBASE_LIBS -lgss -lcstbk5)
if test "$gss_failed" = "1"; then
# Restore variables
GSSAPIBASE_LIBS=$cmu_saved_GSSAPIBASE_LIBS
CPPFLAGS=$cmu_saved_CPPFLAGS
if test "$gss_impl" != "auto"; then
gss_impl="failed"
fi
fi
fi
if test "$gss_impl" = "auto" -o "$gss_impl" = "seam"; then
gss_failed=0
AC_CHECK_LIB(gss,gss_unwrap,gss_impl="seam",gss_failed=1,-lgss)
if test "$gss_impl" != "auto" -a "$gss_failed" = "1"; then
gss_impl="failed"
fi
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
CPPFLAGS="$CPPFLAGS -DKRB5_HEIMDAL"
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err"
GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_STATIC_LIBS $gssapi_dir/libgssapi.a $gssapi_dir/libkrb5.a $gssapi_dir/libasn1.a $gssapi_dir/libroken.a $gssapi_dir/libcom_err.a ${LIB_CRYPT}"
elif test "$gss_impl" = "cybersafe03"; then
# Version of CyberSafe with two libraries
CPPFLAGS="$CPPFLAGS -D$platform -I${gssapi}/appsec-sdk/include"
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgss -lcstbk5"
# there is no static libgss for CyberSafe
GSSAPIBASE_STATIC_LIBS=none
elif test "$gss_impl" = "cybersafe"; then
CPPFLAGS="$CPPFLAGS -D$platform -I${gssapi}/appsec-sdk/include"
GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgss"
# there is no static libgss for CyberSafe
GSSAPIBASE_STATIC_LIBS=none
elif test "$gss_impl" = "seam"; then
GSSAPIBASE_LIBS=-lgss
# there is no static libgss on Solaris 8 and up
GSSAPIBASE_STATIC_LIBS=none
elif test "$gss_impl" = "failed"; then
gssapi="no"
GSSAPIBASE_LIBS=
GSSAPIBASE_STATIC_LIBS=
AC_WARN(Disabling GSSAPI - specified library not found)
else
gssapi="no"
GSSAPIBASE_LIBS=
GSSAPIBASE_STATIC_LIBS=
AC_WARN(Disabling GSSAPI - no library)
fi
fi
#
# Cybersafe defines both GSS_C_NT_HOSTBASED_SERVICE and GSS_C_NT_USER_NAME in gssapi\rfckrb5.h
#
if test "$gssapi" != "no"; then
if test "$gss_impl" = "cybersafe" -o "$gss_impl" = "cybersafe03"; then
AC_EGREP_CPP(hostbased_service_gss_nt_yes,
[#include <gssapi/gssapi.h>
#ifdef GSS_C_NT_HOSTBASED_SERVICE
hostbased_service_gss_nt_yes
#endif
], AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE,,[Define if your GSSAPI implimentation defines GSS_C_NT_HOSTBASED_SERVICE]), AC_WARN(Cybersafe define not found))
elif 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,,[Define if your GSSAPI implimentation defines 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,,[Define if your GSSAPI implimentation defines GSS_C_NT_HOSTBASED_SERVICE]))
fi
if test "$gss_impl" = "cybersafe" -o "$gss_impl" = "cybersafe03"; then
AC_EGREP_CPP(user_name_yes_gss_nt,
[#include <gssapi/gssapi.h>
#ifdef GSS_C_NT_USER_NAME
user_name_yes_gss_nt
#endif
], AC_DEFINE(HAVE_GSS_C_NT_USER_NAME,,[Define if your GSSAPI implimentation defines GSS_C_NT_USER_NAME]), AC_WARN(Cybersafe define not found))
elif test "$ac_cv_header_gssapi_h" = "yes"; then
AC_EGREP_HEADER(GSS_C_NT_USER_NAME, gssapi.h,
AC_DEFINE(HAVE_GSS_C_NT_USER_NAME,,[Define if your GSSAPI implimentation defines GSS_C_NT_USER_NAME]))
elif test "$ac_cv_header_gssapi_gssapi_h"; then
AC_EGREP_HEADER(GSS_C_NT_USER_NAME, gssapi/gssapi.h,
AC_DEFINE(HAVE_GSS_C_NT_USER_NAME,,[Define if your GSSAPI implimentation defines GSS_C_NT_USER_NAME]))
fi
fi
GSSAPI_LIBS=""
AC_MSG_CHECKING(GSSAPI)
if test "$gssapi" != no; then
AC_MSG_RESULT(with implementation ${gss_impl})
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([SASL_SET_GSSAPI_LIBS], [
SASL_GSSAPI_LIBS_SET="yes"
])
dnl What we want to do here is setup LIB_SASL with what one would
dnl generally want to have (e.g. if static is requested, make it that,
dnl otherwise make it dynamic.
dnl We also want to create LIB_DYN_SASL and DYNSASLFLAGS.
dnl Also sets using_static_sasl to "no" "static" or "staticonly"
AC_DEFUN([CMU_SASL2], [
AC_REQUIRE([SASL_GSSAPI_CHK])
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
if test -d ${with_staticsasl}/lib64 ; then
ac_cv_sasl_where_lib=${with_staticsasl}/lib64
else
ac_cv_sasl_where_lib=${with_staticsasl}/lib
fi
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, [
for i42 in lib64 lib; do
if test -r ${with_staticsasl}/$i42/libsasl2.a; then
ac_cv_found_sasl=yes
AC_MSG_CHECKING(for static libsasl)
LIB_SASL="$LIB_SASL ${with_staticsasl}/$i42/libsasl2.a"
fi
done
if test ! "$ac_cv_found_sasl" = "yes"; then
AC_MSG_CHECKING(for static libsasl)
AC_ERROR([Could not find ${with_staticsasl}/lib*/libsasl2.a])
fi
])])
AC_MSG_RESULT(found)
if test "x$SASL_GSSAPI_LIBS_SET" = "x"; then
LIB_SASL="$LIB_SASL $GSSAPIBASE_STATIC_LIBS"
else
SASL_GSSAPI_LIBS_SET=""
cmu_saved_LIBS="$GSSAPIBASE_STATIC_LIBS $cmu_saved_LIBS"
fi
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
dnl be sure to check for a SASLv2 specific function
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
if test "x$SASL_GSSAPI_LIBS_SET" != "x"; then
SASL_GSSAPI_LIBS_SET=""
cmu_saved_LIBS="$GSSAPIBASE_LIBS $cmu_saved_LIBS"
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([CMU_SASL2_REQUIRE_VER], [
AC_REQUIRE([CMU_SASL2_REQUIRED])
cmu_saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $SASLFLAGS"
AC_TRY_CPP([
#include <sasl/sasl.h>
#ifndef SASL_VERSION_MAJOR
#error SASL_VERSION_MAJOR not defined
#endif
#ifndef SASL_VERSION_MINOR
#error SASL_VERSION_MINOR not defined
#endif
#ifndef SASL_VERSION_STEP
#error SASL_VERSION_STEP not defined
#endif
#if SASL_VERSION_MAJOR < $1 || SASL_VERSION_MINOR < $2 || SASL_VERSION_STEP < $3
#error SASL version is less than $1.$2.$3
#endif
],,AC_ERROR([Incorrect SASL headers found. This package requires SASL $1.$2.$3 or newer.]))
CPPFLAGS=$cmu_saved_CPPFLAGS
])
AC_DEFUN([CMU_SASL2_CHECKAPOP_REQUIRED], [
AC_REQUIRE([CMU_SASL2_REQUIRED])
cmu_saved_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $LIB_SASL"
AC_CHECK_LIB(sasl2, sasl_checkapop, AC_DEFINE(HAVE_APOP,[],[Does SASL support APOP?]),
AC_MSG_ERROR([libsasl2 without working sasl_checkapop. Cannot continue.]))
LDFLAGS=$cmu_saved_LDFLAGS
])
AC_DEFUN([SASL2_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)
])
dnl libwrap.m4 --- do we have libwrap, the access control library?
dnl $Id: libwrap.m4,v 1.9 2003/10/22 18:50:02 rjs3 Exp $
AC_DEFUN([CMU_LIBWRAP], [
AC_REQUIRE([CMU_SOCKETS])
AC_ARG_WITH(libwrap,
[ --with-libwrap=DIR use libwrap (rooted in DIR) [yes] ],
with_libwrap=$withval, with_libwrap=yes)
if test "$with_libwrap" != no; then
if test -d "$with_libwrap"; then
CPPFLAGS="$CPPFLAGS -I${with_libwrap}/include"
LDFLAGS="$LDFLAGS -L${with_libwrap}/lib"
fi
cmu_save_LIBS="$LIBS"
AC_CHECK_LIB(wrap, request_init, [
AC_CHECK_HEADER(tcpd.h,, with_libwrap=no)],
with_libwrap=no, ${LIB_SOCKET})
LIBS="$cmu_save_LIBS"
fi
AC_MSG_CHECKING(libwrap support)
AC_MSG_RESULT($with_libwrap)
LIB_WRAP=""
if test "$with_libwrap" != no; then
AC_DEFINE(HAVE_LIBWRAP,[],[Do we have TCP wrappers?])
LIB_WRAP="-lwrap"
AC_CHECK_LIB(nsl, yp_get_default_domain, LIB_WRAP="${LIB_WRAP} -lnsl")
fi
AC_SUBST(LIB_WRAP)
])
dnl look for the (ucd|net)snmp libraries
dnl $Id: ucdsnmp.m4,v 1.10 2004/05/24 19:25:41 ken3 Exp $
AC_DEFUN([CMU_UCDSNMP], [
AC_REQUIRE([CMU_SOCKETS])
AC_ARG_WITH(snmp,
[ --with-snmp=DIR use ucd|net snmp (rooted in DIR) [yes] ],
with_snmp=$withval, with_snmp=yes)
dnl
dnl Maintain backwards compatibility with old --with-ucdsnmp option
dnl
AC_ARG_WITH(ucdsnmp,, with_snmp=$withval,)
if test "$with_snmp" != "no"; then
dnl
dnl Try net-snmp first
dnl
if test "$with_snmp" = "yes"; then
AC_PATH_PROG(SNMP_CONFIG,net-snmp-config,,[/usr/local/bin:$PATH])
else
SNMP_CONFIG="$with_snmp/bin/net-snmp-config"
fi
if test -x "$SNMP_CONFIG"; then
AC_MSG_CHECKING(NET SNMP libraries)
SNMP_LIBS=`$SNMP_CONFIG --agent-libs`
SNMP_PREFIX=`$SNMP_CONFIG --prefix`
if test -n "$SNMP_LIBS" && test -n "$SNMP_PREFIX"; then
CPPFLAGS="$CPPFLAGS -I${SNMP_PREFIX}/include"
LIB_UCDSNMP=$SNMP_LIBS
AC_DEFINE(HAVE_NETSNMP,1,[Do we have Net-SNMP support?])
AC_SUBST(LIB_UCDSNMP)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_WARN([Could not find the required paths. Please check your net-snmp installation.])
fi
else
dnl
dnl Try ucd-snmp if net-snmp test failed
dnl
if test "$with_snmp" != no; then
if test -d "$with_snmp"; then
CPPFLAGS="$CPPFLAGS -I${with_snmp}/include"
LDFLAGS="$LDFLAGS -L${with_snmp}/lib"
fi
cmu_save_LIBS="$LIBS"
AC_CHECK_LIB(snmp, sprint_objid, [
AC_CHECK_HEADER(ucd-snmp/version.h,, with_snmp=no)],
with_snmp=no, ${LIB_SOCKET})
LIBS="$cmu_save_LIBS"
fi
AC_MSG_CHECKING(UCD SNMP libraries)
AC_MSG_RESULT($with_snmp)
LIB_UCDSNMP=""
if test "$with_snmp" != no; then
AC_DEFINE(HAVE_UCDSNMP,1,[Do we have UCD-SNMP support?])
LIB_UCDSNMP="-lucdagent -lucdmibs -lsnmp"
AC_CHECK_LIB(rpm, rpmdbOpen,
LIB_UCDSNMP="${LIB_UCDSNMP} -lrpm -lpopt",,-lpopt)
fi
AC_SUBST(LIB_UCDSNMP)
fi
fi
])