chiark / gitweb /
Major overhaul. Now uses DSA signatures rather than the bogus symmetric
[become] / configure.in
1 dnl -*-fundamental-*-
2 dnl
3 dnl $Id: configure.in,v 1.19 2003/10/12 00:14:44 mdw Exp $
4 dnl
5 dnl Source for auto configuration for `become'
6 dnl
7 dnl (c) 1998 Mark Wooding
8 dnl
9
10 dnl----- Licensing notice ---------------------------------------------------
11 dnl 
12 dnl This file is part of `become'
13 dnl 
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.
18 dnl 
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.
23 dnl 
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.
27
28 dnl----- Revision history ---------------------------------------------------
29 dnl
30 dnl $Log: configure.in,v $
31 dnl Revision 1.19  2003/10/12 00:14:44  mdw
32 dnl Major overhaul.  Now uses DSA signatures rather than the bogus symmetric
33 dnl encrypt-and-hope thing.  Integrated with mLib and Catacomb.
34 dnl
35 dnl Revision 1.18  1999/07/28 09:30:12  mdw
36 dnl Use new-fangled mdw_TYPE_SSIZE_T macro.
37 dnl
38 dnl Revision 1.17  1999/05/04 16:25:19  mdw
39 dnl Fixes for new version of automake.
40 dnl
41 dnl Revision 1.16  1998/06/18  15:15:45  mdw
42 dnl Set version number properly.  D'oh.
43 dnl
44 dnl Revision 1.15  1998/06/18 15:11:36  mdw
45 dnl Change patchlevel.  Check for @sigprocmask@, for improved @noise__shell@
46 dnl function.
47 dnl
48 dnl Revision 1.14  1998/06/08 11:22:16  mdw
49 dnl Step version number and date.
50 dnl
51 dnl Revision 1.13  1998/04/23 13:34:10  mdw
52 dnl Release version.
53 dnl
54 dnl Revision 1.12  1998/04/23 13:09:24  mdw
55 dnl Add new option to disable networking.
56 dnl
57 dnl Revision 1.11  1998/02/20 17:55:56  mdw
58 dnl Fix default HTML directory.
59 dnl
60 dnl Revision 1.10  1998/01/12 16:45:21  mdw
61 dnl Fix copyright date.
62 dnl
63 dnl Revision 1.9  1997/09/18  11:24:27  mdw
64 dnl Add `conf' directory.  Add an `htmldir' installation directory too.
65 dnl
66 dnl Revision 1.8  1997/09/17  10:36:30  mdw
67 dnl Remove `set.c'.  No longer necessary.
68 dnl
69 dnl Revision 1.7  1997/09/09 18:18:41  mdw
70 dnl Check for setgroups(2), to see whether subsidiary group lists need to be
71 dnl fiddled with.
72 dnl
73 dnl Revision 1.6  1997/09/08  13:41:14  mdw
74 dnl Check for `setreuid' for changing permissions.
75 dnl
76 dnl Revision 1.5  1997/09/05  11:45:18  mdw
77 dnl Add support for different login styles, and environment variable
78 dnl manipulation in a safe and useful way.
79 dnl
80 dnl Revision 1.4  1997/08/20  16:10:56  mdw
81 dnl Lowercase `mdw_' prefixes to macros.  Add a `--with-etcdir=PATH'
82 dnl option.  Update `stamp-h' as required by the Automake docs (silly
83 dnl me).
84 dnl
85 dnl Revision 1.3  1997/08/07 09:34:32  mdw
86 dnl Added `ElectricFence' support, and support for the `deep' package
87 dnl structure.
88 dnl
89 dnl Revision 1.2  1997/08/04 10:24:21  mdw
90 dnl Sources placed under CVS control.
91 dnl
92 dnl Revision 1.1  1997/07/21  13:47:51  mdw
93 dnl Initial revision
94 dnl
95
96 AC_INIT(src/become.c)
97 AM_INIT_AUTOMAKE(become, 1.4.0)
98 AM_CONFIG_HEADER(config.h)
99
100 dnl --- Check for compilers and things ---
101
102 AC_PROG_CC
103 mdw_GCC_FLAGS
104 AM_PROG_LEX
105 AC_CHECK_PROG(AR, ar, ar)
106 AC_PROG_RANLIB
107 AC_PROG_YACC
108
109 dnl --- Set default become style ---
110
111 AC_ARG_ENABLE([style],
112 [  --enable-style=STYLE   set default style to preserve, setuser, or login],
113 [case "$enableval" in
114   preserve) style="l_preserve" ;;
115   su|setuser) style="l_setuser" ;;
116   login) style="l_login" ;;
117   *) AC_MSG_ERROR([unknown login style: choose preserve, setuser, or login])
118      ;;
119 esac],
120 [style="l_preserve"])
121 AC_DEFINE_UNQUOTED(DEFAULT_LOGIN_STYLE, $style)
122
123 dnl --- Choose networking options ---
124
125 AC_ARG_ENABLE([network],
126 [  --disable-network      disable the client-server bits of the program],
127   [if test "$enableval" = "no"; then
128     AC_DEFINE(NONETWORK)
129   fi])
130
131 dnl --- Set configuration directory ---
132
133 AC_ARG_WITH([etcdir],
134 [  --with-etcdir=PATH     set directory for configuration and key files
135                           [default is /etc/become]],
136 [etcdir="$withval"], [etcdir="/etc/become"])
137 AC_SUBST(etcdir)
138 AC_DEFINE_UNQUOTED(ETCDIR, "$etcdir")
139
140 AC_ARG_WITH([htmldir],
141 [  --with-htmldir=PATH    set directory for HTML documentation
142                           [default is PREFIX/html/become]],
143 [htmldir="$withval"], [htmldir='${prefix}/html/become'])
144 AC_SUBST(htmldir)
145
146 dnl --- Debugging stuff ---
147
148 mdw_OPT_EFENCE
149 mdw_OPT_NDEBUG
150 mdw_OPT_TRACE
151
152 dnl --- Libraries ---
153
154 mdw_MLIB(2.0.1)
155 mdw_CATACOMB(2.0.1)
156
157 mdw_CHECK_MANYLIBS(socket, socket,,
158   [AC_MSG_ERROR([Socket library not found])])
159
160 mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
161   [AC_MSG_ERROR([Resolver library not found])])
162
163 mdw_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
164
165 dnl --- Other functions ---
166
167 AC_CHECK_FUNCS(sigprocmask)
168
169 dnl --- Types ---
170
171 AC_TYPE_PID_T
172 AC_TYPE_UID_T
173 mdw_TYPE_SSIZE_T
174
175 dnl --- Set the path separator ---
176
177 AC_DEFINE(PATHSEP, '/')
178
179 dnl --- Check for some useful functions ---
180
181 AC_CHECK_FUNCS(setreuid setgroups)
182 AC_CHECK_FUNCS(getrusage vtimes)
183
184 dnl --- Done ---
185
186 AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile)
187
188 dnl----- That's all, folks --------------------------------------------------