359 lines
10 KiB
Plaintext
359 lines
10 KiB
Plaintext
dnl $Id$
|
|
|
|
dnl Copyright 1996 by the Massachusetts Institute of Technology.
|
|
dnl
|
|
dnl Permission to use, copy, modify, and distribute this
|
|
dnl software and its documentation for any purpose and without
|
|
dnl fee is hereby granted, provided that the above copyright
|
|
dnl notice appear in all copies and that both that copyright
|
|
dnl notice and this permission notice appear in supporting
|
|
dnl documentation, and that the name of M.I.T. not be used in
|
|
dnl advertising or publicity pertaining to distribution of the
|
|
dnl software without specific, written prior permission.
|
|
dnl M.I.T. makes no representations about the suitability of
|
|
dnl this software for any purpose. It is provided "as is"
|
|
dnl without express or implied warranty.
|
|
|
|
dnl This file provides local macros for packages which use specific
|
|
dnl external libraries. The public macros are:
|
|
dnl
|
|
dnl ATHENA_UTIL_COM_ERR
|
|
dnl Generates error if com_err not found.
|
|
dnl ATHENA_UTIL_SS
|
|
dnl Generates error if ss not found.
|
|
dnl ATHENA_REGEXP
|
|
dnl Sets REGEX_LIBS if rx library used; ensures POSIX
|
|
dnl regexp support.
|
|
dnl ATHENA_MOTIF
|
|
dnl Sets MOTIF_LIBS and defines HAVE_MOTIF if Motif used.
|
|
dnl ATHENA_MOTIF_REQUIRED
|
|
dnl Generates error if Motif not found.
|
|
dnl ATHENA_AFS
|
|
dnl Sets AFS_LIBS and defines HAVE_AFS if AFS used. Pass
|
|
dnl in an argument giving the desired AFS libraries;
|
|
dnl AFS_LIBS will be set to that value if AFS is found.
|
|
dnl AFS_DIR will be set to the prefix given.
|
|
dnl ATHENA_AFS_REQUIRED
|
|
dnl Generates error if AFS libraries not found. AFS_DIR
|
|
dnl will be set to the prefix given.
|
|
dnl ATHENA_KRB4
|
|
dnl Sets KRB4_LIBS and defines HAVE_KRB4 if krb4 used.
|
|
dnl ATHENA_KRB4_REQUIRED
|
|
dnl Generates error if krb4 not found. Sets KRB4_LIBS
|
|
dnl otherwise. (Special behavior because krb4 libraries
|
|
dnl may be different if using krb4 compatibility libraries
|
|
dnl from krb5.)
|
|
dnl ATHENA_KRB5
|
|
dnl Sets KRB5_LIBS and defines HAVE_KRB5 if krb5 used.
|
|
dnl ATHENA_KRB5_REQUIRED
|
|
dnl Generates error if krb5 not found.
|
|
dnl ATHENA_HESIOD
|
|
dnl Sets HESIOD_LIBS and defines HAVE_HESIOD if Hesiod
|
|
dnl used.
|
|
dnl ATHENA_HESIOD_REQUIRED
|
|
dnl Generates error if Hesiod not found.
|
|
dnl ATHENA_ARES
|
|
dnl Sets ARES_LIBS and defines HAVE_ARES if libares
|
|
dnl used.
|
|
dnl ATHENA_ARES_REQUIRED
|
|
dnl Generates error if libares not found.
|
|
dnl ATHENA_ZEPHYR
|
|
dnl Sets ZEPHYR_LIBS and defines HAVE_ZEPHYR if zephyr
|
|
dnl used.
|
|
dnl ATHENA_ZEPHYR_REQUIRED
|
|
dnl Generates error if zephyr not found.
|
|
dnl
|
|
dnl All of the macros may extend CPPFLAGS and LDFLAGS to let the
|
|
dnl compiler find the requested libraries. Put ATHENA_UTIL_COM_ERR
|
|
dnl and ATHENA_UTIL_SS before ATHENA_AFS or ATHENA_AFS_REQUIRED; there
|
|
dnl is a com_err library in the AFS libraries which requires -lutil.
|
|
|
|
dnl ----- com_err -----
|
|
|
|
AC_DEFUN(ATHENA_UTIL_COM_ERR,
|
|
[AC_ARG_WITH(com_err,
|
|
[ --with-com_err=PREFIX Specify location of com_err],
|
|
[com_err="$withval"], [com_err=yes])
|
|
if test "$com_err" != no; then
|
|
if test "$com_err" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$com_err/include"
|
|
LDFLAGS="$LDFLAGS -L$com_err/lib"
|
|
fi
|
|
AC_CHECK_LIB(com_err, com_err, :,
|
|
[AC_MSG_ERROR(com_err library not found)])
|
|
else
|
|
AC_MSG_ERROR(This package requires com_err.)
|
|
fi])
|
|
|
|
dnl ----- ss -----
|
|
|
|
AC_DEFUN(ATHENA_UTIL_SS,
|
|
[AC_ARG_WITH(ss,
|
|
[ --with-ss=PREFIX Specify location of ss (requires com_err)],
|
|
[ss="$withval"], [ss=yes])
|
|
if test "$ss" != no; then
|
|
if test "$ss" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$ss/include"
|
|
LDFLAGS="$LDFLAGS -L$ss/lib"
|
|
fi
|
|
AC_CHECK_LIB(ss, ss_perror, :,
|
|
[AC_MSG_ERROR(ss library not found)], -lcom_err)
|
|
else
|
|
AC_MSG_ERROR(This package requires ss.)
|
|
fi])
|
|
|
|
dnl ----- Regular expressions -----
|
|
|
|
AC_DEFUN(ATHENA_REGEXP,
|
|
[AC_ARG_WITH(regex,
|
|
[ --with-regex=PREFIX Use installed regex library],
|
|
[regex="$withval"], [regex=no])
|
|
if test "$regex" != no; then
|
|
if test "$regex" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$regex/include"
|
|
LDFLAGS="$LDFLAGS -L$regex/lib"
|
|
fi
|
|
AC_CHECK_LIB(regex, regcomp, REGEX_LIBS=-lregex,
|
|
[AC_MSG_ERROR(regex library not found)])
|
|
else
|
|
AC_CHECK_FUNC(regcomp, :,
|
|
[AC_MSG_ERROR(can't find POSIX regexp support)])
|
|
fi
|
|
AC_SUBST(REGEX_LIBS)])
|
|
|
|
dnl ----- Motif -----
|
|
|
|
AC_DEFUN(ATHENA_MOTIF_CHECK,
|
|
[if test "$motif" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$motif/include"
|
|
LDFLAGS="$LDFLAGS -L$motif/lib"
|
|
fi
|
|
AC_CHECK_LIB(Xm, XmStringFree, :, [AC_MSG_ERROR(Motif library not found)])])
|
|
|
|
AC_DEFUN(ATHENA_MOTIF,
|
|
[AC_ARG_WITH(motif,
|
|
[ --with-motif=PREFIX Use Motif],
|
|
[motif="$withval"], [motif=no])
|
|
if test "$motif" != no; then
|
|
ATHENA_MOTIF_CHECK
|
|
MOTIF_LIBS=-lXm
|
|
AC_DEFINE(HAVE_MOTIF)
|
|
fi
|
|
AC_SUBST(MOTIF_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_MOTIF_REQUIRED,
|
|
[AC_ARG_WITH(motif,
|
|
[ --with-motif=PREFIX Specify location of Motif],
|
|
[motif="$withval"], [motif=yes])
|
|
if test "$motif" != no; then
|
|
ATHENA_MOTIF_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires Motif.)
|
|
fi])
|
|
|
|
dnl ----- AFS -----
|
|
|
|
AC_DEFUN(ATHENA_AFS_CHECK,
|
|
[AC_CHECK_FUNC(insque, :, AC_CHECK_LIB(compat, insque))
|
|
AC_CHECK_FUNC(gethostbyname, :, AC_CHECK_LIB(nsl, gethostbyname))
|
|
AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket))
|
|
if test "$afs" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$afs/include"
|
|
LDFLAGS="$LDFLAGS -L$afs/lib -L$afs/lib/afs"
|
|
fi
|
|
AC_CHECK_LIB(sys, pioctl, :, [AC_MSG_ERROR(AFS libraries not found)],
|
|
-lrx -llwp -lsys)
|
|
AFS_DIR=$afs
|
|
AC_SUBST(AFS_DIR)])
|
|
|
|
dnl Specify desired AFS libraries as a parameter.
|
|
AC_DEFUN(ATHENA_AFS,
|
|
[AC_ARG_WITH(afs,
|
|
[ --with-afs=PREFIX Use AFS libraries],
|
|
[afs="$withval"], [afs=no])
|
|
if test "$afs" != no; then
|
|
ATHENA_AFS_CHECK
|
|
AFS_LIBS=$1
|
|
AC_DEFINE(HAVE_AFS)
|
|
fi
|
|
AC_SUBST(AFS_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_AFS_REQUIRED,
|
|
[AC_ARG_WITH(afs,
|
|
[ --with-afs=PREFIX Specify location of AFS libraries],
|
|
[afs="$withval"], [afs=/usr/afsws])
|
|
if test "$afs" != no; then
|
|
ATHENA_AFS_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires AFS libraries.)
|
|
fi])
|
|
|
|
dnl ----- Kerberos 4 -----
|
|
|
|
AC_DEFUN(ATHENA_KRB4_CHECK,
|
|
[AC_CHECK_FUNC(gethostbyname, :, AC_CHECK_LIB(nsl, gethostbyname))
|
|
AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket))
|
|
AC_CHECK_LIB(gen, compile)
|
|
if test "$krb4" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$krb4/include"
|
|
if test -d "$krb4/include/kerberosIV"; then
|
|
CPPFLAGS="$CPPFLAGS -I$krb4/include/kerberosIV"
|
|
fi
|
|
LDFLAGS="$LDFLAGS -L$krb4/lib"
|
|
fi
|
|
AC_CHECK_LIB(krb4, krb_rd_req,
|
|
[KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
|
|
[AC_CHECK_LIB(krb, krb_rd_req,
|
|
[KRB4_LIBS="-lkrb -ldes"],
|
|
[AC_MSG_ERROR(Kerberos 4 libraries not found)],
|
|
-ldes)],
|
|
-ldes425 -lkrb5 -lk5crypto -lcom_err)])
|
|
|
|
AC_DEFUN(ATHENA_KRB4,
|
|
[AC_ARG_WITH(krb4,
|
|
[ --with-krb4=PREFIX Use Kerberos 4],
|
|
[krb4="$withval"], [krb4=no])
|
|
if test "$krb4" != no; then
|
|
ATHENA_KRB4_CHECK
|
|
AC_DEFINE(HAVE_KRB4)
|
|
fi
|
|
AC_SUBST(KRB4_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_KRB4_REQUIRED,
|
|
[AC_ARG_WITH(krb4,
|
|
[ --with-krb4=PREFIX Specify location of Kerberos 4],
|
|
[krb4="$withval"], [krb4=yes])
|
|
if test "$krb4" != no; then
|
|
ATHENA_KRB4_CHECK
|
|
AC_SUBST(KRB4_LIBS)
|
|
else
|
|
AC_MSG_ERROR(This package requires Kerberos 4.)
|
|
fi])
|
|
|
|
dnl ----- Kerberos 5 -----
|
|
|
|
AC_DEFUN(ATHENA_KRB5_CHECK,
|
|
[AC_SEARCH_LIBS(gethostbyname, nsl)
|
|
AC_SEARCH_LIBS(socket, socket)
|
|
AC_CHECK_LIB(gen, compile)
|
|
if test "$krb5" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$krb5/include"
|
|
LDFLAGS="$LDFLAGS -L$krb5/lib"
|
|
fi
|
|
AC_CHECK_LIB(krb5, krb5_init_context, :,
|
|
[AC_MSG_ERROR(Kerberos 5 libraries not found)],
|
|
-lk5crypto -lcom_err)])
|
|
|
|
AC_DEFUN(ATHENA_KRB5,
|
|
[AC_ARG_WITH(krb5,
|
|
[ --with-krb5=PREFIX Use Kerberos 5],
|
|
[krb5="$withval"], [krb5=no])
|
|
if test "$krb5" != no; then
|
|
ATHENA_KRB5_CHECK
|
|
KRB5_LIBS="-lkrb5 -lk5crypto -lcom_err"
|
|
AC_DEFINE(HAVE_KRB5)
|
|
fi
|
|
AC_SUBST(KRB5_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_KRB5_REQUIRED,
|
|
[AC_ARG_WITH(krb5,
|
|
[ --with-krb5=PREFIX Specify location of Kerberos 5],
|
|
[krb5="$withval"], [krb5=yes])
|
|
if test "$krb5" != no; then
|
|
ATHENA_KRB5_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires Kerberos 5.)
|
|
fi])
|
|
|
|
dnl ----- Hesiod -----
|
|
|
|
AC_DEFUN(ATHENA_HESIOD_CHECK,
|
|
[AC_CHECK_FUNC(res_send, :, AC_CHECK_LIB(resolv, res_send))
|
|
if test "$hesiod" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$hesiod/include"
|
|
LDFLAGS="$LDFLAGS -L$hesiod/lib"
|
|
fi
|
|
AC_CHECK_LIB(hesiod, hes_resolve, :,
|
|
[AC_MSG_ERROR(Hesiod library not found)])])
|
|
|
|
AC_DEFUN(ATHENA_HESIOD,
|
|
[AC_ARG_WITH(hesiod,
|
|
[ --with-hesiod=PREFIX Use Hesiod],
|
|
[hesiod="$withval"], [hesiod=no])
|
|
if test "$hesiod" != no; then
|
|
ATHENA_HESIOD_CHECK
|
|
HESIOD_LIBS="-lhesiod"
|
|
AC_DEFINE(HAVE_HESIOD)
|
|
fi
|
|
AC_SUBST(HESIOD_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_HESIOD_REQUIRED,
|
|
[AC_ARG_WITH(hesiod,
|
|
[ --with-hesiod=PREFIX Specify location of Hesiod],
|
|
[hesiod="$withval"], [hesiod=yes])
|
|
if test "$hesiod" != no; then
|
|
ATHENA_HESIOD_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires Hesiod.)
|
|
fi])
|
|
|
|
dnl ----- libares -----
|
|
|
|
AC_DEFUN(ATHENA_ARES_CHECK,
|
|
[AC_CHECK_FUNC(res_send, :, AC_CHECK_LIB(resolv, res_send))
|
|
if test "$ares" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$ares/include"
|
|
LDFLAGS="$LDFLAGS -L$ares/lib"
|
|
fi
|
|
AC_CHECK_LIB(ares, ares_init, :, [AC_MSG_ERROR(libares not found)])])
|
|
|
|
AC_DEFUN(ATHENA_ARES,
|
|
[AC_ARG_WITH(ares,
|
|
[ --with-ares=PREFIX Use libares],
|
|
[ares="$withval"], [ares=no])
|
|
if test "$ares" != no; then
|
|
ATHENA_ARES_CHECK
|
|
ARES_LIBS="-lares"
|
|
AC_DEFINE(HAVE_ARES)
|
|
fi
|
|
AC_SUBST(ARES_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_ARES_REQUIRED,
|
|
[AC_ARG_WITH(ares,
|
|
[ --with-ares=PREFIX Specify location of libares],
|
|
[ares="$withval"], [ares=yes])
|
|
if test "$ares" != no; then
|
|
ATHENA_ARES_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires libares.)
|
|
fi])
|
|
dnl ----- zephyr -----
|
|
|
|
AC_DEFUN(ATHENA_ZEPHYR_CHECK,
|
|
[if test "$zephyr" != yes; then
|
|
CPPFLAGS="$CPPFLAGS -I$zephyr/include"
|
|
LDFLAGS="$LDFLAGS -L$zephyr/lib"
|
|
fi
|
|
AC_CHECK_LIB(zephyr, ZFreeNotice, :, [AC_MSG_ERROR(zephyr not found)])])
|
|
|
|
AC_DEFUN(ATHENA_ZEPHYR,
|
|
[AC_ARG_WITH(zephyr,
|
|
[ --with-zephyr=PREFIX Use zephyr],
|
|
[zephyr="$withval"], [zephyr=no])
|
|
if test "$zephyr" != no; then
|
|
ATHENA_ZEPHYR_CHECK
|
|
ZEPHYR_LIBS="-lzephyr"
|
|
AC_DEFINE(HAVE_ZEPHYR)
|
|
fi
|
|
AC_SUBST(ZEPHYR_LIBS)])
|
|
|
|
AC_DEFUN(ATHENA_ZEPHYR_REQUIRED,
|
|
[AC_ARG_WITH(zephyr,
|
|
[ --with-zephyr=PREFIX Specify location of zephyr],
|
|
[zephyr="$withval"], [zephyr=yes])
|
|
if test "$zephyr" != no; then
|
|
ATHENA_ZEPHYR_CHECK
|
|
else
|
|
AC_MSG_ERROR(This package requires zephyr.)
|
|
fi])
|