summaryrefslogtreecommitdiffstats
path: root/src/include/configure.in
blob: 8a4c03d158f23c1ebafe6f2785372c59b6af080f (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
AC_INIT(configure.in)
CONFIG_RULES
AC_CONFIG_HEADER(krb5/autoconf.h)
AC_PROG_INSTALL
AC_PROG_AWK
AC_PROG_LEX
AC_CONST
AC_CHECK_FUNCS(strdup labs setvbuf)
HAVE_YYLINENO
CHECK_DIRENT
AC_TYPE_UID_T
AC_HEADER_CHECK(termios.h,AC_FUNC_CHECK([tcsetattr],AC_DEFINE(POSIX_TERMIOS)))
KRB5_SIGTYPE
AC_CHECK_HEADERS(stdlib.h string.h stddef.h unistd.h sys/types.h sys/file.h sys/param.h sys/stat.h sys/time.h netinet/in.h macsock.h xom.h)
AC_HEADER_STDARG
dnl
dnl check for ANSI stdio, esp "b" option to fopen().  This (unfortunately)
dnl requires a run check...
dnl
AC_MSG_CHECKING([for ANSI stdio])
AC_CACHE_VAL(krb5_cv_has_ansi_stdio,
[AC_TRY_RUN(
[#include <stdio.h>
int main()
{
  FILE *conftest;
  if ((conftest = fopen("conftest.dat", "w")) == NULL) exit(1);
  if (fclose(conftest)) exit(1);
  if ((conftest = fopen("conftest.dat", "rb+")) == NULL) exit(1);
  if (fputs("testing ANSI for stdio\n", conftest) == EOF) exit(1);
  exit(0);
}],
krb5_cv_has_ansi_stdio=yes, krb5_cv_has_ansi_stdio=no,
krb5_cv_has_ansi_stdio=yes)])dnl assume ANSI in cross environment
AC_MSG_RESULT($krb5_cv_has_ansi_stdio)
if test $krb5_cv_has_ansi_stdio = yes; then
AC_DEFINE(ANSI_STDIO)
fi
dnl
KRB5_CHECK_PROTOS
dnl
AC_MSG_CHECKING([prototypes in structs])
AC_CACHE_VAL(krb5_cv_struct_prototypes,
[AC_TRY_COMPILE(
[typedef int i_t; typedef struct foo { int (*foofn)(i_t, i_t); } *footype;],
[],
krb5_cv_struct_prototypes=yes, krb5_cv_struct_prototypes=no)])
AC_MSG_RESULT($krb5_cv_struct_prototypes)
if test $krb5_cv_struct_prototypes = no; then
AC_DEFINE(KRB5_NO_NESTED_PROTOTYPES)
fi
dnl
dnl  Check for void type
dnl
AC_MSG_CHECKING([void])
AC_CACHE_VAL(krb5_cv_has_void_type,
[AC_TRY_COMPILE(
[void x();], [], 
krb5_cv_has_void_type=yes, krb5_cv_has_void_type=no)])
AC_MSG_RESULT($krb5_cv_has_void_type)
if test $krb5_cv_has_void_type = yes; then
AC_DEFINE(HAS_VOID_TYPE)
fi
dnl
dnl Word sizes...
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
dnl
dnl then from osconf.h, we have
dnl
AC_HEADER_TIME
AC_CHECK_TYPE(time_t, long)
dnl
dnl Determine where to put the replay cache.
dnl
AC_MSG_CHECKING([for replay cache directory])
AC_CACHE_VAL(krb5_cv_sys_rcdir,
[
for t_dir in /var/tmp /usr/tmp /var/usr/tmp /tmp ; do
	test -d $t_dir || continue
	krb5_cv_sys_rcdir=$t_dir
	break
done])dnl
AC_MSG_RESULT($krb5_cv_sys_rcdir)
KRB5_RCTMPDIR=$krb5_cv_sys_rcdir
AC_SUBST(KRB5_RCTMPDIR)
dnl
dnl
AC_ARG_ENABLE([athena],
[  --enable-athena         build with MIT Project Athena configuration],
AC_DEFINE(KRB5_ATHENA_COMPAT),)

if test "$KRB4_LIB" = ''; then
	AC_MSG_RESULT(No Kerberos 4 compatibility)
else
	AC_MSG_RESULT(Kerberos 4 compatibility enabled)
	AC_DEFINE(KRB5_KRB4_COMPAT)
fi
dnl
K5_GEN_MAKEFILE(.)
K5_GEN_MAKEFILE(krb5)
K5_GEN_MAKEFILE(kerberosIV)
K5_AC_OUTPUT