X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/c4f2d992e4a0fc068281376d89ec38de56dc2f58..3c45ef4a36cb65e1cf73d03d27a877d3031e95b3:/configure.in diff --git a/configure.in b/configure.in index 7dc5995..640ff3e 100644 --- a/configure.in +++ b/configure.in @@ -1,13 +1,13 @@ dnl -*-fundamental-*- dnl -dnl $Id: configure.in,v 1.1 1997/07/21 13:47:51 mdw Exp $ +dnl $Id: configure.in,v 1.9 1997/09/18 11:24:27 mdw Exp $ dnl dnl Source for auto configuration for `become' dnl dnl (c) 1997 Mark Wooding dnl -dnl----- Licencing notice --------------------------------------------------- +dnl----- Licensing notice --------------------------------------------------- dnl dnl This file is part of `become' dnl @@ -22,20 +22,51 @@ 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 -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 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(icrypt.c) +AC_INIT(src/icrypt.c) AC_CONFIG_HEADER(config.h) -VERSION=1.1 AC_SUBST(VERSION) -AC_DEFINE(VERSION, "1.1 (22 February 1997)") +PACKAGE=become VERSION=1.2-pre +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) +AC_DEFINE(VERSION, "1.2-pre (17 September 1997)") dnl --- Check for compilers and things --- @@ -44,60 +75,96 @@ AC_PROG_INSTALL AC_PROG_LEX AC_CHECK_PROG(AR, ar, ar) AC_PROG_RANLIB +AC_PROG_MAKE_SET AC_PROG_YACC -if test "$ac_cv_prog_gcc" = "yes"; then +AC_ARG_PROGRAM +if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -pedantic -Wall" fi +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 --- 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_DEFINE_UNQUOTED(ETCDIR, "$etcdir") + +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 --- + +AC_ARG_WITH(electric-fence, +[ --with-electric-fence link programs with Electric Fence], + [if test "$withval" = "yes"; then + AC_CHECK_LIB(efence, malloc) + fi]) + +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)) + +AC_ARG_ENABLE(tracing, +[ --enable-tracing enable output of tracing information], + [if test "$enableval" = "yes"; then + AC_DEFINE(TRACING) + fi], + AC_DEFINE(TRACING)) + dnl --- Libraries --- -AC_CHECK_LIB(socket, socket) -MDW_LIB_RESOLVER +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 --- Types --- AC_TYPE_PID_T AC_TYPE_UID_T - -dnl --- Check on endianness --- - -AC_C_BIGENDIAN(yes) +AC_CHECK_TYPE(ssize_t, int) dnl --- Check on type sizes --- -AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(int, 2) dnl --- Set the path separator --- AC_DEFINE(PATHSEP, '/') -dnl --- Debugging stuff --- - -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 --- Yell^H^H^H^HNetwork Information System --- - -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 --- 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, + [test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h]) dnl----- That's all, folks --------------------------------------------------