dnl -*-fundamental-*-
dnl
-dnl $Id: configure.in,v 1.3 1997/08/07 09:34:32 mdw Exp $
+dnl $Id: configure.in,v 1.18 1999/07/28 09:30:12 mdw Exp $
dnl
dnl Source for auto configuration for `become'
dnl
-dnl (c) 1997 Mark Wooding
+dnl (c) 1998 Mark Wooding
dnl
dnl----- Licensing notice ---------------------------------------------------
dnl----- Revision history ---------------------------------------------------
dnl
dnl $Log: configure.in,v $
+dnl Revision 1.18 1999/07/28 09:30:12 mdw
+dnl Use new-fangled mdw_TYPE_SSIZE_T macro.
+dnl
+dnl Revision 1.17 1999/05/04 16:25:19 mdw
+dnl Fixes for new version of automake.
+dnl
+dnl Revision 1.16 1998/06/18 15:15:45 mdw
+dnl Set version number properly. D'oh.
+dnl
+dnl Revision 1.15 1998/06/18 15:11:36 mdw
+dnl Change patchlevel. Check for @sigprocmask@, for improved @noise__shell@
+dnl function.
+dnl
+dnl Revision 1.14 1998/06/08 11:22:16 mdw
+dnl Step version number and date.
+dnl
+dnl Revision 1.13 1998/04/23 13:34:10 mdw
+dnl Release version.
+dnl
+dnl Revision 1.12 1998/04/23 13:09:24 mdw
+dnl Add new option to disable networking.
+dnl
+dnl Revision 1.11 1998/02/20 17:55:56 mdw
+dnl Fix default HTML directory.
+dnl
+dnl Revision 1.10 1998/01/12 16:45:21 mdw
+dnl Fix copyright date.
+dnl
+dnl Revision 1.9 1997/09/18 11:24:27 mdw
+dnl Add `conf' directory. Add an `htmldir' installation directory too.
+dnl
+dnl Revision 1.8 1997/09/17 10:36:30 mdw
+dnl Remove `set.c'. No longer necessary.
+dnl
+dnl Revision 1.7 1997/09/09 18:18:41 mdw
+dnl Check for setgroups(2), to see whether subsidiary group lists need to be
+dnl fiddled with.
+dnl
+dnl Revision 1.6 1997/09/08 13:41:14 mdw
+dnl Check for `setreuid' for changing permissions.
+dnl
+dnl Revision 1.5 1997/09/05 11:45:18 mdw
+dnl Add support for different login styles, and environment variable
+dnl manipulation in a safe and useful way.
+dnl
+dnl Revision 1.4 1997/08/20 16:10:56 mdw
+dnl Lowercase `mdw_' prefixes to macros. Add a `--with-etcdir=PATH'
+dnl option. Update `stamp-h' as required by the Automake docs (silly
+dnl me).
+dnl
dnl Revision 1.3 1997/08/07 09:34:32 mdw
-dnl Added `ElectricFence' support, and support for the `deep' package structure.
+dnl Added `ElectricFence' support, and support for the `deep' package
+dnl structure.
dnl
dnl Revision 1.2 1997/08/04 10:24:21 mdw
dnl Sources placed under CVS control.
dnl
AC_INIT(src/icrypt.c)
-AC_CONFIG_HEADER(config.h)
-PACKAGE=become VERSION=1.2-pre
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-AC_DEFINE(VERSION, "1.2-pre (24 July 1997)")
+AM_INIT_AUTOMAKE(become, 1.3.3)
+AM_CONFIG_HEADER(config.h)
dnl --- Check for compilers and things ---
AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LEX
+mdw_GCC_FLAGS
+AM_PROG_LEX
AC_CHECK_PROG(AR, ar, ar)
AC_PROG_RANLIB
-AC_PROG_MAKE_SET
AC_PROG_YACC
-AC_ARG_PROGRAM
-if test "$ac_cv_prog_gcc" = "yes"; then
- CFLAGS="$CFLAGS -pedantic -Wall"
-fi
-
-dnl --- Libraries ---
-MDW_CHECK_MANYLIBS(socket, socket,,
- AC_MSG_ERROR([Socket library not found]))
+dnl --- Set default become style ---
-MDW_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
- AC_MSG_ERROR([Resolver library not found]))
+AC_ARG_ENABLE([style],
+[ --enable-style=STYLE set default style to preserve, setuser, or login],
+[case "$enableval" in
+ preserve) style="l_preserve" ;;
+ su|setuser) style="l_setuser" ;;
+ login) style="l_login" ;;
+ *) AC_MSG_ERROR([unknown login style: choose preserve, setuser, or login])
+ ;;
+esac],
+[style="l_preserve"])
+AC_DEFINE_UNQUOTED(DEFAULT_LOGIN_STYLE, $style)
-MDW_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
+dnl --- Choose networking options ---
-dnl --- Types ---
-
-AC_TYPE_PID_T
-AC_TYPE_UID_T
-AC_CHECK_TYPE(ssize_t, int)
-
-dnl --- Check on type sizes ---
-
-AC_CHECK_SIZEOF(int, 2)
-
-dnl --- Set the path separator ---
+AC_ARG_ENABLE([network],
+[ --disable-network disable the client-server bits of the program],
+ [if test "$enableval" = "no"; then
+ AC_DEFINE(NONETWORK)
+ fi])
-AC_DEFINE(PATHSEP, '/')
+dnl --- Set configuration directory ---
-dnl --- Check for some useful functions ---
+AC_ARG_WITH([etcdir],
+[ --with-etcdir=PATH set directory for configuration and key files
+ [default is /etc/become]],
+[etcdir="$withval"], [etcdir="/etc/become"])
+AC_SUBST(etcdir)
+AC_DEFINE_UNQUOTED(ETCDIR, "$etcdir")
-AC_CHECK_FUNCS(getrusage vtimes)
+AC_ARG_WITH([htmldir],
+[ --with-htmldir=PATH set directory for HTML documentation
+ [default is PREFIX/html/become]],
+[htmldir="$withval"], [htmldir='${prefix}/html/become'])
+AC_SUBST(htmldir)
dnl --- Debugging stuff ---
fi],
AC_DEFINE(TRACING))
-dnl --- Define where things get put ---
+dnl --- Libraries ---
+
+mdw_CHECK_MANYLIBS(socket, socket,,
+ [AC_MSG_ERROR([Socket library not found])])
-mdw_save_prefix="$prefix"
-test "$prefix" = "NONE" && prefix="$ac_default_prefix"
-AC_DEFINE_UNQUOTED(ETCDIR, "`eval echo ${sysconfdir}`")
-prefix="$mdw_save_prefix"
+mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
+ [AC_MSG_ERROR([Resolver library not found])])
+
+mdw_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
+
+dnl --- Other functions ---
+
+AC_CHECK_FUNCS(sigprocmask)
+
+dnl --- Types ---
+
+AC_TYPE_PID_T
+AC_TYPE_UID_T
+mdw_TYPE_SSIZE_T
+
+dnl --- Check on type sizes ---
+
+AC_CHECK_SIZEOF(int, 2)
+
+dnl --- Set the path separator ---
+
+AC_DEFINE(PATHSEP, '/')
+
+dnl --- Check for some useful functions ---
+
+AC_CHECK_FUNCS(setreuid setgroups)
+AC_CHECK_FUNCS(getrusage vtimes)
dnl --- Done ---
-AC_OUTPUT(Makefile src/Makefile manual/Makefile)
+AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile)
dnl----- That's all, folks --------------------------------------------------