b0f66028 |
1 | dnl -*-m4-*- |
c4f2d992 |
2 | dnl |
27fb3b27 |
3 | dnl $Id$ |
c4f2d992 |
4 | dnl |
5 | dnl Source for auto configuration for `become' |
6 | dnl |
c758e654 |
7 | dnl (c) 1998 Mark Wooding |
c4f2d992 |
8 | dnl |
9 | |
03f996bd |
10 | dnl----- Licensing notice --------------------------------------------------- |
c4f2d992 |
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 |
03f996bd |
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. |
c4f2d992 |
27 | |
f60a3434 |
28 | AC_INIT(src/become.c) |
29 | AM_INIT_AUTOMAKE(become, 1.4.0) |
b6ea915c |
30 | AM_CONFIG_HEADER(config.h) |
c4f2d992 |
31 | |
32 | dnl --- Check for compilers and things --- |
33 | |
34 | AC_PROG_CC |
b6ea915c |
35 | mdw_GCC_FLAGS |
36 | AM_PROG_LEX |
c4f2d992 |
37 | AC_CHECK_PROG(AR, ar, ar) |
38 | AC_PROG_RANLIB |
39 | AC_PROG_YACC |
c4f2d992 |
40 | |
387501ae |
41 | dnl --- Set default become style --- |
42 | |
43 | AC_ARG_ENABLE([style], |
ffbfa517 |
44 | [ --enable-style=STYLE set default style to preserve, setuser, or login], |
f36dccc8 |
45 | [case "$enableval" in |
387501ae |
46 | preserve) style="l_preserve" ;; |
ffbfa517 |
47 | su|setuser) style="l_setuser" ;; |
387501ae |
48 | login) style="l_login" ;; |
f36dccc8 |
49 | *) AC_MSG_ERROR([unknown login style: choose preserve, setuser, or login]) |
50 | ;; |
387501ae |
51 | esac], |
52 | [style="l_preserve"]) |
27fb3b27 |
53 | AC_DEFINE_UNQUOTED([DEFAULT_LOGIN_STYLE], [$style], |
54 | [Default login style: l_preserve, l_setuser or l_login.]) |
387501ae |
55 | |
45732897 |
56 | dnl --- Choose networking options --- |
57 | |
58 | AC_ARG_ENABLE([network], |
59 | [ --disable-network disable the client-server bits of the program], |
60 | [if test "$enableval" = "no"; then |
27fb3b27 |
61 | AC_DEFINE([NONETWORK], [1], [Define to disable network support.]) |
45732897 |
62 | fi]) |
63 | |
f81d049a |
64 | dnl --- Set configuration directory --- |
65 | |
66 | AC_ARG_WITH([etcdir], |
67 | [ --with-etcdir=PATH set directory for configuration and key files |
68 | [default is /etc/become]], |
69 | [etcdir="$withval"], [etcdir="/etc/become"]) |
70 | AC_SUBST(etcdir) |
b0f66028 |
71 | |
72 | AC_ARG_WITH([pidfile], |
73 | [ --with-pidfile=PATH set filename for pidfile |
74 | [default is ETCDIR/become/pid]], |
75 | [pidfile="$withval"], [pidfile="${etcdir}/become.pid"]) |
76 | AC_SUBST(pidfile) |
f81d049a |
77 | |
df962e20 |
78 | AC_ARG_WITH([htmldir], |
79 | [ --with-htmldir=PATH set directory for HTML documentation |
80 | [default is PREFIX/html/become]], |
07981d85 |
81 | [htmldir="$withval"], [htmldir='${prefix}/html/become']) |
df962e20 |
82 | AC_SUBST(htmldir) |
83 | |
27fb3b27 |
84 | AH_TEMPLATE([ETCDIR], [Where Become should look for its configuration.]) |
85 | AH_TEMPLATE([file_PID], [Where Become should write its process-id.]) |
b0f66028 |
86 | mdw_DEFINE_PATHS([ |
87 | mdw_DEFINE_PATH([ETCDIR], [$etcdir]) |
88 | mdw_DEFINE_PATH([file_PID], [$pidfile]) |
89 | ]) |
90 | |
c4f2d992 |
91 | dnl --- Debugging stuff --- |
92 | |
f60a3434 |
93 | mdw_OPT_EFENCE |
94 | mdw_OPT_NDEBUG |
95 | mdw_OPT_TRACE |
c4f2d992 |
96 | |
f36dccc8 |
97 | dnl --- Libraries --- |
98 | |
f60a3434 |
99 | mdw_MLIB(2.0.1) |
15547517 |
100 | mdw_CATACOMB(2.1.0) |
f60a3434 |
101 | |
f36dccc8 |
102 | mdw_CHECK_MANYLIBS(socket, socket,, |
27fb3b27 |
103 | [AC_MSG_ERROR([Socket library not found.])]) |
f36dccc8 |
104 | |
105 | mdw_CHECK_MANYLIBS(gethostbyname, resolv nsl,, |
27fb3b27 |
106 | [AC_MSG_ERROR([Resolver library not found.])]) |
f36dccc8 |
107 | |
27fb3b27 |
108 | mdw_CHECK_MANYLIBS([yp_all], [nsl], |
109 | [AC_DEFINE([HAVE_YP], [1], |
110 | [Define if you have (and want to use) the Yellow Peril.])]) |
f36dccc8 |
111 | |
82399d0a |
112 | dnl --- Other functions --- |
113 | |
27fb3b27 |
114 | AC_CHECK_FUNCS([sigprocmask]) |
82399d0a |
115 | |
f36dccc8 |
116 | dnl --- Types --- |
117 | |
118 | AC_TYPE_PID_T |
119 | AC_TYPE_UID_T |
98661ef5 |
120 | mdw_TYPE_SSIZE_T |
f36dccc8 |
121 | |
f36dccc8 |
122 | dnl --- Set the path separator --- |
123 | |
27fb3b27 |
124 | AC_DEFINE([PATHSEP], ['/'], [Your operating system's path separator.]) |
f36dccc8 |
125 | |
126 | dnl --- Check for some useful functions --- |
127 | |
128 | AC_CHECK_FUNCS(setreuid setgroups) |
129 | AC_CHECK_FUNCS(getrusage vtimes) |
130 | |
c4f2d992 |
131 | dnl --- Done --- |
132 | |
b6ea915c |
133 | AC_OUTPUT(Makefile conf/Makefile src/Makefile manual/Makefile) |
c4f2d992 |
134 | |
135 | dnl----- That's all, folks -------------------------------------------------- |