dnl -*-m4-*- dnl dnl $Id: configure.in,v 1.20 2003/11/29 23:39:16 mdw Exp $ dnl dnl Source for auto configuration for `become' dnl dnl (c) 1998 Mark Wooding dnl dnl----- Licensing notice --------------------------------------------------- dnl dnl This file is part of `become' dnl dnl `Become' is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl `Become' is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 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.20 2003/11/29 23:39:16 mdw dnl Debianization. dnl dnl Revision 1.19 2003/10/12 00:14:44 mdw dnl Major overhaul. Now uses DSA signatures rather than the bogus symmetric dnl encrypt-and-hope thing. Integrated with mLib and Catacomb. dnl 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 dnl structure. dnl dnl Revision 1.2 1997/08/04 10:24:21 mdw dnl Sources placed under CVS control. dnl dnl Revision 1.1 1997/07/21 13:47:51 mdw dnl Initial revision dnl 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 mdw_GCC_FLAGS AM_PROG_LEX AC_CHECK_PROG(AR, ar, ar) AC_PROG_RANLIB AC_PROG_YACC dnl --- Set default become style --- 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 --- Choose networking options --- 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 --- Debugging stuff --- mdw_OPT_EFENCE mdw_OPT_NDEBUG mdw_OPT_TRACE dnl --- Libraries --- mdw_MLIB(2.0.1) mdw_CATACOMB(2.0.1) mdw_CHECK_MANYLIBS(socket, socket,, [AC_MSG_ERROR([Socket library not found])]) 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 --- 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 conf/Makefile src/Makefile manual/Makefile) dnl----- That's all, folks --------------------------------------------------