]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - crypto/heimdal/configure.in
This commit was generated by cvs2svn to compensate for changes in r59419,
[FreeBSD/FreeBSD.git] / crypto / heimdal / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION($Revision: 1.218 $)
3 AC_INIT(lib/krb5/send_to_kdc.c)
4 AM_CONFIG_HEADER(include/config.h)
5
6 AM_INIT_AUTOMAKE(heimdal,0.2p)
7
8 AC_PREFIX_DEFAULT(/usr/heimdal)
9
10 AC_CANONICAL_HOST
11 CANONICAL_HOST=$host
12 AC_SUBST(CANONICAL_HOST)
13
14 sunos=no
15 case "$host" in 
16 *-*-sunos4*)
17         sunos=40
18         ;;
19 *-*-solaris2.7)
20         sunos=57
21         ;;
22 *-*-solaris2*)
23         sunos=50
24         ;;
25 esac
26 if test "$sunos" != no; then
27         AC_DEFINE_UNQUOTED(SunOS, $sunos, 
28                 [Define to what version of SunOS you are running.])
29 fi
30
31 aix=no
32 case "$host" in 
33 *-*-aix3*)
34         aix=3
35         ;;
36 *-*-aix4*)
37         aix=4
38         ;;
39 esac
40
41 #test -z "$CFLAGS" && CFLAGS="-g"
42
43 dnl Checks for programs.
44 AC_PROG_CC
45
46 AC_CYGWIN
47 AC_OBJEXT
48 AC_EXEEXT
49
50 dnl AC_KRB_PROG_YACC
51 AC_PROG_YACC
52 AM_PROG_LEX
53 AC_PROG_RANLIB
54 AC_PROG_AWK
55 AC_KRB_PROG_LN_S
56
57 AC_MIPS_ABI
58 CC="$CC $abi"
59 libdir="$libdir$abilibdirext"
60
61 AC_C___ATTRIBUTE__
62
63 AM_DISABLE_SHARED
64 AM_PROG_LIBTOOL
65
66 AC_WFLAGS(-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs)
67
68 berkeley_db=db
69 AC_ARG_WITH(berkeley-db,
70 [  --without-berkeley-db   if you don't want berkeley db],[
71 if test "$withval" = no; then
72         berkeley_db=""
73 fi
74 ])
75
76 AC_TEST_PACKAGE_NEW(krb4,[#include <krb.h>],-lkrb,-ldes,/usr/athena)
77
78 LIB_kdb=
79 if test "$with_krb4" != "no"; then
80         save_CFLAGS="$CFLAGS"
81         CFLAGS="$CFLAGS $INCLUDE_krb4"
82         save_LIBS="$LIBS"
83         LIBS="$LIB_krb4 -ldes $LIBS"
84         EXTRA_LIB45=lib45.a
85         AC_SUBST(EXTRA_LIB45)
86         AC_CACHE_CHECK(for four valued krb_put_int, ac_cv_func_krb_put_int_four,
87                 [AC_TRY_COMPILE([#include <krb.h>],[
88                 char tmp[4];
89                 krb_put_int(17, tmp, 4, sizeof(tmp));],
90                 ac_cv_func_krb_put_int_four=yes,
91                 ac_cv_func_krb_put_int_four=no)
92         ])
93         if test "$ac_cv_func_krb_put_int_four" = yes; then
94                 AC_DEFINE(HAVE_FOUR_VALUED_KRB_PUT_INT, 1,
95                         [define if krb_put_int takes four arguments.])
96         fi
97         AC_CACHE_CHECK(for KRB_VERIFY_SECURE, ac_cv_func_krb_verify_secure,
98                 [AC_TRY_COMPILE([#include <krb.h>],[
99                 int x = KRB_VERIFY_SECURE],
100                 ac_cv_func_krb_verify_secure=yes,
101                 ac_cv_func_krb_verify_secure=no)
102         ])
103         if test "$ac_cv_func_krb_verify_secure" != yes; then
104                 AC_DEFINE(KRB_VERIFY_SECURE, 1,
105                         [Define to one if your krb.h doesn't])
106                 AC_DEFINE(KRB_VERIFY_SECURE_FAIL, 2,
107                         [Define to two if your krb.h doesn't])
108         fi
109         AC_CACHE_CHECK(for KRB_VERIFY_NOT_SECURE,
110                 ac_cv_func_krb_verify_not_secure,
111                 [AC_TRY_COMPILE([#include <krb.h>],[
112                 int x = KRB_VERIFY_NOT_SECURE],
113                 ac_cv_func_krb_verify_not_secure=yes,
114                 ac_cv_func_krb_verify_not_secure=no)
115         ])
116         if test "$ac_cv_func_krb_verify_not_secure" != yes; then
117                 AC_DEFINE(KRB_VERIFY_NOT_SECURE, 0,
118                         [Define to zero if your krb.h doesn't])
119         fi
120         AC_FIND_FUNC(krb_enable_debug)
121         AC_FIND_FUNC(krb_disable_debug)
122         AC_FIND_FUNC(krb_get_our_ip_for_realm)
123         LIBS="$save_LIBS"
124         CFLAGS="$save_CFLAGS"
125         LIB_kdb="-lkdb -lkrb"
126         if test "$krb4_libdir"; then
127                 LIB_krb4="-rpath $krb4_libdir $LIB_krb4"
128                 LIB_kdb="-rpath $krb4_libdir -L$krb4_libdir $LIB_kdb"
129         fi
130 fi
131 AM_CONDITIONAL(KRB4, test "$with_krb4" != "no")
132 AM_CONDITIONAL(KRB5, true)
133 AC_DEFINE(KRB5, 1, [Enable Kerberos 5 support in applications.])dnl
134 AC_SUBST(LIB_kdb)dnl
135 AM_CONDITIONAL(AIX, test "$aix" != no)dnl
136 AM_CONDITIONAL(AIX4, test "$aix" = 4)
137 aix_dynamic_afs=yes
138 AM_CONDITIONAL(AIX_DYNAMIC_AFS, test "$aix_dynamic_afs" = yes)dnl
139
140 AC_FIND_FUNC_NO_LIBS(dlopen, dl)
141
142 if test "$aix" != no; then
143         if test "$aix_dynamic_afs" = yes; then
144                 if test "$ac_cv_funclib_dlopen" = yes; then
145                         AIX_EXTRA_KAFS=
146                 elif test "$ac_cv_funclib_dlopen" != no; then
147                         AIX_EXTRA_KAFS="$ac_cv_funclib_dlopen"
148                 else
149                         AIX_EXTRA_KAFS=-lld
150                 fi
151         else
152                 AIX_EXTRA_KAFS=
153         fi
154 fi
155
156 AM_CONDITIONAL(HAVE_DLOPEN, test "$ac_cv_funclib_dlopen" != no)dnl
157 AC_SUBST(AFS_EXTRA_LD)dnl
158 AC_SUBST(AIX_EXTRA_KAFS)dnl
159
160 AC_ARG_ENABLE(kaserver,
161 [  --enable-kaserver      if you want the KDC to try to emulate a kaserver])
162 if test "$enable_kaserver" = yes; then
163         AC_DEFINE(KASERVER, 1,
164                 [Define if you want to use the KDC as a kaserver.])
165         if test "$with_krb4" = "no"; then
166                 AC_MSG_ERROR(kaserver requires krb4)
167                 exit 1
168         fi
169 fi
170
171 AC_ARG_ENABLE(kaserver-db,
172 [  --enable-kaserver-db   if you want support for reading kaserver databases in hprop])
173 if test "$enable_kaserver_db" = yes; then
174         AC_DEFINE(KASERVER_DB, 1,
175                 [Define if you want support in hprop for reading kaserver databases])
176         if test "$with_krb4" = "no"; then
177                 AC_MSG_ERROR(kaserver-db requires krb4)
178                 exit 1
179         fi
180 fi
181
182 otp=yes
183 AC_ARG_ENABLE(otp,
184 [  --disable-otp          if you don't want OTP support],
185 [
186 if test "$enableval" = "no"; then
187         otp=no
188 fi
189 ])
190 if test "$otp" = "yes"; then
191         AC_DEFINE(OTP, 1, [Define if you want OTP support in applications.])
192         LIB_otp='$(top_builddir)/lib/otp/libotp.la'
193 fi
194 AC_SUBST(LIB_otp)
195 AM_CONDITIONAL(OTP, test "$otp" = yes)dnl
196
197 AC_CHECK_OSFC2
198
199 AC_CHECK_MAN
200
201 AC_TEST_PACKAGE_NEW(readline,
202 [#include <stdio.h>
203  #include <readline.h>],-lreadline)
204
205 AC_TEST_PACKAGE_NEW(hesiod,[#include <hesiod.h>],-lhesiod)
206
207 KRB_C_BIGENDIAN
208 AC_C_INLINE
209
210 KRB_CHECK_X
211
212 if test "$no_x" = "yes" ; then
213         MAKE_X_PROGS_BIN_PROGS=""
214         MAKE_X_PROGS_BIN_SCRPTS=""
215         MAKE_X_PROGS_LIBEXEC_PROGS=""
216 else
217         MAKE_X_PROGS_BIN_PROGS='$(X_PROGS_BIN_PROGS)'
218         MAKE_X_PROGS_BIN_SCRPTS='$(X_PROGS_BIN_SCRPTS)'
219         MAKE_X_PROGS_LIBEXEC_PROGS='$(X_PROGS_LIBEXEC_PROGS)'
220 fi
221 AC_SUBST(MAKE_X_PROGS_BIN_PROGS)dnl
222 AC_SUBST(MAKE_X_PROGS_BIN_SCRPTS)dnl
223 AC_SUBST(MAKE_X_PROGS_LIBEXEC_PROGS)dnl
224
225 AC_CHECK_XAU
226
227 dnl AM_C_PROTOTYPES
228
229 dnl Checks for typedefs, structures, and compiler characteristics.
230 AC_C_CONST
231 AC_TYPE_OFF_T
232 AC_TYPE_SIZE_T
233 AC_CHECK_TYPE_EXTRA(ssize_t, int, [#include <unistd.h>])
234 AC_TYPE_PID_T
235 AC_TYPE_UID_T
236 AC_CHECK_TYPE_EXTRA(mode_t, unsigned short, [])
237 AC_CHECK_TYPE_EXTRA(sig_atomic_t, int, [#include <signal.h>])
238 AC_HAVE_TYPE([long long])
239 AC_HEADER_TIME
240 AC_STRUCT_TM
241
242 dnl Checks for header files.
243 AC_HEADER_STDC
244
245 if test "$berkeley_db"; then
246   AC_CHECK_HEADERS([                            \
247         db.h                                    \
248         db_185.h                                \
249   ])
250 fi
251
252 AC_CHECK_HEADERS([\
253         arpa/ftp.h                              \
254         arpa/inet.h                             \
255         arpa/nameser.h                          \
256         arpa/telnet.h                           \
257         bind/bitypes.h                          \
258         bsdsetjmp.h                             \
259         crypt.h                                 \
260         curses.h                                \
261         dbm.h                                   \
262         dirent.h                                \
263         dlfcn.h                                 \
264         err.h                                   \
265         errno.h                                 \
266         fcntl.h                                 \
267         fnmatch.h                               \
268         grp.h                                   \
269         inttypes.h                              \
270         io.h                                    \
271         limits.h                                \
272         maillock.h                              \
273         ndbm.h                                  \
274         net/if.h                                \
275         netdb.h                                 \
276         netinet/in.h                            \
277         netinet/in6.h                           \
278         netinet/in6_machtypes.h                 \
279         netinet/in6_var.h                       \
280         netinet/in_systm.h                      \
281         netinet6/in6.h                          \
282         netinfo/ni.h                            \
283         paths.h                                 \
284         pthread.h                               \
285         pty.h                                   \
286         pwd.h                                   \
287         resolv.h                                \
288         rpcsvc/dbm.h                            \
289         sac.h                                   \
290         security/pam_modules.h                  \
291         sgtty.h                                 \
292         shadow.h                                \
293         siad.h                                  \
294         signal.h                                \
295         stropts.h                               \
296         sys/bitypes.h                           \
297         sys/category.h                          \
298         sys/file.h                              \
299         sys/filio.h                             \
300         sys/ioccom.h                            \
301         sys/ioctl.h                             \
302         sys/param.h                             \
303         sys/proc.h                              \
304         sys/pty.h                               \
305         sys/ptyio.h                             \
306         sys/ptyvar.h                            \
307         sys/resource.h                          \
308         sys/select.h                            \
309         sys/socket.h                            \
310         sys/sockio.h                            \
311         sys/stat.h                              \
312         sys/str_tty.h                           \
313         sys/stream.h                            \
314         sys/stropts.h                           \
315         sys/strtty.h                            \
316         sys/syscall.h                           \
317         sys/sysctl.h                            \
318         sys/termio.h                            \
319         sys/time.h                              \
320         sys/timeb.h                             \
321         sys/times.h                             \
322         sys/tty.h                               \
323         sys/types.h                             \
324         sys/uio.h                               \
325         sys/un.h                                \
326         sys/utsname.h                           \
327         sys/wait.h                              \
328         syslog.h                                \
329         term.h                                  \
330         termio.h                                \
331         termios.h                               \
332         time.h                                  \
333         tmpdir.h                                \
334         udb.h                                   \
335         unistd.h                                \
336         util.h                                  \
337         utmp.h                                  \
338         utmpx.h                                 \
339 ])
340
341 CHECK_NETINET_IP_AND_TCP
342
343
344 AC_ARG_ENABLE(netinfo,
345 [  --enable-netinfo      enable netinfo for configuration lookup])
346
347 if test "$ac_cv_header_netinfo_ni_h" = yes -a "$enable_netinfo" = yes; then
348        AC_DEFINE(HAVE_NETINFO, 1,
349                [Define if you want to use Netinfo instead of krb5.conf.])
350 fi
351
352 AM_CONDITIONAL(have_err_h, test "$ac_cv_header_err_h" = yes)
353 AM_CONDITIONAL(have_fnmatch_h, test "$ac_cv_header_fnmatch_h" = yes)
354
355 AC_KRB_IPV6
356
357 dnl Checks for libraries.
358
359 AC_FIND_FUNC(socket, socket)
360 AC_FIND_FUNC(gethostbyname, nsl)
361 AC_FIND_FUNC(syslog, syslog)
362
363 AC_FIND_FUNC_NO_LIBS(logwtmp, util)
364 AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses)
365 AC_FIND_FUNC(gethostbyname2, inet6 ip6)
366
367 AC_FIND_FUNC(res_search, resolv,
368 [
369 #include <stdio.h>
370 #ifdef HAVE_SYS_TYPES_H
371 #include <sys/types.h>
372 #endif
373 #ifdef HAVE_NETINET_IN_H
374 #include <netinet/in.h>
375 #endif
376 #ifdef HAVE_ARPA_NAMESER_H
377 #include <arpa/nameser.h>
378 #endif
379 #ifdef HAVE_RESOLV_H
380 #include <resolv.h>
381 #endif
382 ],
383 [0,0,0,0,0])
384
385 AC_FIND_FUNC(dn_expand, resolv,
386 [
387 #include <stdio.h>
388 #ifdef HAVE_SYS_TYPES_H
389 #include <sys/types.h>
390 #endif
391 #ifdef HAVE_NETINET_IN_H
392 #include <netinet/in.h>
393 #endif
394 #ifdef HAVE_ARPA_NAMESER_H
395 #include <arpa/nameser.h>
396 #endif
397 #ifdef HAVE_RESOLV_H
398 #include <resolv.h>
399 #endif
400 ],
401 [0,0,0,0,0])
402
403 dnl Checks for library functions.
404
405 AC_BROKEN_SNPRINTF
406 AC_BROKEN_VSNPRINTF
407
408 AC_BROKEN_GLOB
409
410 if test "$ac_cv_func_glob_working" != yes; then
411         LIBOBJS="$LIBOBJS glob.o"
412 fi
413 AM_CONDITIONAL(have_glob_h, test "$ac_cv_func_glob_working" = yes)
414
415 dnl these should happen after tests for *snprintf
416
417 AC_FIND_FUNC_NO_LIBS(dbopen, $berkeley_db)
418 AC_FIND_FUNC_NO_LIBS(dbm_firstkey, $berkeley_db gdbm ndbm)
419
420 DBLIB="$LIB_dbopen"
421 if test "$LIB_dbopen" != "$LIB_dbm_firstkey"; then
422         DBLIB="$DBLIB $LIB_dbm_firstkey"
423 fi
424 AC_SUBST(DBLIB)dnl
425
426 AC_CHECK_FUNCS(_getpty _scrsize asnprintf asprintf cgetent fcntl)
427 AC_CHECK_FUNCS(getmsg getrlimit getspnam gettimeofday getuid)
428 AC_CHECK_FUNCS(grantpt mktime ptsname rand random setproctitle)
429 AC_CHECK_FUNCS(revoke select setitimer setpcred setpgid)
430 AC_CHECK_FUNCS(setregid setresgid setresuid setreuid setutent)
431 AC_CHECK_FUNCS(setsid sigaction strstr)
432 AC_CHECK_FUNCS(sysconf sysctl timegm ttyname ttyslot umask uname)
433 AC_CHECK_FUNCS(unlockpt vasnprintf vasprintf vhangup)
434 AC_CHECK_FUNCS(yp_get_default_domain)
435
436 if test "$ac_cv_func_cgetent" = no; then
437         LIBOBJS="$LIBOBJS getcap.o"
438 fi
439
440 AC_FUNC_GETLOGIN
441
442 KRB_CAPABILITIES
443
444 AC_CHECK_GETPWNAM_R_POSIX
445
446 AC_FIND_FUNC_NO_LIBS(getsockopt,,
447 [#ifdef HAVE_SYS_TYPES_H
448 #include <sys/types.h>
449 #endif
450 #ifdef HAVE_SYS_SOCKET_H
451 #include <sys/socket.h>
452 #endif],
453 [0,0,0,0,0])
454 AC_FIND_FUNC_NO_LIBS(setsockopt,,
455 [#ifdef HAVE_SYS_TYPES_H
456 #include <sys/types.h>
457 #endif
458 #ifdef HAVE_SYS_SOCKET_H
459 #include <sys/socket.h>
460 #endif],
461 [0,0,0,0,0])
462
463 dnl Cray stuff
464 AC_CHECK_FUNCS(getudbnam setlim)
465
466 AC_TYPE_SIGNAL
467 if test "$ac_cv_type_signal" = "void" ; then
468         AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.])
469 fi
470 AC_SUBST(VOID_RETSIGTYPE)
471
472 AC_FIND_IF_NOT_BROKEN(hstrerror, resolv,
473 [#ifdef HAVE_NETDB_H
474 #include <netdb.h>
475 #endif],
476 17)
477 if test "$ac_cv_func_hstrerror" = yes; then
478 AC_NEED_PROTO([
479 #ifdef HAVE_NETDB_H
480 #include <netdb.h>
481 #endif],
482 hstrerror)
483 fi
484
485 dnl sigh, wish this could be done in a loop
486 if test "$ac_cv_func_asprintf" = yes; then
487 AC_NEED_PROTO([
488 #include <stdio.h>
489 #include <string.h>],
490 asprintf)dnl
491 fi
492 if test "$ac_cv_func_vasprintf" = yes; then
493 AC_NEED_PROTO([
494 #include <stdio.h>
495 #include <string.h>],
496 vasprintf)dnl
497 fi
498 if test "$ac_cv_func_asnprintf" = yes; then
499 AC_NEED_PROTO([
500 #include <stdio.h>
501 #include <string.h>],
502 asnprintf)dnl
503 fi
504 if test "$ac_cv_func_vasnprintf" = yes; then
505 AC_NEED_PROTO([
506 #include <stdio.h>
507 #include <string.h>],
508 vasnprintf)dnl
509 fi
510
511 AC_BROKEN(chown copyhostent daemon err errx fchown flock fnmatch)
512 AC_BROKEN(freeaddrinfo freehostent gai_strerror getaddrinfo)
513 AC_BROKEN(getcwd getdtablesize gethostname getipnodebyaddr getipnodebyname)
514 AC_BROKEN(geteuid getgid getegid)
515 AC_BROKEN(getnameinfo getopt getusershell)
516 AC_BROKEN(inet_aton inet_ntop inet_pton initgroups innetgr iruserok lstat)
517 AC_BROKEN(memmove)
518 AC_BROKEN(mkstemp putenv rcmd readv recvmsg sendmsg setegid setenv seteuid)
519 AC_BROKEN(strcasecmp strncasecmp strdup strerror strftime)
520 AC_BROKEN(strlcat strlcpy strlwr)
521 AC_BROKEN(strndup strnlen strptime strsep strtok_r strupr)
522 AC_BROKEN(swab unsetenv verr verrx vsyslog)
523 AC_BROKEN(vwarn vwarnx warn warnx writev)
524
525 AC_NEED_PROTO([#include <stdlib.h>], setenv)
526 AC_NEED_PROTO([#include <stdlib.h>], unsetenv)
527 AC_NEED_PROTO([#include <unistd.h>], gethostname)
528 AC_NEED_PROTO([#include <unistd.h>], mkstemp)
529 AC_NEED_PROTO([#include <unistd.h>], getusershell)
530
531 AC_NEED_PROTO([
532 #ifdef HAVE_SYS_TYPES_H
533 #include <sys/types.h>
534 #endif
535 #ifdef HAVE_SYS_SOCKET_H
536 #include <sys/socket.h>
537 #endif
538 #ifdef HAVE_NETINET_IN_H
539 #include <netinet/in.h>
540 #endif
541 #ifdef HAVE_ARPA_INET_H
542 #include <arpa/inet.h>
543 #endif],
544 inet_aton)
545
546 AC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl
547
548 dnl
549 dnl libroken references crypt and dbopen
550 dnl
551
552 LIB_roken='$(top_builddir)/lib/roken/libroken.la $(LIB_crypt) $(LIB_dbopen)'
553 AC_SUBST(LIB_roken)dnl
554
555 AC_CACHE_CHECK(if realloc if broken, ac_cv_func_realloc_broken, [
556 ac_cv_func_realloc_broken=no
557 AC_TRY_RUN([
558 #include <stddef.h>
559 #include <stdlib.h>
560
561 int main()
562 {
563         return realloc(NULL, 17) == NULL;
564 }
565 ],:, ac_cv_func_realloc_broken=yes, :)
566 ])
567 if test "$ac_cv_func_realloc_broken" = yes ; then
568         AC_DEFINE(BROKEN_REALLOC, 1, [Define if realloc(NULL) doesn't work.])
569 fi
570
571 dnl AC_KRB_FUNC_GETCWD_BROKEN
572
573 dnl
574 dnl Checks for prototypes and declarations
575 dnl
576
577 AC_PROTO_COMPAT([
578 #ifdef HAVE_SYS_TYPES_H
579 #include <sys/types.h>
580 #endif
581 #ifdef HAVE_SYS_SOCKET_H
582 #include <sys/socket.h>
583 #endif
584 #ifdef HAVE_NETINET_IN_H
585 #include <netinet/in.h>
586 #endif
587 #ifdef HAVE_ARPA_INET_H
588 #include <arpa/inet.h>
589 #endif
590 #ifdef HAVE_NETDB_H
591 #include <netdb.h>
592 #endif
593 ],
594 gethostbyname, struct hostent *gethostbyname(const char *))
595
596 AC_PROTO_COMPAT([
597 #ifdef HAVE_SYS_TYPES_H
598 #include <sys/types.h>
599 #endif
600 #ifdef HAVE_SYS_SOCKET_H
601 #include <sys/socket.h>
602 #endif
603 #ifdef HAVE_NETINET_IN_H
604 #include <netinet/in.h>
605 #endif
606 #ifdef HAVE_ARPA_INET_H
607 #include <arpa/inet.h>
608 #endif
609 #ifdef HAVE_NETDB_H
610 #include <netdb.h>
611 #endif
612 ],
613 gethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int))
614
615 AC_PROTO_COMPAT([
616 #ifdef HAVE_SYS_TYPES_H
617 #include <sys/types.h>
618 #endif
619 #ifdef HAVE_SYS_SOCKET_H
620 #include <sys/socket.h>
621 #endif
622 #ifdef HAVE_NETINET_IN_H
623 #include <netinet/in.h>
624 #endif
625 #ifdef HAVE_ARPA_INET_H
626 #include <arpa/inet.h>
627 #endif
628 #ifdef HAVE_NETDB_H
629 #include <netdb.h>
630 #endif
631 ],
632 getservbyname, struct servent *getservbyname(const char *, const char *))
633
634 AC_PROTO_COMPAT([
635 #ifdef HAVE_SYSLOG_H
636 #include <syslog.h>
637 #endif
638 ],
639 openlog, void openlog(const char *, int, int))
640
641 AC_NEED_PROTO([
642 #ifdef HAVE_CRYPT_H
643 #include <crypt.h>
644 #endif
645 #ifdef HAVE_UNISTD_H
646 #include <unistd.h>
647 #endif
648 ],
649 crypt)
650
651 AC_NEED_PROTO([
652 #include <string.h>
653 ],
654 strtok_r)
655
656 AC_NEED_PROTO([
657 #include <string.h>
658 ],
659 strsep)
660
661 AC_CHECK_VAR([#ifdef HAVE_SYS_TYPES_H
662 #include <sys/types.h>
663 #endif
664 #ifdef HAVE_NETDB_H
665 #include <netdb.h>
666 #endif],
667 h_errno)
668
669 AC_CHECK_VAR([#ifdef HAVE_NETDB_H
670 #include <netdb.h>
671 #endif],
672 h_errlist)
673
674 AC_CHECK_VAR([#ifdef HAVE_NETDB_H
675 #include <netdb.h>
676 #endif],
677 h_nerr)
678
679 AC_CHECK_VAR([#ifdef HAVE_ERR_H
680 #include <err.h>
681 #endif],[__progname])
682
683 AC_CHECK_DECLARATION([#include <stdlib.h>
684 #ifdef HAVE_UNISTD_H
685 #include <unistd.h>
686 #endif], optarg)
687 AC_CHECK_DECLARATION([#include <stdlib.h>
688 #ifdef HAVE_UNISTD_H
689 #include <unistd.h>
690 #endif], optind)
691 AC_CHECK_DECLARATION([#include <stdlib.h>
692 #ifdef HAVE_UNISTD_H
693 #include <unistd.h>
694 #endif], opterr)
695 AC_CHECK_DECLARATION([#include <stdlib.h>
696 #ifdef HAVE_UNISTD_H
697 #include <unistd.h>
698 #endif], optopt)
699
700 AC_CHECK_DECLARATION([#include <stdlib.h>], environ)
701
702 dnl
703 dnl Check for fields in struct utmp
704 dnl
705
706 AC_HAVE_STRUCT_FIELD(struct utmp, ut_addr, [#include <utmp.h>])
707 AC_HAVE_STRUCT_FIELD(struct utmp, ut_host, [#include <utmp.h>])
708 AC_HAVE_STRUCT_FIELD(struct utmp, ut_id, [#include <utmp.h>])
709 AC_HAVE_STRUCT_FIELD(struct utmp, ut_pid, [#include <utmp.h>])
710 AC_HAVE_STRUCT_FIELD(struct utmp, ut_type, [#include <utmp.h>])
711 AC_HAVE_STRUCT_FIELD(struct utmp, ut_user, [#include <utmp.h>])
712 AC_HAVE_STRUCT_FIELD(struct utmpx, ut_exit, [#include <utmpx.h>])
713 AC_HAVE_STRUCT_FIELD(struct utmpx, ut_syslen, [#include <utmpx.h>])
714
715 dnl
716 dnl Check for fields in struct tm
717 dnl
718
719 AC_HAVE_STRUCT_FIELD(struct tm, tm_gmtoff, [#include <time.h>])
720 AC_HAVE_STRUCT_FIELD(struct tm, tm_zone, [#include <time.h>])
721
722 dnl
723 dnl or do we have a variable `timezone' ?
724 dnl
725
726 AC_CHECK_VAR(
727 [#include <time.h>],
728 timezone)
729
730 AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
731
732 AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
733
734 AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>])
735
736 AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>])
737
738 AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
739
740 dnl
741 dnl Check for struct winsize
742 dnl
743
744 AC_KRB_STRUCT_WINSIZE
745
746 dnl
747 dnl Check for struct spwd
748 dnl
749
750 AC_KRB_STRUCT_SPWD
751
752 dnl
753 dnl Check for sa_len in struct sockaddr
754 dnl
755
756 AC_HAVE_STRUCT_FIELD(struct sockaddr, sa_len, [#include <sys/types.h>
757 #include <sys/socket.h>])
758
759
760 AC_GROK_TYPES(int8_t int16_t int32_t int64_t)
761 AC_GROK_TYPES(u_int8_t u_int16_t u_int32_t u_int64_t)
762
763 dnl
764 dnl crypto functions tests
765 dnl
766
767 AC_FIND_FUNC_NO_LIBS(MD4Init, crypto)
768 AC_FIND_FUNC_NO_LIBS(MD4_Init, crypto)
769 AC_FIND_FUNC_NO_LIBS(MD5Init, crypto)
770 AC_FIND_FUNC_NO_LIBS(MD5_Init, crypto)
771 AC_FIND_FUNC_NO_LIBS(SHA1Init, crypto)
772 AC_FIND_FUNC_NO_LIBS(SHA1_Init, crypto)
773 AC_FIND_FUNC_NO_LIBS(des_cbc_encrypt, crypto des)
774
775 dnl
776 dnl Tests for editline
777 dnl
778
779 dnl el_init
780
781 AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent])
782 if test "$ac_cv_func_el_init" = yes ; then
783         AC_CACHE_CHECK(for four argument el_init, ac_cv_func_el_init_four,[
784                 AC_TRY_COMPILE([#include <stdio.h>
785                         #include <histedit.h>],
786                         [el_init("", NULL, NULL, NULL);],
787                         ac_cv_func_el_init_four=yes,
788                         ac_cv_func_el_init_four=no)])
789         if test "$ac_cv_func_el_init_four" = yes; then
790                 AC_DEFINE(HAVE_FOUR_VALUED_EL_INIT, 1, [Define if el_init takes four arguments.])
791         fi
792 fi
793
794 dnl readline
795
796 ac_foo=no
797 if test "$with_readline" = yes; then
798         :
799 elif test "$ac_cv_func_readline" = yes; then
800         :
801 elif test "$ac_cv_func_el_init" = yes; then
802         ac_foo=yes
803         LIB_readline="\$(top_builddir)/lib/editline/libel_compat.a $LIB_el_init"
804 else
805         LIB_readline='$(top_builddir)/lib/editline/libeditline.a'
806 fi
807 AM_CONDITIONAL(el_compat, test "$ac_foo" = yes)
808 if test "$readline_libdir"; then
809         LIB_readline="-rpath $readline_libdir $LIB_readline"
810 fi
811 LIB_readline="$LIB_readline \$(LIB_tgetent)"
812 AC_DEFINE(HAVE_READLINE, 1, 
813         [Define if you have a readline compatible library.])dnl
814
815 dnl telnet muck --------------------------------------------------
816
817 AC_DEFINE(AUTHENTICATION, 1, 
818         [Define if you want authentication support in telnet.])dnl
819 AC_DEFINE(ENCRYPTION, 1,
820         [Define if you want encryption support in telnet.])dnl
821 AC_DEFINE(DES_ENCRYPTION, 1,
822         [Define if you want to use DES encryption in telnet.])dnl
823 AC_DEFINE(DIAGNOSTICS, 1,
824         [Define this to enable diagnostics in telnet.])dnl
825 AC_DEFINE(OLD_ENVIRON, 1,
826         [Define this to enable old environment option in telnet.])dnl
827 if false; then
828 AC_DEFINE(ENV_HACK, 1,
829         [Define this if you want support for broken ENV_{VAR,VAL} telnets.])
830 fi
831
832 # Simple test for streamspty, based on the existance of getmsg(), alas
833 # this breaks on SunOS4 which have streams but BSD-like ptys
834 #
835 # And also something wierd has happend with dec-osf1, fallback to bsd-ptys
836
837 AC_MSG_CHECKING(for streamspty)
838 case "$host" in
839 *-*-aix3*|*-*-sunos4*|*-*-osf*|*-*-hpux10*)
840         krb_cv_sys_streamspty=no
841         ;;
842 *)
843         krb_cv_sys_streamspty="$ac_cv_func_getmsg"
844         ;;
845 esac
846 if test "$krb_cv_sys_streamspty" = yes; then
847         AC_DEFINE(STREAMSPTY, 1, [Define if you have streams ptys.])
848 fi
849 dnl AC_SUBST(STREAMSPTY)
850 AC_MSG_RESULT($krb_cv_sys_streamspty)
851
852 AC_AUTH_MODULES
853
854 dnl This is done by AC_OUTPUT but we need the result here.
855
856 test "x$prefix" = xNONE && prefix=$ac_default_prefix
857 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
858
859 for i in bin lib libexec sbin; do
860         i=${i}dir
861         foo=`echo $i | tr 'xindiscernible' 'XINDISCERNIBLE'`
862         x="\$${i}"
863         eval y="$x"
864         while test "x$y" != "x$x"; do
865                 x="$y"
866                 eval y="$x"
867         done
868         AC_DEFINE_UNQUOTED($foo,"$x")
869 done
870
871 if false; then
872         # hack to shut up automake
873         LIBOBJS="$LIBOBJS make-print-version.o"
874 fi
875 LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/\.lo/g'`
876 AC_SUBST(LTLIBOBJS)
877 AC_OUTPUT(Makefile                      \
878         include/Makefile                \
879         include/kadm5/Makefile          \
880         lib/Makefile                    \
881         lib/45/Makefile                 \
882         lib/auth/Makefile               \
883         lib/auth/afskauthlib/Makefile   \
884         lib/auth/pam/Makefile           \
885         lib/auth/sia/Makefile           \
886         lib/asn1/Makefile               \
887         lib/com_err/Makefile            \
888         lib/des/Makefile                \
889         lib/editline/Makefile           \
890         lib/gssapi/Makefile             \
891         lib/hdb/Makefile                \
892         lib/kadm5/Makefile              \
893         lib/kafs/Makefile               \
894         lib/krb5/Makefile               \
895         lib/otp/Makefile                \
896         lib/roken/Makefile              \
897         lib/sl/Makefile                 \
898         kuser/Makefile                  \
899         kpasswd/Makefile                \
900         kadmin/Makefile                 \
901         admin/Makefile                  \
902         kdc/Makefile                    \
903         appl/Makefile                   \
904         appl/afsutil/Makefile           \
905         appl/ftp/Makefile               \
906         appl/ftp/common/Makefile        \
907         appl/ftp/ftp/Makefile           \
908         appl/ftp/ftpd/Makefile          \
909         appl/kauth/Makefile             \
910         appl/kx/Makefile                \
911         appl/login/Makefile             \
912         appl/otp/Makefile               \
913         appl/popper/Makefile            \
914         appl/push/Makefile              \
915         appl/rsh/Makefile               \
916         appl/su/Makefile                \
917         appl/xnlock/Makefile            \
918         appl/telnet/Makefile            \
919         appl/telnet/libtelnet/Makefile  \
920         appl/telnet/telnet/Makefile     \
921         appl/telnet/telnetd/Makefile    \
922         appl/test/Makefile              \
923         appl/kf/Makefile                \
924         doc/Makefile                    \
925 )
926
927 dnl
928 dnl This is the release version name-number[beta]
929 dnl
930 HEIMDALVERSION="$PACKAGE-$VERSION"
931
932 cat > include/newversion.h.in <<EOF
933 char *heimdal_long_version = "@(#)\$Version: $HEIMDALVERSION by @USER@ on @HOST@ ($host) @DATE@ \$";
934 char *heimdal_version = "$HEIMDALVERSION";
935 EOF
936
937 if test -f include/version.h && cmp -s include/newversion.h.in include/version.h.in; then
938         echo "include/version.h is unchanged"
939         rm -f include/newversion.h.in
940 else
941         echo "creating include/version.h"
942         User=${USER-${LOGNAME}}
943         Host=`(hostname || uname -n || echo unknown) 2>/dev/null | sed 1q`
944         Date=`date`
945         mv -f include/newversion.h.in include/version.h.in
946         sed -e "s/@USER@/$User/" -e "s/@HOST@/$Host/" -e "s/@DATE@/$Date/" include/version.h.in > include/version.h
947 fi