configure.in revision 57416
1dnl Process this file with autoconf to produce a configure script. 2AC_REVISION($Revision: 1.216 $) 3AC_INIT(lib/krb5/send_to_kdc.c) 4AM_CONFIG_HEADER(include/config.h) 5 6AM_INIT_AUTOMAKE(heimdal,0.2n) 7 8AC_PREFIX_DEFAULT(/usr/heimdal) 9 10AC_CANONICAL_HOST 11CANONICAL_HOST=$host 12AC_SUBST(CANONICAL_HOST) 13 14sunos=no 15case "$host" in 16*-*-sunos4*) 17 sunos=40 18 ;; 19*-*-solaris2.7) 20 sunos=57 21 ;; 22*-*-solaris2*) 23 sunos=50 24 ;; 25esac 26if test "$sunos" != no; then 27 AC_DEFINE_UNQUOTED(SunOS, $sunos, 28 [Define to what version of SunOS you are running.]) 29fi 30 31aix=no 32case "$host" in 33*-*-aix3*) 34 aix=3 35 ;; 36*-*-aix4*) 37 aix=4 38 ;; 39esac 40 41#test -z "$CFLAGS" && CFLAGS="-g" 42 43dnl Checks for programs. 44AC_PROG_CC 45 46AC_CYGWIN 47AC_OBJEXT 48AC_EXEEXT 49 50dnl AC_KRB_PROG_YACC 51AC_PROG_YACC 52AM_PROG_LEX 53AC_PROG_RANLIB 54AC_PROG_AWK 55AC_KRB_PROG_LN_S 56 57AC_MIPS_ABI 58CC="$CC $abi" 59libdir="$libdir$abilibdirext" 60 61AC_C___ATTRIBUTE__ 62 63AM_DISABLE_SHARED 64AM_PROG_LIBTOOL 65 66AC_WFLAGS(-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs) 67 68berkeley_db=db 69AC_ARG_WITH(berkeley-db, 70[ --without-berkeley-db if you don't want berkeley db],[ 71if test "$withval" = no; then 72 berkeley_db="" 73fi 74]) 75 76AC_TEST_PACKAGE_NEW(krb4,[#include <krb.h>],-lkrb,-ldes,/usr/athena) 77 78LIB_kdb= 79if 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 130fi 131AM_CONDITIONAL(KRB4, test "$with_krb4" != "no") 132AM_CONDITIONAL(KRB5, true) 133AC_DEFINE(KRB5, 1, [Enable Kerberos 5 support in applications.])dnl 134AC_SUBST(LIB_kdb)dnl 135AM_CONDITIONAL(AIX, test "$aix" != no)dnl 136AM_CONDITIONAL(AIX4, test "$aix" = 4) 137aix_dynamic_afs=yes 138AM_CONDITIONAL(AIX_DYNAMIC_AFS, test "$aix_dynamic_afs" = yes)dnl 139 140AC_FIND_FUNC_NO_LIBS(dlopen, dl) 141 142if 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 154fi 155 156AM_CONDITIONAL(HAVE_DLOPEN, test "$ac_cv_funclib_dlopen" != no)dnl 157AC_SUBST(AFS_EXTRA_LD)dnl 158AC_SUBST(AIX_EXTRA_KAFS)dnl 159 160AC_ARG_ENABLE(kaserver, 161[ --enable-kaserver if you want the KDC to try to emulate a kaserver]) 162if 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 169fi 170 171AC_ARG_ENABLE(kaserver-db, 172[ --enable-kaserver-db if you want support for reading kaserver databases in hprop]) 173if 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 180fi 181 182otp=yes 183AC_ARG_ENABLE(otp, 184[ --disable-otp if you don't want OTP support], 185[ 186if test "$enableval" = "no"; then 187 otp=no 188fi 189]) 190if 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' 193fi 194AC_SUBST(LIB_otp) 195AM_CONDITIONAL(OTP, test "$otp" = yes)dnl 196 197AC_CHECK_OSFC2 198 199AC_CHECK_MAN 200 201AC_TEST_PACKAGE_NEW(readline, 202[#include <stdio.h> 203 #include <readline.h>],-lreadline) 204 205AC_TEST_PACKAGE_NEW(hesiod,[#include <hesiod.h>],-lhesiod) 206 207KRB_C_BIGENDIAN 208AC_C_INLINE 209 210KRB_CHECK_X 211 212if test "$no_x" = "yes" ; then 213 MAKE_X_PROGS_BIN_PROGS="" 214 MAKE_X_PROGS_BIN_SCRPTS="" 215 MAKE_X_PROGS_LIBEXEC_PROGS="" 216else 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)' 220fi 221AC_SUBST(MAKE_X_PROGS_BIN_PROGS)dnl 222AC_SUBST(MAKE_X_PROGS_BIN_SCRPTS)dnl 223AC_SUBST(MAKE_X_PROGS_LIBEXEC_PROGS)dnl 224 225AC_CHECK_XAU 226 227dnl AM_C_PROTOTYPES 228 229dnl Checks for typedefs, structures, and compiler characteristics. 230AC_C_CONST 231AC_TYPE_OFF_T 232AC_TYPE_SIZE_T 233AC_CHECK_TYPE_EXTRA(ssize_t, int, [#include <unistd.h>]) 234AC_TYPE_PID_T 235AC_TYPE_UID_T 236AC_CHECK_TYPE_EXTRA(mode_t, unsigned short, []) 237AC_CHECK_TYPE_EXTRA(sig_atomic_t, int, [#include <signal.h>]) 238AC_HAVE_TYPE([long long]) 239AC_HEADER_TIME 240AC_STRUCT_TM 241 242dnl Checks for header files. 243AC_HEADER_STDC 244 245if test "$berkeley_db"; then 246 AC_CHECK_HEADERS([ \ 247 db.h \ 248 db_185.h \ 249 ]) 250fi 251 252AC_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 341CHECK_NETINET_IP_AND_TCP 342 343 344AC_ARG_ENABLE(netinfo, 345[ --enable-netinfo enable netinfo for configuration lookup]) 346 347if 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.]) 350fi 351 352AM_CONDITIONAL(have_err_h, test "$ac_cv_header_err_h" = yes) 353AM_CONDITIONAL(have_fnmatch_h, test "$ac_cv_header_fnmatch_h" = yes) 354 355AC_KRB_IPV6 356 357dnl Checks for libraries. 358 359AC_FIND_FUNC(socket, socket) 360AC_FIND_FUNC(gethostbyname, nsl) 361AC_FIND_FUNC(syslog, syslog) 362 363AC_FIND_FUNC_NO_LIBS(logwtmp, util) 364AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses) 365AC_FIND_FUNC(gethostbyname2, inet6 ip6) 366 367AC_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 385AC_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 403dnl Checks for library functions. 404 405AC_BROKEN_SNPRINTF 406AC_BROKEN_VSNPRINTF 407 408AC_BROKEN_GLOB 409 410if test "$ac_cv_func_glob_working" != yes; then 411 LIBOBJS="$LIBOBJS glob.o" 412fi 413AM_CONDITIONAL(have_glob_h, test "$ac_cv_func_glob_working" = yes) 414 415dnl these should happen after tests for *snprintf 416 417AC_FIND_FUNC_NO_LIBS(dbopen, $berkeley_db) 418AC_FIND_FUNC_NO_LIBS(dbm_firstkey, $berkeley_db gdbm ndbm) 419 420DBLIB="$LIB_dbopen" 421if test "$LIB_dbopen" != "$LIB_dbm_firstkey"; then 422 DBLIB="$DBLIB $LIB_dbm_firstkey" 423fi 424AC_SUBST(DBLIB)dnl 425 426AC_CHECK_FUNCS(_getpty _scrsize asnprintf asprintf cgetent fcntl) 427AC_CHECK_FUNCS(getmsg getrlimit getspnam gettimeofday getuid) 428AC_CHECK_FUNCS(grantpt mktime ptsname rand random setproctitle) 429AC_CHECK_FUNCS(revoke select setitimer setpcred setpgid) 430AC_CHECK_FUNCS(setregid setresgid setresuid setreuid setutent) 431AC_CHECK_FUNCS(setsid sigaction strstr) 432AC_CHECK_FUNCS(sysconf sysctl timegm ttyname ttyslot umask uname) 433AC_CHECK_FUNCS(unlockpt vasnprintf vasprintf vhangup) 434AC_CHECK_FUNCS(yp_get_default_domain) 435 436if test "$ac_cv_func_cgetent" = no; then 437 LIBOBJS="$LIBOBJS getcap.o" 438fi 439 440AC_FUNC_GETLOGIN 441 442KRB_CAPABILITIES 443 444AC_CHECK_GETPWNAM_R_POSIX 445 446AC_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]) 454AC_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 463dnl Cray stuff 464AC_CHECK_FUNCS(getudbnam setlim) 465 466AC_TYPE_SIGNAL 467if test "$ac_cv_type_signal" = "void" ; then 468 AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.]) 469fi 470AC_SUBST(VOID_RETSIGTYPE) 471 472AC_FIND_IF_NOT_BROKEN(hstrerror, resolv, 473[#ifdef HAVE_NETDB_H 474#include <netdb.h> 475#endif], 47617) 477if test "$ac_cv_func_hstrerror" = yes; then 478AC_NEED_PROTO([ 479#ifdef HAVE_NETDB_H 480#include <netdb.h> 481#endif], 482hstrerror) 483fi 484 485dnl sigh, wish this could be done in a loop 486if test "$ac_cv_func_asprintf" = yes; then 487AC_NEED_PROTO([ 488#include <stdio.h> 489#include <string.h>], 490asprintf)dnl 491fi 492if test "$ac_cv_func_vasprintf" = yes; then 493AC_NEED_PROTO([ 494#include <stdio.h> 495#include <string.h>], 496vasprintf)dnl 497fi 498if test "$ac_cv_func_asnprintf" = yes; then 499AC_NEED_PROTO([ 500#include <stdio.h> 501#include <string.h>], 502asnprintf)dnl 503fi 504if test "$ac_cv_func_vasnprintf" = yes; then 505AC_NEED_PROTO([ 506#include <stdio.h> 507#include <string.h>], 508vasnprintf)dnl 509fi 510 511AC_BROKEN(chown copyhostent daemon err errx fchown flock fnmatch) 512AC_BROKEN(freeaddrinfo freehostent gai_strerror getaddrinfo) 513AC_BROKEN(getcwd getdtablesize gethostname getipnodebyaddr getipnodebyname) 514AC_BROKEN(geteuid getgid getegid) 515AC_BROKEN(getnameinfo getopt getusershell) 516AC_BROKEN(inet_aton inet_ntop inet_pton initgroups innetgr iruserok lstat) 517AC_BROKEN(memmove) 518AC_BROKEN(mkstemp putenv rcmd readv recvmsg sendmsg setegid setenv seteuid) 519AC_BROKEN(strcasecmp strncasecmp strdup strerror strftime) 520AC_BROKEN(strlcat strlcpy strlwr) 521AC_BROKEN(strndup strnlen strptime strsep strtok_r strupr) 522AC_BROKEN(swab unsetenv verr verrx vsyslog) 523AC_BROKEN(vwarn vwarnx warn warnx writev) 524 525AC_NEED_PROTO([#include <stdlib.h>], setenv) 526AC_NEED_PROTO([#include <stdlib.h>], unsetenv) 527AC_NEED_PROTO([#include <unistd.h>], gethostname) 528AC_NEED_PROTO([#include <unistd.h>], mkstemp) 529AC_NEED_PROTO([#include <unistd.h>], getusershell) 530 531AC_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], 544inet_aton) 545 546AC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl 547 548dnl 549dnl libroken references crypt and dbopen 550dnl 551 552LIB_roken='$(top_builddir)/lib/roken/libroken.la $(LIB_crypt) $(LIB_dbopen)' 553AC_SUBST(LIB_roken)dnl 554 555AC_CACHE_CHECK(if realloc if broken, ac_cv_func_realloc_broken, [ 556ac_cv_func_realloc_broken=no 557AC_TRY_RUN([ 558#include <stddef.h> 559#include <stdlib.h> 560 561int main() 562{ 563 return realloc(NULL, 17) == NULL; 564} 565],:, ac_cv_func_realloc_broken=yes, :) 566]) 567if test "$ac_cv_func_realloc_broken" = yes ; then 568 AC_DEFINE(BROKEN_REALLOC, 1, [Define if realloc(NULL) doesn't work.]) 569fi 570 571dnl AC_KRB_FUNC_GETCWD_BROKEN 572 573dnl 574dnl Checks for prototypes and declarations 575dnl 576 577AC_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], 594gethostbyname, struct hostent *gethostbyname(const char *)) 595 596AC_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], 613gethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int)) 614 615AC_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], 632getservbyname, struct servent *getservbyname(const char *, const char *)) 633 634AC_PROTO_COMPAT([ 635#ifdef HAVE_SYSLOG_H 636#include <syslog.h> 637#endif 638], 639openlog, void openlog(const char *, int, int)) 640 641AC_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], 649crypt) 650 651AC_NEED_PROTO([ 652#include <string.h> 653], 654strtok_r) 655 656AC_NEED_PROTO([ 657#include <string.h> 658], 659strsep) 660 661AC_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], 667h_errno) 668 669AC_CHECK_VAR([#ifdef HAVE_NETDB_H 670#include <netdb.h> 671#endif], 672h_errlist) 673 674AC_CHECK_VAR([#ifdef HAVE_NETDB_H 675#include <netdb.h> 676#endif], 677h_nerr) 678 679AC_CHECK_VAR([#ifdef HAVE_ERR_H 680#include <err.h> 681#endif],[__progname]) 682 683AC_CHECK_DECLARATION([#include <stdlib.h> 684#ifdef HAVE_UNISTD_H 685#include <unistd.h> 686#endif], optarg) 687AC_CHECK_DECLARATION([#include <stdlib.h> 688#ifdef HAVE_UNISTD_H 689#include <unistd.h> 690#endif], optind) 691AC_CHECK_DECLARATION([#include <stdlib.h> 692#ifdef HAVE_UNISTD_H 693#include <unistd.h> 694#endif], opterr) 695AC_CHECK_DECLARATION([#include <stdlib.h> 696#ifdef HAVE_UNISTD_H 697#include <unistd.h> 698#endif], optopt) 699 700AC_CHECK_DECLARATION([#include <stdlib.h>], environ) 701 702dnl 703dnl Check for fields in struct utmp 704dnl 705 706AC_HAVE_STRUCT_FIELD(struct utmp, ut_addr, [#include <utmp.h>]) 707AC_HAVE_STRUCT_FIELD(struct utmp, ut_host, [#include <utmp.h>]) 708AC_HAVE_STRUCT_FIELD(struct utmp, ut_id, [#include <utmp.h>]) 709AC_HAVE_STRUCT_FIELD(struct utmp, ut_pid, [#include <utmp.h>]) 710AC_HAVE_STRUCT_FIELD(struct utmp, ut_type, [#include <utmp.h>]) 711AC_HAVE_STRUCT_FIELD(struct utmp, ut_user, [#include <utmp.h>]) 712AC_HAVE_STRUCT_FIELD(struct utmpx, ut_exit, [#include <utmpx.h>]) 713AC_HAVE_STRUCT_FIELD(struct utmpx, ut_syslen, [#include <utmpx.h>]) 714 715dnl 716dnl Check for fields in struct tm 717dnl 718 719AC_HAVE_STRUCT_FIELD(struct tm, tm_gmtoff, [#include <time.h>]) 720AC_HAVE_STRUCT_FIELD(struct tm, tm_zone, [#include <time.h>]) 721 722dnl 723dnl or do we have a variable `timezone' ? 724dnl 725 726AC_CHECK_VAR( 727[#include <time.h>], 728timezone) 729 730AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>]) 731 732AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>]) 733 734AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>]) 735 736AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>]) 737 738AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>]) 739 740dnl 741dnl Check for struct winsize 742dnl 743 744AC_KRB_STRUCT_WINSIZE 745 746dnl 747dnl Check for struct spwd 748dnl 749 750AC_KRB_STRUCT_SPWD 751 752dnl 753dnl Check for sa_len in struct sockaddr 754dnl 755 756AC_HAVE_STRUCT_FIELD(struct sockaddr, sa_len, [#include <sys/types.h> 757#include <sys/socket.h>]) 758 759 760AC_GROK_TYPES(int8_t int16_t int32_t int64_t) 761AC_GROK_TYPES(u_int8_t u_int16_t u_int32_t u_int64_t) 762 763dnl 764dnl crypto functions tests 765dnl 766 767AC_FIND_FUNC_NO_LIBS(MD4Init, crypto) 768AC_FIND_FUNC_NO_LIBS(MD4_Init, crypto) 769AC_FIND_FUNC_NO_LIBS(MD5Init, crypto) 770AC_FIND_FUNC_NO_LIBS(MD5_Init, crypto) 771AC_FIND_FUNC_NO_LIBS(SHA1Init, crypto) 772AC_FIND_FUNC_NO_LIBS(SHA1_Init, crypto) 773AC_FIND_FUNC_NO_LIBS(des_cbc_encrypt, crypto des) 774 775dnl 776dnl Tests for editline 777dnl 778 779dnl el_init 780 781AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent]) 782if 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 792fi 793 794dnl readline 795 796ac_foo=no 797if test "$with_readline" = yes; then 798 : 799elif test "$ac_cv_func_readline" = yes; then 800 : 801elif 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" 804else 805 LIB_readline='$(top_builddir)/lib/editline/libeditline.a' 806fi 807AM_CONDITIONAL(el_compat, test "$ac_foo" = yes) 808if test "$readline_libdir"; then 809 LIB_readline="-rpath $readline_libdir $LIB_readline" 810fi 811LIB_readline="$LIB_readline \$(LIB_tgetent)" 812AC_DEFINE(HAVE_READLINE, 1, 813 [Define if you have a readline compatible library.])dnl 814 815dnl telnet muck -------------------------------------------------- 816 817AC_DEFINE(AUTHENTICATION, 1, 818 [Define if you want authentication support in telnet.])dnl 819AC_DEFINE(ENCRYPTION, 1, 820 [Define if you want encryption support in telnet.])dnl 821AC_DEFINE(DES_ENCRYPTION, 1, 822 [Define if you want to use DES encryption in telnet.])dnl 823AC_DEFINE(DIAGNOSTICS, 1, 824 [Define this to enable diagnostics in telnet.])dnl 825AC_DEFINE(OLD_ENVIRON, 1, 826 [Define this to enable old environment option in telnet.])dnl 827if false; then 828AC_DEFINE(ENV_HACK, 1, 829 [Define this if you want support for broken ENV_{VAR,VAL} telnets.]) 830fi 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 837AC_MSG_CHECKING(for streamspty) 838case "$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 ;; 845esac 846if test "$krb_cv_sys_streamspty" = yes; then 847 AC_DEFINE(STREAMSPTY, 1, [Define if you have streams ptys.]) 848fi 849dnl AC_SUBST(STREAMSPTY) 850AC_MSG_RESULT($krb_cv_sys_streamspty) 851 852AC_AUTH_MODULES 853 854dnl This is done by AC_OUTPUT but we need the result here. 855 856test "x$prefix" = xNONE && prefix=$ac_default_prefix 857test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' 858 859for 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") 869done 870 871if false; then 872 # hack to shut up automake 873 LIBOBJS="$LIBOBJS make-print-version.o" 874fi 875LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/\.lo/g'` 876AC_SUBST(LTLIBOBJS) 877AC_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 927dnl 928dnl This is the release version name-number[beta] 929dnl 930HEIMDALVERSION="$PACKAGE-$VERSION" 931 932cat > include/newversion.h.in <<EOF 933char *heimdal_long_version = "@(#)\$Version: $HEIMDALVERSION by @USER@ on @HOST@ ($host) @DATE@ \$"; 934char *heimdal_version = "$HEIMDALVERSION"; 935EOF 936 937if 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 940else 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 947fi 948