dnl If we don't have egrep we can't do anything...
dnl
AC_CHECK_PROG(EGREPPROG, egrep, egrep, )
-if test -z "$EGREPPROG" ; then
+if test -z "$EGREPPROG"; then
echo "Sorry, configure requires egrep to run."
exit
fi
AC_CHECK_PROG(TRPROG, tr, tr, )
AC_CHECK_PROG(SEDPROG, sed, sed, )
AC_CHECK_PROG(NROFFPROG, nroff, nroff, )
-if test -z "$NROFFPROG" ; then
+if test -z "$NROFFPROG"; then
MANTYPE="cat"
fi
# (XXX - should be an option to configure)
#STATIC_SUDO=true
- if test "$OSREV" -lt 9 ; then
+ if test "$OSREV" -lt 9; then
AC_DEFINE(BROKEN_SYSLOG)
- if test -n "$GCC" ; then
+ if test -n "$GCC"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -static"
else
SUDO_LDFLAGS="${SUDO_LDFLAGS} -Wl,-a,archive"
fi
- elif test "$OSREV" -eq 9 ; then
+ elif test "$OSREV" -eq 9; then
AC_DEFINE(BROKEN_SYSLOG)
- if test -n "$STATIC_SUDO" ; then
- if test -n "$GCC" ; then
+ if test -n "$STATIC_SUDO"; then
+ if test -n "$GCC"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -static"
else
SUDO_LDFLAGS="${SUDO_LDFLAGS} -Wl,-a,archive"
fi
# DCE support
- if test "$with_DCE" = "yes" ; then
+ if test "$with_DCE" = "yes"; then
# order of libs in 9.X is important. -lc_r must be last
SUDO_LIBS="-ldce -lM -lc_r"
- if test -n "$GCC" ; then
+ if test -n "$GCC"; then
CPPFLAGS="${CPPFLAGS} -D_HPUX_SOURCE -D_REENTRANT -I/usr/include/reentrant"
else
CPPFLAGS="${CPPFLAGS} -Aa -D_HPUX_SOURCE -D_REENTRANT -I/usr/include/reentrant"
SHADOW_TYPE="SPW_HPUX9"
AC_DEFINE_UNQUOTED(SHADOW_TYPE, $SHADOW_TYPE)
fi
- elif test "$OSREV" -eq 10 ; then
- if test -n "$STATIC_SUDO" ; then
- if test -n "$GCC" ; then
+ elif test "$OSREV" -eq 10; then
+ if test -n "$STATIC_SUDO"; then
+ if test -n "$GCC"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -static"
else
SUDO_LDFLAGS="${SUDO_LDFLAGS} -Wl,-a,archive"
fi
fi
- # DCE support
- if test "$with_DCE" = "yes" ; then
- # order of libs in 10.0 is important. -ldce must be last
- # note that gcc has it's own alloca()
- if test -n "$GCC" ; then
- SUDO_LIBS="-ldce"
+ # DCE support (requires ANSI C compiler)
+ if test "$with_DCE" = "yes"; then
+ if test -n "$GCC"; then
CPPFLAGS="${CPPFLAGS} -D_HPUX_SOURCE"
else
- SUDO_LIBS="-lPW -ldce"
- VISUDO_LIBS="-lPW"
CPPFLAGS="${CPPFLAGS} -Aa -D_HPUX_SOURCE"
fi
fi
fi
# AFS support
- if test "$with_AFS" = "yes" ; then
+ if test "$with_AFS" = "yes"; then
SUDO_LIBS="-lBSD ${SUDO_LIBS}"
fi
;;
# 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 -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
mandir="/usr/share/catman/local"
else
mandir="/usr/catman/local"
fi
else
- if test -d "/usr/share/man/local" ; then
+ if test -d "/usr/share/man/local"; then
mandir="/usr/share/man/local"
else
mandir="/usr/man/local"
;;
"convex") echo "Looks like ConvexOs"
AC_DEFINE(_CONVEX_SOURCE)
- if test -z "$GCC" ; then
+ if test -z "$GCC"; then
CFLAGS="${CFLAGS} -D__STDC__"
fi
# C2 security stuff
echo "checking for shadow password type..."
AC_CHECK_FUNC(getspnam, SHADOW_TYPE="SPW_SVR4", AC_CHECK_FUNC(getprpwuid, SHADOW_TYPE="SPW_SECUREWARE", [test -f /etc/master.passwd && SHADOW_TYPE="SPW_BSD"]))
case "$SHADOW_TYPE" in
- "SPW_SVR4") echo "shadow password type is getspnam (svr4)" ;
- AC_DEFINE_UNQUOTED(SHADOW_TYPE, $SHADOW_TYPE) ;;
- "SPW_BSD") echo "shadow password type is /etc/master.passwd (BSD)" ;;
- "SPW_SECUREWARE") echo "shadow password type is etprpwuid (SecureWare)" ;
- SUDO_LIBS="${SUDO_LIBS} -lprot -lx" ;
- AC_DEFINE_UNQUOTED(SHADOW_TYPE, $SHADOW_TYPE) ;;
- *) echo "unknown" ;
- echo "Unable to determine shadow passwd type, sudo may not be able to verify passwords" ;;
+ "SPW_SVR4") echo "shadow password type is getspnam (svr4)";
+ AC_DEFINE_UNQUOTED(SHADOW_TYPE, $SHADOW_TYPE);;
+ "SPW_BSD") echo "shadow password type is /etc/master.passwd (BSD)";;
+ "SPW_SECUREWARE") echo "shadow password type is etprpwuid (SecureWare)";
+ SUDO_LIBS="${SUDO_LIBS} -lprot -lx";
+ AC_DEFINE_UNQUOTED(SHADOW_TYPE, $SHADOW_TYPE);;
+ *) echo "unknown";
+ echo "Unable to determine shadow passwd type, sudo may not be able to verify passwords";;
esac
fi
AC_HEADER_DIRENT
AC_CHECK_HEADERS(string.h strings.h unistd.h malloc.h paths.h utime.h sys/sockio.h sys/bsdtypes.h)
dnl ultrix termio/termios are broken
-if test "$OS" != "ultrix" ; then
+if test "$OS" != "ultrix"; then
AC_CHECK_HEADERS(termio.h)
AC_CHECK_HEADERS(termios.h, AC_CHECK_FUNCS(tcgetattr))
fi
AC_CHECK_FUNC(innetgr, AC_DEFINE(HAVE_INNETGR) AC_CHECK_FUNCS(getdomainname))
AC_CHECK_FUNC(getwd, AC_DEFINE(HAVE_GETWD), LIBOBJS="$LIBOBJS getwd.o")
AC_CHECK_FUNC(strdup, AC_DEFINE(HAVE_STRDUP), LIBOBJS="$LIBOBJS strdup.o")
-AC_CHECK_FUNC(lsearch, AC_DEFINE(HAVE_LSEARCH), AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) SUDO_LIBS="${SUDO_LIBS} -lcompat" ; VISUDO_LIBS="${VISUDO_LIBS} -lcompat", LIBOBJS="$LIBOBJS lsearch.o"), LIBOBJS="$LIBOBJS lsearch.o"))
+AC_CHECK_FUNC(lsearch, AC_DEFINE(HAVE_LSEARCH), AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) SUDO_LIBS="${SUDO_LIBS} -lcompat"; VISUDO_LIBS="${VISUDO_LIBS} -lcompat", LIBOBJS="$LIBOBJS lsearch.o"), LIBOBJS="$LIBOBJS lsearch.o"))
AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV), AC_FUNC_CHECK(putenv, AC_DEFINE(HAVE_PUTENV), LIBOBJS="$LIBOBJS putenv.o"))
AC_CHECK_FUNC(utime, AC_DEFINE(HAVE_UTIME)
SUDO_FUNC_UTIME_POSIX
AC_CHECK_FUNC(crypt, ,AC_CHECK_LIB(crypt, crypt, SUDO_LIBS="${SUDO_LIBS} -lcrypt", AC_CHECK_LIB(crypt_d, crypt, SUDO_LIBS="${SUDO_LIBS} -lcrypt_d", AC_CHECK_LIB(crypt, ufc, SUDO_LIBS="${SUDO_LIBS} -lufc"))))
fi
dnl
+dnl Bison and DCE use alloca(3), if not in libc, look in -lPW
+dnl (gcc includes its own alloca(3) but other compilers may not)
+dnl
+if test "$with_DCE" = "yes" -o "$ac_cv_prog_YACC" = "bison -y"; then
+ AC_FUNC_ALLOCA
+ if test "$ALLOCA" = "alloca.o"; then
+ AC_CHECK_FUNC(alloca, ,AC_CHECK_LIB(PW, alloca, SUDO_LIBS="${SUDO_LIBS} -lPW"; VISUDO_LIBS="${VISUDO_LIBS} -lPW"))
+ fi
+fi
+dnl
dnl library checks
dnl
dnl Irix doesn't want -lnsl or -lsocket (and Irix 4 needs -lsun)
-if test "$OS" != "irix" ; then
+if test "$OS" != "irix"; then
if test -z "$LIB_NSL"; then
AC_CHECK_LIB(nsl, main, SUDO_LIBS="${SUDO_LIBS} -lnsl")
fi
if test -z "$LIB_SOCKET"; then
AC_CHECK_LIB(socket, main, SUDO_LIBS="${SUDO_LIBS} -lsocket")
fi
-elif test "$OSREV" -lt 5 ; then
+elif test "$OSREV" -lt 5; then
AC_CHECK_LIB(sun, getpwnam, [SUDO_LIBS="${SUDO_LIBS} -lsun"
VISUDO_LIBS="${VISUDO_LIBS} -lsun"]
)
dnl
dnl Find kerberos includes and libs or complain
dnl
-if test "$with_kerb4" = "yes" -o "$with_kerb5" = "yes" ; then
- if test -f "/usr/include/kerberosIV/krb.h" ; then
+if test "$with_kerb4" = "yes" -o "$with_kerb5" = "yes"; then
+ if test -f "/usr/include/kerberosIV/krb.h"; then
CPPFLAGS="${CPPFLAGS} -I/usr/include/kerberosIV"
- elif test -f "/usr/local/include/kerberosIV/krb.h" ; then
+ elif test -f "/usr/local/include/kerberosIV/krb.h"; then
CPPFLAGS="${CPPFLAGS} -I/usr/local/include/kerberosIV"
- elif test -f "/usr/kerberos/include/krb.h" ; then
+ elif test -f "/usr/kerberos/include/krb.h"; then
CPPFLAGS="${CPPFLAGS} -I/usr/kerberos/include"
- elif test -f "/usr/local/kerberos/include/krb.h" ; then
+ elif test -f "/usr/local/kerberos/include/krb.h"; then
CPPFLAGS="${CPPFLAGS} -I/usr/local/kerberos/include"
else
echo 'Unable to locate kerberos include files, you will have to edit the Makefile and add -I/path/to/krb/includes to CPPFLAGS'
fi
- if test -d "/usr/kerberos/lib" ; then
+ if test -d "/usr/kerberos/lib"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -L/usr/kerberos/lib"
- elif test -d "/usr/lib/kerberos" ; then
+ elif test -d "/usr/lib/kerberos"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -L/usr/lib/kerberos"
- elif test -f "/usr/local/lib/libkrb.a" ; then
+ elif test -f "/usr/local/lib/libkrb.a"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -L/usr/local/lib"
- elif test ! -f "/usr/lib/libkrb.a" ; then
+ elif test ! -f "/usr/lib/libkrb.a"; then
echo 'Unable to locate kerberos libraries, you will have to edit the Makefile and add -L/path/to/krb/libs to SUDO_LDFLAGS'
fi
SUDO_LIBS="${SUDO_LIBS} -lkrb -ldes"
- if test "$with_kerb5" = "yes" ; then
+ if test "$with_kerb5" = "yes"; then
SUDO_LIBS="${SUDO_LIBS} -ldes425 -lkrb5 -lcrypto -lcom_err"
fi
fi
dnl
dnl extra AFS libs
dnl
-if test "$with_AFS" = "yes" ; then
- if test -d "/usr/lib/afs" ; then
+if test "$with_AFS" = "yes"; then
+ if test -d "/usr/lib/afs"; then
SUDO_LDFLAGS="${SUDO_LDFLAGS} -L/usr/lib/afs"
else
echo 'Unable to locate AFS libraries, you will have to edit the Makefile and add -L/path/to/afs/libs to SUDO_LDFLAGS'
fi
dnl
-dnl extra DCE lib
+dnl extra DCE obj + lib
+dnl Order of libs in HP-UX 10.x is important, -ldce must be last.
dnl
-if test "$with_DCE" = "yes" ; then
+if test "$with_DCE" = "yes"; then
DCE_OBJS="${DCE_OBJS} dce_pwent.o"
+ SUDO_LIBS="${SUDO_LIBS} -ldce"
fi
dnl
dnl extra Skey lib and includes
dnl
-if test "$with_skey" = "yes" ; then
+if test "$with_skey" = "yes"; then
SUDO_LIBS="${SUDO_LIBS} -lskey"
if test -f /usr/include/skey.h -a -f /usr/lib/libskey.a; then
:
dnl
dnl extra SecurID lib + includes
-if test "$with_SecurID" = "yes" ; then
+dnl
+if test "$with_SecurID" = "yes"; then
SUDO_LIBS="${SUDO_LIBS} /usr/ace/sdiclient.a"
CPPFLAGS="${CPPFLAGS} -I/usr/ace"
fi