3 dnl $Id: configure.in,v 1.20 2003/11/29 23:39:16 mdw Exp $
5 dnl Source for auto configuration for `become'
7 dnl (c) 1998 Mark Wooding
10 dnl----- Licensing notice ---------------------------------------------------
12 dnl This file is part of `become'
14 dnl `Become' is free software; you can redistribute it and/or modify
15 dnl it under the terms of the GNU General Public License as published by
16 dnl the Free Software Foundation; either version 2 of the License, or
17 dnl (at your option) any later version.
19 dnl `Become' is distributed in the hope that it will be useful,
20 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
21 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 dnl GNU General Public License for more details.
24 dnl You should have received a copy of the GNU General Public License
25 dnl along with `become'; if not, write to the Free Software Foundation,
26 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28 dnl----- Revision history ---------------------------------------------------
30 dnl $Log: configure.in,v $
31 dnl Revision 1.20 2003/11/29 23:39:16 mdw
34 dnl Revision 1.19 2003/10/12 00:14:44 mdw
35 dnl Major overhaul. Now uses DSA signatures rather than the bogus symmetric
36 dnl encrypt-and-hope thing. Integrated with mLib and Catacomb.
38 dnl Revision 1.18 1999/07/28 09:30:12 mdw
39 dnl Use new-fangled mdw_TYPE_SSIZE_T macro.
41 dnl Revision 1.17 1999/05/04 16:25:19 mdw
42 dnl Fixes for new version of automake.
44 dnl Revision 1.16 1998/06/18 15:15:45 mdw
45 dnl Set version number properly. D'oh.
47 dnl Revision 1.15 1998/06/18 15:11:36 mdw
48 dnl Change patchlevel. Check for @sigprocmask@, for improved @noise__shell@
51 dnl Revision 1.14 1998/06/08 11:22:16 mdw
52 dnl Step version number and date.
54 dnl Revision 1.13 1998/04/23 13:34:10 mdw
57 dnl Revision 1.12 1998/04/23 13:09:24 mdw
58 dnl Add new option to disable networking.
60 dnl Revision 1.11 1998/02/20 17:55:56 mdw
61 dnl Fix default HTML directory.
63 dnl Revision 1.10 1998/01/12 16:45:21 mdw
64 dnl Fix copyright date.
66 dnl Revision 1.9 1997/09/18 11:24:27 mdw
67 dnl Add `conf' directory. Add an `htmldir' installation directory too.
69 dnl Revision 1.8 1997/09/17 10:36:30 mdw
70 dnl Remove `set.c'. No longer necessary.
72 dnl Revision 1.7 1997/09/09 18:18:41 mdw
73 dnl Check for setgroups(2), to see whether subsidiary group lists need to be
76 dnl Revision 1.6 1997/09/08 13:41:14 mdw
77 dnl Check for `setreuid' for changing permissions.
79 dnl Revision 1.5 1997/09/05 11:45:18 mdw
80 dnl Add support for different login styles, and environment variable
81 dnl manipulation in a safe and useful way.
83 dnl Revision 1.4 1997/08/20 16:10:56 mdw
84 dnl Lowercase `mdw_' prefixes to macros. Add a `--with-etcdir=PATH'
85 dnl option. Update `stamp-h' as required by the Automake docs (silly
88 dnl Revision 1.3 1997/08/07 09:34:32 mdw
89 dnl Added `ElectricFence' support, and support for the `deep' package
92 dnl Revision 1.2 1997/08/04 10:24:21 mdw
93 dnl Sources placed under CVS control.
95 dnl Revision 1.1 1997/07/21 13:47:51 mdw
100 AM_INIT_AUTOMAKE(become, 1.4.0)
101 AM_CONFIG_HEADER(config.h)
103 dnl --- Check for compilers and things ---
108 AC_CHECK_PROG(AR, ar, ar)
112 dnl --- Set default become style ---
114 AC_ARG_ENABLE([style],
115 [ --enable-style=STYLE set default style to preserve, setuser, or login],
116 [case "$enableval" in
117 preserve) style="l_preserve" ;;
118 su|setuser) style="l_setuser" ;;
119 login) style="l_login" ;;
120 *) AC_MSG_ERROR([unknown login style: choose preserve, setuser, or login])
123 [style="l_preserve"])
124 AC_DEFINE_UNQUOTED(DEFAULT_LOGIN_STYLE, $style)
126 dnl --- Choose networking options ---
128 AC_ARG_ENABLE([network],
129 [ --disable-network disable the client-server bits of the program],
130 [if test "$enableval" = "no"; then
134 dnl --- Set configuration directory ---
136 AC_ARG_WITH([etcdir],
137 [ --with-etcdir=PATH set directory for configuration and key files
138 [default is /etc/become]],
139 [etcdir="$withval"], [etcdir="/etc/become"])
142 AC_ARG_WITH([pidfile],
143 [ --with-pidfile=PATH set filename for pidfile
144 [default is ETCDIR/become/pid]],
145 [pidfile="$withval"], [pidfile="${etcdir}/become.pid"])
148 AC_ARG_WITH([htmldir],
149 [ --with-htmldir=PATH set directory for HTML documentation
150 [default is PREFIX/html/become]],
151 [htmldir="$withval"], [htmldir='${prefix}/html/become'])
155 mdw_DEFINE_PATH([ETCDIR], [$etcdir])
156 mdw_DEFINE_PATH([file_PID], [$pidfile])
159 dnl --- Debugging stuff ---
165 dnl --- Libraries ---
170 mdw_CHECK_MANYLIBS(socket, socket,,
171 [AC_MSG_ERROR([Socket library not found])])
173 mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
174 [AC_MSG_ERROR([Resolver library not found])])
176 mdw_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
178 dnl --- Other functions ---
180 AC_CHECK_FUNCS(sigprocmask)
188 dnl --- Set the path separator ---
190 AC_DEFINE(PATHSEP, '/')
192 dnl --- Check for some useful functions ---
194 AC_CHECK_FUNCS(setreuid setgroups)
195 AC_CHECK_FUNCS(getrusage vtimes)
199 AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile)
201 dnl----- That's all, folks --------------------------------------------------