Files
sudo/configure.in
Todd C. Miller 50c517dd5c added AC_SSIZE_T
1994-09-20 18:43:51 +00:00

224 lines
4.9 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
echo Configuring CU Sudo version 1.3.1
AC_INIT(sudo.h)
AC_CONFIG_HEADER(config.h pathnames.h)
dnl
dnl Variables that get substituted in the Makefile
dnl
PROGS="sudo visudo"
AC_SUBST(PROGS)dnl
STATIC_FLAGS=""
AC_SUBST(STATIC_FLAGS)dnl
INC_FLAGS=""
AC_SUBST(INC_FLAGS)dnl
OSDEFS=""
AC_SUBST(OSDEFS)dnl
OPTIONS=""
AC_SUBST(OPTIONS)dnl
LIBOBJS=""
AC_SUBST(LIBOBJS)dnl
TGETPASS="tgetpass.o"
AC_SUBST(TGETPASS)dnl
MAN_PREFIX='$(prefix)/man'
AC_SUBST(MAN_PREFIX)dnl
MANTYPE="man"
MAN_POSTINSTALL=""
AC_SUBST(MAN_POSTINSTALL)dnl
AC_SUBST(MANTYPE)dnl
dnl
dnl Options for --with(out)
dnl
dnl --with-getpass
AC_WITH(getpass, AC_DEFINE(USE_GETPASS)
echo 'Using system getpass'
TGETPASS="")
dnl
dnl --with-C2
AC_WITH(C2, AC_DEFINE(HAVE_C2_SECURITY)
C2=1
echo 'Configuring for C2 security')
dnl
dnl --with-AFS
AC_WITH(AFS, AC_DEFINE(HAVE_AFS)
AFS=1
echo 'Configuring for use with AFS')
dnl
dnl --with-csops
AC_WITH(csops, OPTIONS="${OPTIONS} -DUSE_INSULTS -DENV_EDITOR -DSHORT_MESSAGE"
echo 'CSOps--adding options: USE_INSULTS ENV_EDITOR SHORT_MESSAGE')
dnl
dnl C compiler checks
dnl
AC_PROG_CC
AC_PROG_CPP
dnl
dnl find "uname"
dnl
AC_PROGRAM_CHECK(UNAMEPROG, uname, uname, )
AC_PROGRAM_CHECK(TRPROG, tr, tr, )
AC_PROGRAM_CHECK(SEDPROG, sed, sed, )
AC_PROGRAM_CHECK(NROFFPROG, nroff, nroff, )
if test -z "$NROFFPROG"; then
MANTYPE="cat"
fi
dnl
dnl what architecture are we on?
dnl
SUDO_OSTYPE()
OS=`echo $OS | $TRPROG '[[A-Z]]' '[[a-z]]'`
case "$OS" in
"sunos") echo "Looks like SunOS 4.x"
if test -n "$GCC"; then
STATIC_FLAGS="-static"
else
STATIC_FLAGS="-Bstatic"
fi
;;
"solaris") echo "Looks like Solaris"
AC_DEFINE(SVR4)
;;
"aix") echo "Looks like AIX"
AC_DEFINE(_ALL_SOURCE)
;;
"hp-ux") echo "Looks like HP-UX"
if test -n "$GCC"; then
STATIC_FLAGS="-static"
else
STATIC_FLAGS="-Wl,-a,archive"
fi
;;
"osf1") echo "Looks like OSF/1"
if test -n "$GCC"; then
STATIC_FLAGS="-static"
else
STATIC_FLAGS="-non_shared"
fi
# C2 security stuff
if test -n "$C2"; then
LIBS="${LIBS} -lsecurity -laud"
fi
;;
"irix") echo "Looks like IRIX"
# configure doesn't think irix has stdc headers
# but it's good enough for sudo
AC_DEFINE(STDC_HEADERS)
if test -z "$NROFFPROG"; then
MAN_POSTINSTALL='/bin/rm -f $(mandir)/sudo.$(mansect).z ; /usr/bin/pack $(mandir)/sudo.$(mansect)'
if test -d /usr/share/catman/local; then
MAN_PREFIX="/usr/share/catman/local"
else
MAN_PREFIX="/usr/catman/local"
fi
else
if test -d /usr/share/man/local; then
MAN_PREFIX="/usr/share/man/local"
else
MAN_PREFIX="/usr/man/local"
fi
fi
;;
"linux") echo "Looks like linux"
if test -n "$GCC"; then
STATIC_FLAGS="-static"
fi
;;
"convex") echo "Looks like ConvexOs"
AC_DEFINE(_CONVEX_SOURCE)
# C2 security stuff
if test -n "$C2"; then
OSDEFS="${OSDEFS} -D_AUDIT -D_ACL -DSecureWare"
LIBS="${LIBS} -lprot"
fi
;;
"ultrix"*) echo "Looks like ultrix"
# C2 security stuff
if test -n "$C2"; then
LIBS="${LIBS} -lauth"
fi
;;
"ksr"*) echo "Looks like a KSR"
;;
"next") echo "Looks like NeXTstep"
;;
"bsd/386") echo "Looks like bsdi BSD/386"
;;
"mtxinu") echo "Looks like mt Xinu MORE/BSD"
;;
"4.3bsd") echo "Looks like HP BSD"
;;
*"bsd"*) echo "Looks like some kind of BSD"
;;
"unknown") echo "I don't recognize your OS, but that's ok"
;;
*) echo "Hmmm, I don't recognize $OS offhand, but that's ok"
;;
esac
dnl
dnl extra AFS libs
dnl
if test -n "$AFS" ; then
LIBS="${LIBS} -L/usr/lib/afs -lkauth -lprot -lauth -lubik -lrxkad -lsys -ldes -lrx -llwp -lcom_err -laudit -lutil"
fi
dnl
dnl C compiler checks (to be done after os checks)
dnl
AC_GCC_TRADITIONAL
AC_CONST
dnl
dnl Program checks
dnl
AC_PROG_YACC
AC_PROG_LEX
if test "$LEX" = "flex"; then
AC_DEFINE(HAVE_FLEX)
fi
SUDO_PROG_INSTALL
SUDO_PROG_SENDMAIL
SUDO_PROG_PWD
SUDO_PROG_VI
dnl
dnl Header file checks
dnl
AC_STDC_HEADERS
AC_HAVE_HEADERS(string.h strings.h unistd.h malloc.h paths.h sys/sockio.h)
if test "$OS" != "ultrix" ; then
AC_HAVE_HEADERS(termio.h termios.h)
fi
dnl
dnl typedef checks
dnl
AC_MODE_T
AC_UID_T
AC_SIZE_T
AC_SSIZE_T
dnl
dnl only set RETSIGTYPE if it is not set already
dnl
case "$DEFS" in
*"RETSIGTYPE"*) ;;
*) AC_RETSIGTYPE;;
esac
dnl
dnl Function checks
dnl
AC_HAVE_FUNCS(getwd strchr strrchr memcpy sysconf sigaction bzero tzset)
AC_FUNC_CHECK(strdup, AC_DEFINE(HAVE_STRDUP), LIBOBJS="$LIBOBJS strdup.o")
AC_FUNC_CHECK(getcwd, AC_DEFINE(HAVE_GETCWD), LIBOBJS="$LIBOBJS getcwd.o")
AC_FUNC_CHECK(setenv, AC_DEFINE(HAVE_SETENV), AC_FUNC_CHECK(putenv, AC_DEFINE(HAVE_PUTENV), LIBOBJS="$LIBOBJS putenv.o"))
dnl
dnl library checks
dnl
AC_HAVE_LIBRARY(nsl)
AC_HAVE_LIBRARY(socket)
AC_HAVE_LIBRARY(ufc)
dnl
dnl OS-dependent libraries
dnl
if test -n "$OS" -a "$OS" = "irix" ; then
AC_IRIX_SUN
fi
dnl
dnl Substitute into the Makefiles
dnl
AC_OUTPUT(Makefile visudoers/Makefile)