Step version number and date.
[become] / configure.in
1 dnl -*-fundamental-*-
2 dnl
3 dnl $Id: configure.in,v 1.14 1998/06/08 11:22:16 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.14 1998/06/08 11:22:16 mdw
32 dnl Step version number and date.
33 dnl
34 dnl Revision 1.13 1998/04/23 13:34:10 mdw
35 dnl Release version.
36 dnl
37 dnl Revision 1.12 1998/04/23 13:09:24 mdw
38 dnl Add new option to disable networking.
39 dnl
40 dnl Revision 1.11 1998/02/20 17:55:56 mdw
41 dnl Fix default HTML directory.
42 dnl
43 dnl Revision 1.10 1998/01/12 16:45:21 mdw
44 dnl Fix copyright date.
45 dnl
46 dnl Revision 1.9 1997/09/18 11:24:27 mdw
47 dnl Add `conf' directory. Add an `htmldir' installation directory too.
48 dnl
49 dnl Revision 1.8 1997/09/17 10:36:30 mdw
50 dnl Remove `set.c'. No longer necessary.
51 dnl
52 dnl Revision 1.7 1997/09/09 18:18:41 mdw
53 dnl Check for setgroups(2), to see whether subsidiary group lists need to be
54 dnl fiddled with.
55 dnl
56 dnl Revision 1.6 1997/09/08 13:41:14 mdw
57 dnl Check for `setreuid' for changing permissions.
58 dnl
59 dnl Revision 1.5 1997/09/05 11:45:18 mdw
60 dnl Add support for different login styles, and environment variable
61 dnl manipulation in a safe and useful way.
62 dnl
63 dnl Revision 1.4 1997/08/20 16:10:56 mdw
64 dnl Lowercase `mdw_' prefixes to macros. Add a `--with-etcdir=PATH'
65 dnl option. Update `stamp-h' as required by the Automake docs (silly
66 dnl me).
67 dnl
68 dnl Revision 1.3 1997/08/07 09:34:32 mdw
69 dnl Added `ElectricFence' support, and support for the `deep' package
70 dnl structure.
71 dnl
72 dnl Revision 1.2 1997/08/04 10:24:21 mdw
73 dnl Sources placed under CVS control.
74 dnl
75 dnl Revision 1.1 1997/07/21 13:47:51 mdw
76 dnl Initial revision
77 dnl
78
79 AC_INIT(src/icrypt.c)
80 AC_CONFIG_HEADER(config.h)
81 PACKAGE=become
82 VERSION=1.3.1
83 AC_DEFINE(VERSION, "1.3.1 (8 June 1998)")
84 AC_SUBST(PACKAGE)
85 AC_SUBST(VERSION)
86
87 dnl --- Check for compilers and things ---
88
89 AC_PROG_CC
90 AC_PROG_INSTALL
91 AC_PROG_LEX
92 AC_CHECK_PROG(AR, ar, ar)
93 AC_PROG_RANLIB
94 AC_PROG_MAKE_SET
95 AC_PROG_YACC
96 AC_ARG_PROGRAM
97 if test "$GCC" = "yes"; then
98 CFLAGS="$CFLAGS -pedantic -Wall"
99 fi
100
101 dnl --- Set default become style ---
102
103 AC_ARG_ENABLE([style],
104 [ --enable-style=STYLE set default style to preserve, setuser, or login],
105 [case "$enableval" in
106 preserve) style="l_preserve" ;;
107 su|setuser) style="l_setuser" ;;
108 login) style="l_login" ;;
109 *) AC_MSG_ERROR([unknown login style: choose preserve, setuser, or login])
110 ;;
111 esac],
112 [style="l_preserve"])
113 AC_DEFINE_UNQUOTED(DEFAULT_LOGIN_STYLE, $style)
114
115 dnl --- Choose networking options ---
116
117 AC_ARG_ENABLE([network],
118 [ --disable-network disable the client-server bits of the program],
119 [if test "$enableval" = "no"; then
120 AC_DEFINE(NONETWORK)
121 fi])
122
123 dnl --- Set configuration directory ---
124
125 AC_ARG_WITH([etcdir],
126 [ --with-etcdir=PATH set directory for configuration and key files
127 [default is /etc/become]],
128 [etcdir="$withval"], [etcdir="/etc/become"])
129 AC_SUBST(etcdir)
130 AC_DEFINE_UNQUOTED(ETCDIR, "$etcdir")
131
132 AC_ARG_WITH([htmldir],
133 [ --with-htmldir=PATH set directory for HTML documentation
134 [default is PREFIX/html/become]],
135 [htmldir="$withval"], [htmldir='${prefix}/html/become'])
136 AC_SUBST(htmldir)
137
138 dnl --- Debugging stuff ---
139
140 AC_ARG_WITH(electric-fence,
141 [ --with-electric-fence link programs with Electric Fence],
142 [if test "$withval" = "yes"; then
143 AC_CHECK_LIB(efence, malloc)
144 fi])
145
146 AC_ARG_ENABLE(debugging,
147 [ --enable-debugging spews vast swathes of useless information],
148 [if test "$enableval" = "no"; then
149 AC_DEFINE(NDEBUG, 1)
150 fi],
151 AC_DEFINE(NDEBUG, 1))
152
153 AC_ARG_ENABLE(tracing,
154 [ --enable-tracing enable output of tracing information],
155 [if test "$enableval" = "yes"; then
156 AC_DEFINE(TRACING)
157 fi],
158 AC_DEFINE(TRACING))
159
160 dnl --- Libraries ---
161
162 mdw_CHECK_MANYLIBS(socket, socket,,
163 [AC_MSG_ERROR([Socket library not found])])
164
165 mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,,
166 [AC_MSG_ERROR([Resolver library not found])])
167
168 mdw_CHECK_MANYLIBS(yp_all, nsl, AC_DEFINE(HAVE_YP))
169
170 dnl --- Types ---
171
172 AC_TYPE_PID_T
173 AC_TYPE_UID_T
174 AC_CHECK_TYPE(ssize_t, int)
175
176 dnl --- Check on type sizes ---
177
178 AC_CHECK_SIZEOF(int, 2)
179
180 dnl --- Set the path separator ---
181
182 AC_DEFINE(PATHSEP, '/')
183
184 dnl --- Check for some useful functions ---
185
186 AC_CHECK_FUNCS(setreuid setgroups)
187 AC_CHECK_FUNCS(getrusage vtimes)
188
189 dnl --- Done ---
190
191 AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile,
192 [test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h])
193
194 dnl----- That's all, folks --------------------------------------------------