-dnl -*-fundamental-*-
+dnl -*-m4-*-
dnl
-dnl $Id: configure.in,v 1.1 1997/07/21 13:47:51 mdw Exp $
+dnl $Id: configure.in,v 1.21 2004/04/08 01:36:20 mdw Exp $
dnl
dnl Source for auto configuration for `become'
dnl
-dnl (c) 1997 Mark Wooding
+dnl (c) 1998 Mark Wooding
dnl
-dnl----- Licencing notice ---------------------------------------------------
+dnl----- Licensing notice ---------------------------------------------------
dnl
dnl This file is part of `become'
dnl
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
-dnl along with `become'; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+dnl along with `become'; if not, write to the Free Software Foundation,
+dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-dnl----- Revision history ---------------------------------------------------
-dnl
-dnl $Log: configure.in,v $
-dnl Revision 1.1 1997/07/21 13:47:51 mdw
-dnl Initial revision
-dnl
-
-AC_INIT(icrypt.c)
-AC_CONFIG_HEADER(config.h)
-VERSION=1.1 AC_SUBST(VERSION)
-AC_DEFINE(VERSION, "1.1 (22 February 1997)")
+AC_INIT(src/become.c)
+AM_INIT_AUTOMAKE(become, 1.4.0)
+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_YACC
-if test "$ac_cv_prog_gcc" = "yes"; then
- CFLAGS="$CFLAGS -pedantic -Wall"
-fi
-dnl --- Libraries ---
+dnl --- Set default become style ---
-AC_CHECK_LIB(socket, socket)
-MDW_LIB_RESOLVER
+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)
-dnl --- Types ---
+dnl --- Choose networking options ---
-AC_TYPE_PID_T
-AC_TYPE_UID_T
+AC_ARG_ENABLE([network],
+[ --disable-network disable the client-server bits of the program],
+ [if test "$enableval" = "no"; then
+ AC_DEFINE(NONETWORK)
+ fi])
+
+dnl --- Set configuration directory ---
+
+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_ARG_WITH([pidfile],
+[ --with-pidfile=PATH set filename for pidfile
+ [default is ETCDIR/become/pid]],
+[pidfile="$withval"], [pidfile="${etcdir}/become.pid"])
+AC_SUBST(pidfile)
+
+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)
+
+mdw_DEFINE_PATHS([
+ mdw_DEFINE_PATH([ETCDIR], [$etcdir])
+ mdw_DEFINE_PATH([file_PID], [$pidfile])
+])
-dnl --- Check on endianness ---
+dnl --- Debugging stuff ---
-AC_C_BIGENDIAN(yes)
+mdw_OPT_EFENCE
+mdw_OPT_NDEBUG
+mdw_OPT_TRACE
-dnl --- Check on type sizes ---
+dnl --- Libraries ---
-AC_CHECK_SIZEOF(int)
+mdw_MLIB(2.0.1)
+mdw_CATACOMB(2.0.1)
-dnl --- Set the path separator ---
+mdw_CHECK_MANYLIBS(socket, socket,,
+ [AC_MSG_ERROR([Socket library not found])])
-AC_DEFINE(PATHSEP, '/')
+mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
+ [AC_MSG_ERROR([Resolver library not found])])
-dnl --- Debugging stuff ---
+mdw_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
-AC_ARG_ENABLE(debugging,
- [--enable-debugging spews vast swathes of useless information],
- [if test "$enableval" = "no"; then
- AC_DEFINE(NDEBUG, 1)
- fi],
- AC_DEFINE(NDEBUG, 1))
+dnl --- Other functions ---
-dnl --- Yell^H^H^H^HNetwork Information System ---
+AC_CHECK_FUNCS(sigprocmask)
-AC_ARG_ENABLE(yp,
- [--enable-yp read user names using ypcat],
- [if test "$enableval" != "no"; then
- AC_DEFINE(HAVE_YP, 1)
- fi],
- MDW_CHECK_YP)
+dnl --- Types ---
+
+AC_TYPE_PID_T
+AC_TYPE_UID_T
+mdw_TYPE_SSIZE_T
+
+dnl --- Set the path separator ---
+
+AC_DEFINE(PATHSEP, '/')
-dnl --- Define where things get put ---
+dnl --- Check for some useful functions ---
-mdw_save_prefix="$prefix"
-test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
-AC_DEFINE_UNQUOTED(ETCDIR, "`eval echo ${sysconfdir}`")
-prefix="$mdw_save_prefix"
+AC_CHECK_FUNCS(setreuid setgroups)
+AC_CHECK_FUNCS(getrusage vtimes)
dnl --- Done ---
-AC_OUTPUT(Makefile)
+AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile)
dnl----- That's all, folks --------------------------------------------------