aboutsummaryrefslogtreecommitdiff
path: root/src/appl/bsd/configure.in
blob: 8cf0213ba0e2df76316eda1e9472eca057e3a3f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
K5_AC_INIT(krlogind.c)
CONFIG_RULES
KRB5_AC_INET6
LOGINLIBS=
AC_ARG_WITH([afs],
[  --without-afs        don't have afs libraries to build against (default)
  --with-afs=AFSDIR    use preinstalled AFS library tree],
,with_afs=no)dnl
if test $with_afs != no; then
	AC_DEFINE(SETPAG,1,[Define if setpag should be used])
	LOGINLIBS="$LOGINLIBS -L$with_afs/lib -L$with_afs/lib/afs -lauth -lsys -lrx -llwp"
fi
AC_PROG_INSTALL
dnl dbm libs for use of an_to_ln
save_LIBS="$LIBS"
 LIBS=
 AC_CHECK_LIB(crypt,crypt)
 LOGINLIBS="$LOGINLIBS $LIBS"
LIBS="$save_LIBS"
dnl
dnl AIX has them all; SCO might too
AC_CHECK_LIB(odm,main,
  AC_CHECK_LIB(s,main,
    AC_CHECK_LIB(cfg,main, 
      LOGINLIBS="$LOGINLIBS -lodm -ls -lcfg" 
      )))
dnl
dnl Make our operating system-specific security checks and definitions for
dnl login.
dnl
case $krb5_cv_host in
*-*-aix3*)
	# AIX has streams include files but not streams TTY
	# Moreover, strops.h trashes sys/ioctl.h
	krb5_cv_has_streams=no
	;;
alpha*-dec-osf*)
	AC_CHECK_LIB(security,setluid,
		AC_DEFINE(HAVE_SETLUID,1,[Define if setluid is supplied by the OSF/1 security library])
		LOGINLIBS="$LOGINLIBS -lsecurity"
	)
	;;
esac
dnl
dnl krshd does not use krb524...
dnl
KRSHDLIBS="$LOGINLIBS"
dnl 
dnl After beta6 this functionality will be integrated with aclocal.m4
AC_ARG_WITH([krb4],
[  --without-krb4          don't include Kerberos V4 backwards compatibility
  --with-krb4             use V4 libraries included with V5 (default)
  --with-krb4=KRB4DIR     use preinstalled V4 libraries],
,
withval=yes
)dnl
if test $withval = no; then
	AC_MSG_RESULT(no krb4 support)
	V4RCP=
	V4RCPO=
else 
	AC_MSG_RESULT(Adding in krb4 rcp support)
	V4RCP=v4rcp
	V4RCPO=v4rcp.o
fi
dnl
dnl
AC_SUBST(KRSHDLIBS)
AC_SUBST(LOGINLIBS)
AC_SUBST(V4RCP)
AC_SUBST(V4RCPO)
dnl
AC_FUNC_VFORK
AC_TYPE_MODE_T
AC_CHECK_FUNCS(isatty inet_aton getenv gettosbyname killpg initgroups setpriority setreuid setresuid waitpid setsid ptsname setlogin tcgetpgrp tcsetpgrp setpgid strsave utimes rmufile rresvport_af)
AC_CHECK_HEADERS(unistd.h stdlib.h string.h sys/filio.h sys/sockio.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h utmp.h sys/time.h krb4-proto.h sys/ioctl_compat.h paths.h arpa/nameser.h)
AC_HEADER_STDARG
AC_REPLACE_FUNCS(getdtablesize)
dnl
KRB5_AC_NEED_DAEMON
dnl
KRB5_SIGTYPE
CHECK_SIGNALS
CHECK_SETJMP
CHECK_DIRENT
CHECK_WAIT_TYPE
AC_CHECK_HEADER(termios.h,[AC_CHECK_FUNC(cfsetispeed,AC_DEFINE(POSIX_TERMIOS,1,[Define if POSIX-compatible termios interface is found]))])
CHECK_UTMP
KRB5_GETSOCKNAME_ARGS
dnl
dnl Check for where the BSD rlogin, rcp, and rsh programs live.
dnl
save_path=$PATH
ifdef([_AC_PROG_ECHO], [_AC_PROG_ECHO])
ifdef([AC_PROG_ECHO_N], [AC_PROG_ECHO_N])
AC_ARG_ENABLE([athena],
[  --enable-athena         build with MIT Project Athena configuration],
[PATH=/usr/athena/bin:/bin:/usr/bin:/usr/bsd:/usr/ucb],
[PATH=/bin:/usr/bin:/usr/bsd:/usr/ucb])
AC_PATH_PROG(UCB_RLOGIN,rlogin,/usr/ucb/rlogin)
AC_PATH_PROG(UCB_RSH,rsh,/usr/ucb/rsh)
AC_PATH_PROG(UCB_RCP,rcp,/usr/ucb/rcp)
PATH=$save_path
ifdef([_AC_PROG_ECHO], [_AC_PROG_ECHO])
ifdef([AC_PROG_ECHO_N], [AC_PROG_ECHO_N])
dnl
dnl
AC_MSG_CHECKING([streams interface])
AC_CACHE_VAL(krb5_cv_has_streams,
[AC_TRY_COMPILE(
[#include <sys/stream.h>
#include <sys/stropts.h>], [],
krb5_cv_has_streams=yes, krb5_cv_has_streams=no)])
AC_MSG_RESULT($krb5_cv_has_streams)
if test $krb5_cv_has_streams = yes; then
AC_DEFINE(HAVE_STREAMS,1,[Define if the OS uses streams])
fi
dnl
dnl
AC_MSG_CHECKING([F_SETOWN])
AC_CACHE_VAL(krb5_cv_f_setown,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <fcntl.h>], [1+F_SETOWN;],
krb5_cv_f_setown=yes,krb5_cv_f_setown=no)])
AC_MSG_RESULT($krb5_cv_f_setown)
if test $krb5_cv_f_setown = yes; then
AC_DEFINE(HAVE_SETOWN,1,[Define if F_SETOWN is available])
fi
dnl
dnl
AC_MSG_CHECKING([setenv])
AC_CACHE_VAL(krb5_cv_setenv,
[AC_TRY_LINK(
[],[setenv("PATH","/bin",0);],
krb5_cv_setenv=yes,krb5_cv_setenv=no)])
AC_MSG_RESULT($krb5_cv_setenv)
if test $krb5_cv_setenv = no; then
SETENVSRC=setenv.c
SETENVOBJ=setenv.o
AC_SUBST([SETENVSRC])
AC_SUBST([SETENVOBJ])
AC_DEFINE([NEED_SETENV],1,[Define if setenv needs to be defined])
fi
dnl
dnl
AC_MSG_CHECKING([number of arguments to setpgrp])
AC_CACHE_VAL(krb5_cv_setpgrp_args,
[AC_TRY_COMPILE(
[#ifndef __STDC__
#define __STDC__ 1
#endif
#include <unistd.h>],[setpgrp(0,0)],
krb5_cv_setpgrp_args=two, krb5_cv_setpgrp_args=void)])
AC_MSG_RESULT($krb5_cv_setpgrp_args)
if test $krb5_cv_setpgrp_args = two; then
AC_DEFINE(SETPGRP_TWOARG,1,[Define if setpgrp takes two arguments])
fi
dnl
dnl
AC_MSG_CHECKING([shadow password support])
AC_CACHE_VAL(krb5_cv_shadow_pwd,
[AC_TRY_LINK(
[#include <sys/types.h>
#include <pwd.h>
#include <shadow.h>],
[struct spwd *sp = getspnam("root")],
krb5_cv_shadow_pwd=yes, krb5_cv_shadow_pwd=no)])
AC_MSG_RESULT($krb5_cv_shadow_pwd)
if test $krb5_cv_shadow_pwd = yes; then
AC_DEFINE(HAVE_SHADOW,1,[Define if shadow password interface is available])
fi
dnl
dnl
K5_AC_CHECK_FILES(/etc/environment /etc/TIMEZONE)
dnl
dnl
AC_C_CONST
if test "$krb5_cv_build_krb4_libs" = yes; then
	AC_DEFINE(HAVE_KRB_GET_ERR_TEXT)
	AC_DEFINE(HAVE_KRB_SAVE_CREDENTIALS)
else
	oldlibs=$LIBS
	LIBS=" $KRB4_LIB -lkrb5 -lcrypto -lcom_err"
	AC_CHECK_FUNCS(krb_get_err_text krb_save_credentials)
	LIBS=$oldlibs
fi

AC_CHECK_HEADERS(krb4-proto.h)
KRB5_AC_LIBUTIL
KRB5_BUILD_PROGRAM
V5_AC_OUTPUT_MAKEFILE