1dnl -*-fundamental-*- 2dnl Process this file with autoconf to produce a configure script. 3m4_include([version.m4]) 4AC_INIT(ntp, VERSION_NUMBER) 5AM_INIT_AUTOMAKE 6AC_CANONICAL_HOST 7dnl the 'build' machine is where we run configure and compile 8dnl the 'host' machine is where the resulting stuff runs. 9AC_DEFINE_UNQUOTED(STR_SYSTEM, "$host", [canonical system (cpu-vendor-os) of where we should run]) 10AM_CONFIG_HEADER([config.h]) 11dnl AC_ARG_PROGRAM 12AC_PREREQ(2.53) 13 14ac_cv_var_atom_ok=no 15ac_cv_var_oncore_ok=no 16ac_cv_var_parse_ok=no 17ac_cv_var_ripe_ncc_ok=no 18ac_cv_var_jupiter_ok=no 19 20dnl Grab any initial CFLAGS so we can pick better defaults. 21iCFLAGS="$CFLAGS" 22 23dnl check these early to avoid autoconf warnings 24AC_AIX 25AC_MINIX 26 27# So far, the only shared library we might use is libopts. 28# It's a small library - we might as well use a static version of it. 29AC_DISABLE_SHARED 30 31dnl we need to check for cross compile tools for vxWorks here 32AC_PROG_CC 33# Ralf Wildenhues: With per-target flags we need CC_C_O 34# AM_PROG_CC_C_O supersets AC_PROG_CC_C_O 35AM_PROG_CC_C_O 36AC_PROG_CC_STDC 37AC_PROG_CPP 38 39# HMS: These need to be moved to AM_CPPFLAGS and/or AM_CFLAGS 40case "$host" in 41 *-*-amigaos) 42 CFLAGS="$CFLAGS -Dfork=vfork -DSYS_AMIGA" 43 ;; 44 *-*-hpux10.*) # at least for hppa2.0-hp-hpux10.20 45 case "$GCC" in 46 yes) 47 ;; 48 *) CFLAGS="$CFLAGS -Wp,-H18816" 49 ;; 50 esac 51 ;; 52 *-pc-cygwin*) 53 CFLAGS="$CFLAGS -DSYS_CYGWIN32" 54 ;; 55 i386-sequent-sysv4) 56 case "$CC" in 57 cc) 58 CFLAGS="$CFLAGS -Wc,+abi-socket" 59 ;; 60 esac 61 ;; 62 *-*-mpeix*) 63 CPPFLAGS="$CPPFLAGS -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB" 64 LDFLAGS="$LDFLAGS -L/SYSLOG/PUB" 65 LIBS="$LIBS -lcurses" 66 ;; 67 *-*-solaris*) 68 # see "man standards". 69 # -D_XOPEN_SOURCE=500 is probably OK for c89 and before 70 # -D_XOPEN_SOURCE=600 seems OK for c99 71 #CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__" 72 CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" 73 libxnet=-lxnet 74 ;; 75esac 76 77AMU_OS_CFLAGS 78 79# NTP has (so far) been relying on leading-edge autogen. 80# Therefore, by default: 81# - use the version we ship with 82# - do not install it 83# - build a static copy (AC_DISABLE_SHARED - done earlier) 84case "${enable_local_libopts+set}" in 85 set) ;; 86 *) enable_local_libopts=yes ;; 87esac 88case "${enable_libopts_install+set}" in 89 set) ;; 90 *) enable_libopts_install=no ;; 91esac 92LIBOPTS_CHECK(libopts) 93 94AC_CACHE_CHECK( 95 [if $CC can handle @%:@warning], 96 ac_cv_cpp_warning, 97 [ 98 AC_COMPILE_IFELSE( 99 AC_LANG_PROGRAM([], [#warning foo]), 100 [ac_cv_cpp_warning=yes], 101 [ac_cv_cpp_warning=no], 102 ) 103 ] 104) 105 106case "$ac_cv_cpp_warning" in 107 no) 108 AC_DEFINE([NO_OPTION_NAME_WARNINGS], [1], [Should we avoid @%:@warning on option name collisions?]) 109esac 110 111case "$GCC" in 112 yes) 113 SAVED_CFLAGS_AC="$CFLAGS" 114 CFLAGS="$CFLAGS -Wstrict-overflow" 115 AC_CACHE_CHECK( 116 [if $CC can handle -Wstrict-overflow], 117 ac_cv_gcc_Wstrict_overflow, 118 [ 119 AC_COMPILE_IFELSE( 120 [AC_LANG_PROGRAM([], [])], 121 [ac_cv_gcc_Wstrict_overflow=yes], 122 [ac_cv_gcc_Wstrict_overflow=no] 123 ) 124 ] 125 ) 126 CFLAGS="$SAVED_CFLAGS_AC" 127 unset SAVED_CFLAGS_AC 128 # 129 # $ac_cv_gcc_Wstrict_overflow is tested later to add the 130 # flag to CFLAGS. 131 # 132esac 133 134 135case "$GCC" in 136 yes) 137 SAVED_CFLAGS_AC="$CFLAGS" 138 CFLAGS="$CFLAGS -Winit-self" 139 AC_CACHE_CHECK( 140 [if $CC can handle -Winit-self], 141 ac_cv_gcc_Winit_self, 142 [ 143 AC_COMPILE_IFELSE( 144 [AC_LANG_PROGRAM([], [])], 145 [ac_cv_gcc_Winit_self=yes], 146 [ac_cv_gcc_Winit_self=no] 147 ) 148 ] 149 ) 150 CFLAGS="$SAVED_CFLAGS_AC" 151 unset SAVED_CFLAGS_AC 152 # 153 # $ac_cv_gcc_Winit_self is tested later to add the 154 # flag to CFLAGS. 155 # 156esac 157 158 159 160AC_MSG_CHECKING([for bin subdirectory]) 161AC_ARG_WITH(binsubdir, 162 AC_HELP_STRING([--with-binsubdir], [bin ={bin,sbin}]), 163 use_binsubdir="$withval", use_binsubdir="bin") 164 165case "$use_binsubdir" in 166 bin) 167 ;; 168 sbin) 169 ;; 170 *) 171 AC_MSG_ERROR([<$use_binsubdir> is illegal - must be "bin" or "sbin"]) 172 ;; 173esac 174AC_MSG_RESULT($use_binsubdir) 175BINSUBDIR=$use_binsubdir 176AC_SUBST(BINSUBDIR) 177 178AC_MSG_CHECKING([if we want to use arlib]) 179AC_ARG_WITH(arlib, 180 AC_HELP_STRING([--with-arlib], [- Compile the async resolver library?]), 181 [ans=$withval], [ans=no]) 182AC_MSG_RESULT([$ans]) 183 184if test -d $srcdir/arlib 185then 186 case "$ans" in 187 yes) 188 ARLIB_DIR=arlib 189 AC_CONFIG_SUBDIRS(arlib) 190 ;; 191 esac 192fi 193AC_SUBST(ARLIB_DIR) 194 195AC_ARG_WITH(rpath, 196 AC_HELP_STRING([--without-rpath], [s Disable auto-added -R linker paths]), 197[ans=$withval], [ans=x]) 198case "$ans" in 199 no) 200 need_dash_r= 201 ;; 202 yes) 203 need_dash_r=1 204 ;; 205esac 206# HMS: Why isn't this $build? 207# Well, that depends on if we need this for the build toolchain or 208# for info in the host executable... 209# I still have no idea which way this should go, but nobody has complained. 210case "$host" in 211 *-*-netbsd*) 212 case "$need_dash_r" in 213 no) ;; 214 *) need_dash_r=1 215 ;; 216 esac 217 ;; 218 *-*-solaris*) 219 case "$need_dash_r" in 220 no) ;; 221 *) need_dash_r=1 222 ;; 223 esac 224 ;; 225esac 226 227 228case "$build" in 229 $host) 230 ;; 231 *) case "$host" in 232 *-*-vxworks*) 233 # Quick and dirty sanity check 234 case "$VX_KERNEL" in 235 '') AC_MSG_ERROR(Please follow the directions in html/build/hints/vxworks.html!) 236 ;; 237 esac 238 CFLAGS="$CFLAGS -DSYS_VXWORKS" 239 ;; 240 esac 241 ;; 242esac 243 244dnl we need to check for cross compile tools for vxWorks here 245AC_PROG_AWK 246AC_PROG_MAKE_SET 247 248rm -f conftest* 249 250case "$GCC" in 251 yes) 252 CFLAGS="$CFLAGS -Wall" 253 # CFLAGS="$CFLAGS -Wcast-align" 254 CFLAGS="$CFLAGS -Wcast-qual" 255 # CFLAGS="$CFLAGS -Wconversion" 256 # CFLAGS="$CFLAGS -Werror" 257 # CFLAGS="$CFLAGS -Wextra" 258 # CFLAGS="$CFLAGS -Wfloat-equal" 259 CFLAGS="$CFLAGS -Wmissing-prototypes" 260 CFLAGS="$CFLAGS -Wpointer-arith" 261 CFLAGS="$CFLAGS -Wshadow" 262 # 263 # OpenSSL has a number of callback prototypes 264 # inside other function prototypes which trigger 265 # warnings with -Wstrict-prototypes, such as: 266 # 267 # int i2d_RSA_NET(const RSA *a, unsigned char **pp, 268 # int (*cb)(), int sgckey); 269 # ^^^^^^^^^^^ 270 # 271 CFLAGS="$CFLAGS -Wno-strict-prototypes" 272 # CFLAGS="$CFLAGS -Wtraditional" 273 # CFLAGS="$CFLAGS -Wwrite-strings" 274 case "$ac_cv_gcc_Winit_self" in 275 yes) 276 CFLAGS="$CFLAGS -Winit-self" 277 esac 278 case "$ac_cv_gcc_Wstrict_overflow" in 279 yes) 280 #not yet: CFLAGS="$CFLAGS -Wstrict-overflow" 281 esac 282 ;; 283esac 284 285case "$host" in 286 *-next-nextstep3) 287 CFLAGS="$CFLAGS -posix" 288 ;; 289dnl This is currently commented out by bor. 290dnl The new versions of ReliantUNIX round adjtime() interval down 291dnl to 1/100s (system tick). This makes tickadj actually useless. 292dnl So, I'd better not use additional flags. 293dnl I leave it here just in case anybody has better idea 294dnl mips-sni-sysv4* ) 295dnl # 296dnl # Add flags for 64 bit file access to enable tickadj to access /dev/kmem 297dnl # 298dnl if getconf _LFS_CFLAGS > /dev/null 2>&1 ; then 299dnl CFLAGS="$CFLAGS `getconf _LFS_CFLAGS`" 300dnl fi 301dnl ;; 302esac 303 304ac_busted_vpath_in_make=no 305 306case "$build" in 307 *-*-irix6.1*) # 64 bit only 308 # busted vpath? 309 ;; 310 *-*-irix6*) # 6.2 (and later?) 311 ac_busted_vpath_in_make=yes 312 ;; 313 *-*-solaris2.5.1) 314 ac_busted_vpath_in_make=yes 315 ;; 316 *-*-unicosmp*) 317 ac_busted_vpath_in_make=yes 318 ;; 319esac 320 321case "$ac_busted_vpath_in_make$srcdir" in 322 no*) ;; 323 yes.) ;; 324 *) case "`${MAKE-make} -v -f /dev/null 2>/dev/null | sed -e 's/GNU Make version \(1-9.]*\).*/\1/' -e q`" in 325 '') 326 AC_MSG_ERROR([building outside of the main directory requires GNU make]) 327 ;; 328 *) ;; 329 esac 330 ;; 331esac 332 333AC_SUBST(CFLAGS)dnl 334AC_SUBST(LDFLAGS)dnl 335 336m4_defun([_LT_AC_LANG_CXX_CONFIG], [:]) 337m4_defun([_LT_AC_LANG_F77_CONFIG], [:]) 338 339AC_PROG_LIBTOOL 340 341AC_PROG_LN_S 342AC_PROG_GCC_TRADITIONAL 343AC_C_VOLATILE 344AC_ISC_POSIX 345AC_PATH_PROG(PATH_SH, sh) 346AC_PATH_PROG(PATH_PERL, perl) 347 348hs_ULONG_CONST # remove for 4.2.5 349 350case "$host" in 351 *-*-vxworks*) 352 ac_link="$ac_link $VX_KERNEL" 353 ;; 354esac 355 356AC_PROG_INSTALL 357 358case "$host" in 359 *-pc-cygwin*) 360 AC_CHECK_LIB(advapi32, main) 361 ;; 362esac 363 364AC_CHECK_FUNC([gethostent], , 365 AC_SEARCH_LIBS([gethostent], [nsl], , , [$libxnet -lsocket])) 366AC_CHECK_FUNC([openlog], , 367 AC_SEARCH_LIBS([openlog], [gen], , 368 AC_SEARCH_LIBS([openlog], [syslog], , , [$libxnet -lsocket]))) 369AC_SEARCH_LIBS([MD5Init], [md5 md]) 370AC_CHECK_FUNCS(MD5Init) 371 372# following block becomes on 4.2.5: NTP_LINEEDITLIBS 373dnl HMS: What a hack... 374AC_CHECK_HEADERS(readline/history.h readline/readline.h) 375case "$ac_cv_header_readline_history_h$ac_cv_header_readline_readline_h" in 376 *no*) ;; 377 *) save_LIBS=$LIBS 378 LIBS= 379 # Ralf Wildenhues: either unset ... or cache READLINE_LIBS 380 unset ac_cv_lib_readline_readline 381 AC_CHECK_LIB(readline, readline, , 382 AC_MSG_NOTICE([Trying again with -lcurses]) 383 unset ac_cv_lib_readline_readline 384 AC_CHECK_LIB(readline, readline, 385 LIBS="-lreadline -lcurses $LIBS" 386 AC_DEFINE(HAVE_LIBREADLINE) 387 AC_DEFINE(HAVE_LIBCURSES, , [Do we have the curses library?]), 388 AC_CHECK_LIB(edit, readline, 389 LIBS="-ledit -lcurses" 390 AC_DEFINE(HAVE_LIBEDIT, , [Do we have the edit library?]) 391 AC_DEFINE(HAVE_LIBCURSES, , [Do we have the curses library?]) 392 , , -lcurses) 393 , -lcurses)) 394 READLINE_LIBS=$LIBS 395 AC_SUBST(READLINE_LIBS) 396 LIBS=$save_LIBS 397 ;; 398esac 399 400dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt 401dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt, 402dnl so only use one of them. Linux (glibc-2.1.2 and -2.2.2, at least) 403dnl does Strange Things with extra processes using the Posix-compatibility 404dnl real-time library, so we don't want to use it. 405 406case "$host" in 407 *-*-*linux*) ;; 408 *) 409 AC_CHECK_LIB(rt, sched_setscheduler, , 410 AC_CHECK_LIB(posix4, sched_setscheduler)) 411 ;; 412esac 413 414AC_CHECK_FUNC(setsockopt, , 415 [AC_SEARCH_LIBS([setsockopt], [socket xnet])]) 416 417AC_HEADER_STDC 418AC_CHECK_HEADERS(bstring.h) 419AC_CHECK_HEADER(dns_sd.h, 420 [AC_CHECK_LIB(dns_sd, 421 DNSServiceRegister, 422 [AC_DEFINE(HAVE_DNSREGISTRATION, 1, 423 [Use Rendezvous/DNS-SD registration])])]) 424case "$ac_cv_lib_dns_sd_DNSServiceRegister" in 425 yes) LIBS="-ldns_sd $LIBS" ;; 426esac 427AC_CHECK_HEADERS(errno.h fcntl.h ieeefp.h math.h) 428 429# HMS: Lame, but fast. 430if test -f /etc/redhat-release 431then 432 : 433else 434 AC_CHECK_HEADERS(md5.h, [], [], 435[#if HAVE_SYS_TYPES_H 436#include <sys/types.h> 437#endif 438]) 439fi 440AC_CHECK_HEADERS(memory.h netdb.h poll.h) 441AC_CHECK_HEADERS(sched.h sgtty.h stdlib.h string.h termio.h) 442AC_CHECK_HEADERS(termios.h timepps.h timex.h unistd.h) 443case "$host" in 444 *-*-aix*) 445 AC_CHECK_HEADERS(utmpx.h) 446 case "$ac_cv_header_utmpx_h" in 447 yes) ;; 448 *) AC_CHECK_HEADERS(utmp.h) ;; 449 esac 450 ;; 451 *) AC_CHECK_HEADERS(utmp.h utmpx.h) ;; 452esac 453AC_CHECK_HEADERS(arpa/nameser.h) 454AC_CHECK_HEADERS(sys/socket.h) 455AC_CHECK_HEADERS(net/if.h, [], [], 456[#if HAVE_SYS_SOCKET_H 457#include <sys/socket.h> 458#endif 459]) 460AC_CHECK_HEADERS(net/if6.h) 461AC_CHECK_HEADERS(net/route.h, [], [], [ 462#include <sys/types.h> 463#include <sys/socket.h> 464#include <net/if.h> 465]) 466AC_CHECK_HEADERS(netinet/in_system.h netinet/in_systm.h) 467AC_CHECK_HEADERS(netinet/in.h) 468AC_CHECK_HEADERS(netinet/ip.h, [], [], 469[#if HAVE_SYS_TYPES_H 470#include <sys/types.h> 471#endif 472#if HAVE_NETINET_IN_H 473#include <netinet/in.h> 474#endif 475#if HAVE_NETINET_IN_SYSTM_H 476#include <netinet/in_systm.h> 477#endif 478]) 479 480# Check for IPTOS_PREC 481AC_CACHE_CHECK( 482 [IPPROTO_IP IP_TOS IPTOS_LOWDELAY], 483 ac_cv_ip_tos, 484 [ 485 AC_EGREP_CPP( 486 [yes], 487 [ 488 #if HAVE_SYS_TYPES_H 489 #include <sys/types.h> 490 #endif 491 #if HAVE_NETINET_IP_H 492 #include <netinet/in.h> 493 #include <netinet/ip.h> 494 #endif 495 #if defined(IPPROTO_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY) 496 yes 497 #endif 498 ], 499 [ac_cv_ip_tos=yes], 500 [ac_cv_ip_tos=no] 501 ) 502 ] 503) 504 505case "$ac_cv_ip_tos" in 506 yes) 507 AC_DEFINE(HAVE_IPTOS_SUPPORT, 1, [Do we have IPTOS support?]) 508esac 509 510AC_CHECK_HEADERS(netinfo/ni.h, [AC_DEFINE(HAVE_NETINFO, 1, [NetInfo support?])]) 511AC_CHECK_HEADERS(sun/audioio.h sys/audioio.h) 512dnl AC_CHECK_HEADERS(sys/chudefs.h) 513AC_CHECK_HEADERS(sys/clkdefs.h sys/file.h) 514case "$host" in 515 *-*-sunos4*) ;; 516 *) AC_CHECK_HEADERS(sys/ioctl.h) 517 ;; 518esac 519AC_CHECK_HEADERS(sys/ipc.h) 520AC_CHECK_HEADERS(sys/lock.h sys/mman.h sys/modem.h sys/param.h sys/ppsclock.h) 521# HMS: Check sys/proc.h and sys/resource.h after some others 522AC_CHECK_HEADERS(sys/ppstime.h) 523case "$ac_cv_header_sched_h" in 524 yes) ;; 525 *) AC_CHECK_HEADERS(sys/sched.h) ;; 526esac 527case "$host" in 528 *-*-sco*) 529 AC_CHECK_HEADERS(sys/sio.h) 530 ;; 531esac 532# HMS: Check sys/shm.h after some others 533AC_CHECK_HEADERS(sys/select.h sys/signal.h sys/sockio.h) 534# HMS: Checked sys/socket.h earlier 535case "$host" in 536 *-*-netbsd*) ;; 537 *) AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h) 538 ;; 539esac 540AC_CHECK_HEADERS(sys/stat.h sys/stream.h) 541AC_CHECK_HEADERS(sys/stropts.h sys/sysctl.h sys/syssgi.h sys/systune.h) 542AC_CHECK_HEADERS(sys/termios.h sys/time.h sys/signal.h) 543AC_EGREP_CPP(yes, 544[#if HAVE_SYS_TIME_H 545# include <sys/time.h> 546#endif 547#if HAVE_ERRNO_H 548# include <errno.h> 549#endif 550#include <sys/timepps.h> 551#ifdef PPS_API_VERS_1 552yes 553#endif 554], [AC_CHECK_HEADERS(sys/timepps.h, [], [], 555[#if HAVE_SYS_TIME_H 556# include <sys/time.h> 557#endif 558#if HAVE_ERRNO_H 559# include <errno.h> 560#endif 561]) 562]) 563AC_CHECK_HEADERS(sys/timers.h sys/tpro.h sys/types.h sys/wait.h) 564AC_HEADER_TIME 565case "$host" in 566*-convex-*) 567 AC_CHECK_HEADERS(/sys/sync/queue.h /sys/sync/sema.h) 568 ;; 569*-*-bsdi*) 570 AC_CHECK_HEADERS(machine/inline.h sys/pcl720.h sys/i8253.h) 571 ;; 572esac 573 574case "$host" in 575 *-*-*linux*) 576 AC_CHECK_FUNCS(__adjtimex __ntp_gettime) 577 ;; 578esac 579case "$ac_cv_func___adjtimex" in 580 yes) ;; 581 *) 582 AC_CHECK_LIB(elf, nlist) dnl Only needed for tickadj... 583 dnl AC_CHECK_LIB(kvm, main, , , -lelf) 584 AC_CHECK_LIB(kvm, main) dnl We already know about -lelf here... 585 AC_CHECK_LIB(ld, nlist) 586 AC_CHECK_LIB(mld, nlist) 587 AC_CHECK_HEADER(nlist.h, 588 [AC_DEFINE(NLIST_STRUCT, 1, [nlist stuff]) 589 AC_CACHE_CHECK([for n_un in struct nlist], ac_cv_struct_nlist_n_un, 590 [AC_TRY_COMPILE([#include <nlist.h>], 591 [struct nlist n; n.n_un.n_name = 0;], 592 ac_cv_struct_nlist_n_un=yes, ac_cv_struct_nlist_n_un=no)]) 593 if test $ac_cv_struct_nlist_n_un = yes; then 594 AC_DEFINE(NLIST_NAME_UNION, 1, [does struct nlist use a name union?]) 595 fi 596 ])dnl 597 ;; 598esac 599 600dnl AC_CHECK_HEADERS(net/if.h, [], [], 601dnl [#if HAVE_SYS_TYPES_H 602dnl # include <sys/types.h> 603dnl #endif 604dnl #if HAVE_SYS_SOCKET_H 605dnl # include <sys/socket.h> 606dnl #endif 607dnl ]) 608 609AC_CHECK_HEADERS(sys/proc.h, [], [], 610[#if HAVE_SYS_TYPES_H 611# include <sys/types.h> 612#endif 613#if HAVE_SYS_TIME_H 614# include <sys/time.h> 615#endif 616]) 617 618AC_CHECK_HEADERS(sys/resource.h, [], [], 619[#if HAVE_SYS_TIME_H 620# include <sys/time.h> 621#endif 622]) 623 624AC_CHECK_HEADERS(sys/shm.h, [], [], 625[#if HAVE_SYS_TYPES_H 626# include <sys/types.h> 627#endif 628#if HAVE_SYS_IPC_H 629# include <sys/ipc.h> 630#endif 631]) 632 633AC_CHECK_HEADERS(sys/timex.h, [], [], 634[#if HAVE_SYS_TIME_H 635# include <sys/time.h> 636#endif 637]) 638 639AC_CHECK_HEADERS(resolv.h, [], [], 640[#if HAVE_SYS_TYPES_H 641#include <sys/types.h> 642#endif 643#if HAVE_NETINET_IN_H 644#include <netinet/in.h> 645#endif 646#if HAVE_ARPA_NAMESER_H 647#include <arpa/nameser.h> 648#endif 649]) 650 651AC_CACHE_CHECK([for basic volatile support], ac_cv_c_volatile, 652[AC_TRY_COMPILE([],[ 653volatile int x;], 654 ac_cv_c_volatile=yes, 655 ac_cv_c_volatile=no) 656]) 657case "$ac_cv_c_volatile" in 658 yes) 659 ;; 660 *) AC_DEFINE(volatile, , [Does the compiler like "volatile"?]) 661 ;; 662esac 663 664# 665# following block goes away in 4.2.5 666# 667# AM_C_PROTOTYPES gives us ansi2knr 668case "$build" in 669 *-*-solaris2*) 670 # Assume that solaris2 is Ansi C... 671 ;; 672 *) 673 AM_C_PROTOTYPES 674 ;; 675esac 676AC_CACHE_CHECK(if C compiler permits function prototypes, ac_cv_have_prototypes, 677[AC_TRY_COMPILE([ 678extern int foo (short); 679int foo(short i) { return i; }],[ 680int i;], ac_cv_have_prototypes=yes, ac_cv_have_prototypes=no) 681]) 682if test "$ac_cv_have_prototypes" = yes; then 683 AC_DEFINE(HAVE_PROTOTYPES, 1, [Are function prototypes OK?]) 684fi 685# 686# end block 687# 688 689AC_C_CONST 690AC_C_BIGENDIAN 691AC_TYPE_SIGNAL 692AC_TYPE_OFF_T 693AC_TYPE_SIZE_T 694AC_CHECK_TYPE(time_t, long) 695AC_CHECK_SIZEOF(time_t) 696AC_CHECK_TYPES(uintptr_t) 697 698AH_VERBATIM([TYPEDEF_UINTPTR_T], 699[/* Provide a typedef for uintptr_t? */ 700#ifndef HAVE_UINTPTR_T 701typedef unsigned int uintptr_t; 702#define HAVE_UINTPTR_T 1 703#endif]) 704 705AC_STRUCT_TM 706 707AC_CACHE_CHECK([for u_int8_t], ac_cv_type_u_int8_t, 708[AC_TRY_COMPILE([#include <sys/types.h>], 709 [u_int8_t len = 42; return 0;], 710 ac_cv_type_u_int8_t=yes, 711 ac_cv_type_u_int8_t=no) 712]) 713if test $ac_cv_type_u_int8_t = yes; then 714 AC_DEFINE(HAVE_TYPE_U_INT8_T, 1, [Does u_int8_t exist?]) 715fi 716 717AC_CACHE_CHECK([for u_int64_t], ac_cv_type_u_int64_t, 718[AC_TRY_COMPILE([#include <sys/types.h>], 719 [u_int64_t len = 42; return 0;], 720 ac_cv_type_u_int64_t=yes, 721 ac_cv_type_u_int64_t=no) 722]) 723if test $ac_cv_type_u_int64_t = yes; then 724 AC_DEFINE(HAVE_TYPE_U_INT64_T, 1, [Does u_int64_t exist?]) 725fi 726 727# 728# Look for in_port_t. 729# 730AC_MSG_CHECKING([for in_port_t]) 731AC_TRY_COMPILE([ 732#include <sys/types.h> 733#include <netinet/in.h>], 734[in_port_t port = 25; return (0);], 735 [AC_MSG_RESULT(yes) 736 ], 737 [AC_MSG_RESULT(no) 738 AC_DEFINE(ISC_PLATFORM_NEEDPORTT, 1, [Do we need our own in_port_t?]) 739 ]) 740 741AC_CACHE_CHECK([for a fallback value for HZ], ac_cv_var_default_hz, 742[ac_cv_var_default_hz=100 743case "$host" in 744 alpha*-dec-osf4*|alpha*-dec-osf5*) 745 ac_cv_var_default_hz=1024 746 ;; 747 mips-dec-ultrix4*) 748 ac_cv_var_default_hz=256 749 ;; 750esac]) 751AC_DEFINE_UNQUOTED(DEFAULT_HZ, $ac_cv_var_default_hz, [What is the fallback value for HZ?]) 752 753AC_CACHE_CHECK([if we need to override the system's value for HZ], ac_cv_var_override_hz, 754[ac_cv_var_override_hz=no 755case "$host" in 756 alpha*-dec-osf4*|alpha*-dec-osf5*) 757 ac_cv_var_override_hz=yes 758 ;; 759 mips-dec-ultrix4*) 760 ac_cv_var_override_hz=yes 761 ;; 762 *-*-freebsd*) 763 ac_cv_var_override_hz=yes 764 ;; 765 *-*-sunos4*) 766 ac_cv_var_override_hz=yes 767 ;; 768esac]) 769case "$ac_cv_var_override_hz" in 770 yes) 771 AC_DEFINE(OVERRIDE_HZ, 1, [Do we need to override the system's idea of HZ?]) 772 ;; 773esac 774 775dnl AC_CACHE_CHECK(ut_host in struct utmp, ac_cv_func_ut_host_in_utmp, 776dnl [AC_TRY_LINK([#include <sys/types.h> 777dnl #include <utmp.h>], [struct utmp ut; ut.ut_host;], 778dnl ac_cv_func_ut_host_in_utmp=yes, ac_cv_func_ut_host_in_utmp=no)]) 779dnl if test $su_cv_func_ut_host_in_utmp = yes; then 780dnl AC_DEFINE(HAVE_UT_HOST) 781dnl fi 782 783dnl AC_MSG_CHECKING(if we can get the system boot time) 784dnl AC_CACHE_VAL(su_cv_have_boot_time, 785dnl [AC_EGREP_CPP(yes, 786dnl [#ifdef HAVE_UTMPX_H 787dnl #include <utmpx.h> 788dnl #else 789dnl #include <utmp.h> 790dnl #endif 791dnl #ifdef BOOT_TIME 792dnl yes 793dnl #endif 794dnl ], su_cv_have_boot_time=yes, su_cv_have_boot_time=no)]) 795dnl AC_MSG_RESULT($su_cv_have_boot_time) 796 797AC_CACHE_CHECK([for struct rt_msghdr], ac_cv_struct_rt_msghdr, 798[AC_TRY_COMPILE([ 799#include <sys/types.h> 800#include <sys/socket.h> 801#include <net/if.h> 802#include <net/route.h>], 803[struct rt_msghdr p;], 804 ac_cv_struct_rt_msghdr=yes, 805 ac_cv_struct_rt_msghdr=no) 806]) 807 808if test $ac_cv_struct_rt_msghdr = yes; then 809 AC_DEFINE(HAS_ROUTING_SOCKET, 1, [Do we have a routing socket (struct rt_msghdr)?]) 810fi 811 812AC_CACHE_CHECK( 813 [struct sigaction for sa_sigaction], 814 ac_cv_struct_sigaction_has_sa_sigaction, 815 [ 816 AC_TRY_COMPILE( 817 [#include <signal.h>], 818 [struct sigaction act; act.sa_sigaction = 0;], 819 ac_cv_struct_sigaction_has_sa_sigaction=yes, 820 ac_cv_struct_sigaction_has_sa_sigaction=no 821 ) 822 ] 823) 824if test $ac_cv_struct_sigaction_has_sa_sigaction = yes; then 825 AC_DEFINE(HAVE_SA_SIGACTION_IN_STRUCT_SIGACTION, 1, [Obvious...]) 826fi 827 828AC_CACHE_CHECK([for struct ppsclockev], ac_cv_struct_ppsclockev, 829[AC_TRY_COMPILE([ 830#include <sys/types.h> 831#ifdef HAVE_SYS_TERMIOS_H 832# include <sys/termios.h> 833#endif 834#ifdef HAVE_SYS_TIME_H 835# include <sys/time.h> 836#endif 837#ifdef HAVE_SYS_PPSCLOCK_H 838# include <sys/ppsclock.h> 839#endif],[ 840extern struct ppsclockev *pce; 841return pce->serial;], 842 ac_cv_struct_ppsclockev=yes, 843 ac_cv_struct_ppsclockev=no) 844]) 845if test $ac_cv_struct_ppsclockev = yes; then 846 AC_DEFINE(HAVE_STRUCT_PPSCLOCKEV, 1, [Does a system header define struct ppsclockev?]) 847fi 848 849AC_CACHE_CHECK([struct sockaddr for sa_len], ac_cv_struct_sockaddr_has_sa_len, 850[AC_TRY_COMPILE([ 851#include <sys/types.h> 852#include <sys/socket.h>],[ 853extern struct sockaddr *ps; 854return ps->sa_len;], 855 ac_cv_struct_sockaddr_has_sa_len=yes, 856 ac_cv_struct_sockaddr_has_sa_len=no) 857]) 858if test $ac_cv_struct_sockaddr_has_sa_len = yes; then 859 AC_DEFINE(HAVE_SA_LEN_IN_STRUCT_SOCKADDR, 1, [Should be obvious...]) 860fi 861 862AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage, 863[AC_TRY_COMPILE([ 864#include <sys/types.h> 865#include <sys/socket.h> 866#include <netinet/in.h> 867],[ 868struct sockaddr_storage n;], 869 ac_cv_struct_sockaddr_storage=yes, 870 ac_cv_struct_sockaddr_storage=no) 871]) 872if test $ac_cv_struct_sockaddr_storage = yes; then 873 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, [Does a system header define struct sockaddr_storage?]) 874fi 875 876AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], 877 ac_cv_have_ss_family_in_struct_ss, [ 878 AC_TRY_COMPILE( 879 [ 880#include <sys/types.h> 881#include <sys/socket.h> 882 ], 883 [ struct sockaddr_storage s; s.ss_family = 1; ], 884 [ ac_cv_have_ss_family_in_struct_ss="yes" ], 885 [ ac_cv_have_ss_family_in_struct_ss="no" ], 886 ) 887]) 888if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then 889 AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have ss_family?]) 890else 891 # Hack around a problem... 892 # HMS: This is $host because we need the -D if we are building *for* it. 893 # HMS: 061029: Now that we separate the ss_* checks this is causing 894 # a problem - disable it until we get to the bottom of it. 895 case "$host" in 896 XXX*-*-hpux11.11) CPPFLAGS="$CPPFLAGS -D_NETINET_IN6_H" 897 ;; 898 esac 899fi 900 901AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], 902 ac_cv_have___ss_family_in_struct_ss, [ 903 AC_TRY_COMPILE( 904 [ 905#include <sys/types.h> 906#include <sys/socket.h> 907 ], 908 [ struct sockaddr_storage s; s.__ss_family = 1; ], 909 [ ac_cv_have___ss_family_in_struct_ss="yes" ], 910 [ ac_cv_have___ss_family_in_struct_ss="no" ] 911 ) 912]) 913if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then 914 AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have __ss_family?]) 915fi 916 917AH_VERBATIM([X_HAVE_SS_FAMILY_IN_SS], 918[/* Handle ss_family */ 919#if !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE___SS_FAMILY_IN_SS) 920# define ss_family __ss_family 921#endif /* !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE_SA_FAMILY_IN_SS) */]) 922 923AC_CACHE_CHECK([for ss_len field in struct sockaddr_storage], 924 ac_cv_have_ss_len_in_struct_ss, [ 925 AC_TRY_COMPILE( 926 [ 927#include <sys/types.h> 928#include <sys/socket.h> 929 ], 930 [ struct sockaddr_storage s; s.ss_len = 1; ], 931 [ ac_cv_have_ss_len_in_struct_ss="yes" ], 932 [ ac_cv_have_ss_len_in_struct_ss="no" ], 933 ) 934]) 935if test "x$ac_cv_have_ss_len_in_struct_ss" = "xyes" ; then 936 AC_DEFINE(HAVE_SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have ss_len?]) 937fi 938 939AC_CACHE_CHECK([for __ss_len field in struct sockaddr_storage], 940 ac_cv_have___ss_len_in_struct_ss, [ 941 AC_TRY_COMPILE( 942 [ 943#include <sys/types.h> 944#include <sys/socket.h> 945 ], 946 [ struct sockaddr_storage s; s.__ss_len = 1; ], 947 [ ac_cv_have___ss_len_in_struct_ss="yes" ], 948 [ ac_cv_have___ss_len_in_struct_ss="no" ] 949 ) 950]) 951if test "x$ac_cv_have___ss_len_in_struct_ss" = "xyes" ; then 952 AC_DEFINE(HAVE___SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have __ss_len?]) 953fi 954 955AH_VERBATIM([X_HAVE_SS_LEN_IN_SS], 956[/* Handle ss_len */ 957#if !defined(HAVE_SS_LEN_IN_SS) && defined(HAVE___SS_LEN_IN_SS) 958# define ss_len __ss_len 959#endif /* !defined(HAVE_SS_LEN_IN_SS) && defined(HAVE_SA_LEN_IN_SS) */]) 960 961case "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in 962 *yes*) 963 AC_CACHE_CHECK([for struct snd_size], ac_cv_struct_snd_size, 964[AC_TRY_COMPILE([ 965#ifdef HAVE_MACHINE_SOUNDCARD_H 966# include <machine/soundcard.h> 967#endif 968#ifdef HAVE_SYS_SOUNDCARD_H 969# include <sys/soundcard.h> 970#endif],[ 971extern struct snd_size *ss; 972return ss->rec_size;], 973 ac_cv_struct_snd_size=yes, 974 ac_cv_struct_snd_size=no) 975]) 976 case "$ac_cv_struct_snd_size" in 977 yes) AC_DEFINE(HAVE_STRUCT_SND_SIZE, 1,[Do we have struct snd_size?]) ;; 978 esac 979 ;; 980esac 981 982AC_CACHE_CHECK([struct clockinfo for hz], ac_cv_struct_clockinfo_has_hz, 983[AC_TRY_COMPILE([ 984#include <sys/time.h>],[ 985extern struct clockinfo *pc; 986return pc->hz;], 987 ac_cv_struct_clockinfo_has_hz=yes, 988 ac_cv_struct_clockinfo_has_hz=no) 989]) 990if test $ac_cv_struct_clockinfo_has_hz = yes; then 991 AC_DEFINE(HAVE_HZ_IN_STRUCT_CLOCKINFO, 1, [Obvious...]) 992fi 993 994AC_CACHE_CHECK([struct clockinfo for tickadj], ac_cv_struct_clockinfo_has_tickadj, 995[AC_TRY_COMPILE([ 996#include <sys/time.h>],[ 997extern struct clockinfo *pc; 998return pc->tickadj;], 999 ac_cv_struct_clockinfo_has_tickadj=yes, 1000 ac_cv_struct_clockinfo_has_tickadj=no) 1001]) 1002if test $ac_cv_struct_clockinfo_has_tickadj = yes; then 1003 AC_DEFINE(HAVE_TICKADJ_IN_STRUCT_CLOCKINFO, 1, [Obvious...]) 1004fi 1005 1006AC_CACHE_CHECK([for struct timespec], ac_cv_struct_timespec, 1007[AC_TRY_COMPILE([ 1008#include <sys/time.h> 1009/* Under SunOS, timespec is in sys/timepps.h, which needs errno.h and FRAC */ 1010#ifdef HAVE_ERRNO_H 1011# include <errno.h> 1012#endif 1013#ifdef HAVE_SYS_TIMEPPS_H 1014# define FRAC 4294967296 1015# include <sys/timepps.h> 1016#endif], 1017[struct timespec n;], 1018ac_cv_struct_timespec=yes, ac_cv_struct_timespec=no)]) 1019if test $ac_cv_struct_timespec = yes; then 1020 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, [Do we have struct timespec?]) 1021fi 1022 1023AC_CACHE_CHECK([for struct ntptimeval], ac_cv_struct_ntptimeval, 1024[AC_TRY_COMPILE([ 1025#include <sys/time.h> 1026#include <sys/timex.h>], 1027[struct ntptimeval n;], 1028ac_cv_struct_ntptimeval=yes, ac_cv_struct_ntptimeval=no)]) 1029if test $ac_cv_struct_ntptimeval = yes; then 1030 AC_DEFINE(HAVE_STRUCT_NTPTIMEVAL, 1, [Do we have struct ntptimeval?]) 1031fi 1032 1033AC_CHECK_MEMBERS([struct ntptimeval.time.tv_nsec], , , 1034[#ifdef HAVE_SYS_TIME_H 1035#include <sys/time.h> 1036#else 1037# ifdef HAVE_TIME_H 1038# include <time.h> 1039# endif 1040#endif 1041#ifdef HAVE_SYS_TIMEX_H 1042#include <sys/timex.h> 1043#else 1044# ifdef HAVE_TIMEX_H 1045# include <timex.h> 1046# endif 1047#endif]) 1048 1049AC_C_INLINE 1050 1051case "$ac_cv_c_inline" in 1052 '') 1053 ;; 1054 *) 1055 AC_DEFINE(HAVE_INLINE,1,[inline keyword or macro available]) 1056 AC_SUBST(HAVE_INLINE) 1057esac 1058 1059AC_C_CHAR_UNSIGNED dnl CROSS_COMPILE? 1060AC_CHECK_SIZEOF(signed char) 1061AC_CHECK_SIZEOF(int) 1062AC_CHECK_SIZEOF(long) 1063 1064AC_CHECK_TYPES([s_char]) 1065case "$ac_cv_c_char_unsigned$ac_cv_sizeof_signed_char$ac_cv_type_s_char" in 1066 *yes) 1067 # We have a typedef for s_char. Might as well believe it... 1068 ;; 1069 no0no) 1070 # We have signed chars, can't say 'signed char', no s_char typedef. 1071 AC_DEFINE(NEED_S_CHAR_TYPEDEF, 1, [Do we need an s_char typedef?]) 1072 ;; 1073 no1no) 1074 # We have signed chars, can say 'signed char', no s_char typedef. 1075 AC_DEFINE(NEED_S_CHAR_TYPEDEF) 1076 ;; 1077 yes0no) 1078 # We have unsigned chars, can't say 'signed char', no s_char typedef. 1079 AC_MSG_ERROR(No way to specify a signed character!) 1080 ;; 1081 yes1no) 1082 # We have unsigned chars, can say 'signed char', no s_char typedef. 1083 AC_DEFINE(NEED_S_CHAR_TYPEDEF) 1084 ;; 1085esac 1086AC_TYPE_UID_T 1087 1088case "$host" in 1089 *-*-aix[[456]]*) 1090 # (prr) aix 4.1 doesn't have clock_settime, but in aix 4.3 it's a stub 1091 # (returning ENOSYS). I didn't check 4.2. If, in the future, 1092 # IBM pulls its thumbs out long enough to implement clock_settime, 1093 # this conditional will need to change. Maybe use AC_TRY_RUN 1094 # instead to try to set the time to itself and check errno. 1095 ;; 1096 *) AC_CHECK_FUNCS(clock_gettime clock_settime) 1097 ;; 1098esac 1099AC_CHECK_FUNCS(daemon) 1100AC_CHECK_FUNCS(finite, , 1101 [AC_CHECK_FUNCS(isfinite, , 1102 [AC_MSG_CHECKING([for isfinite with <math.h>]) 1103 _libs=$LIBS 1104 LIBS="$LIBS -lm" 1105 AC_TRY_LINK([#include <math.h>], [float f = 0.0; isfinite(f)], 1106 [AC_MSG_RESULT(yes) 1107 AC_DEFINE(HAVE_ISFINITE)], 1108 AC_MSG_RESULT(no)) 1109 LIBS=$_libs])]) 1110AC_CHECK_FUNCS(getbootfile getclock getdtablesize) 1111 1112AC_ARG_ENABLE(getifaddrs, 1113 AC_HELP_STRING([--enable-getifaddrs], 1114 [s Enable the use of getifaddrs() [[yes|no|glibc]]. 1115glibc: Use getifaddrs() in glibc if you know it supports IPv6.]), 1116 want_getifaddrs="$enableval", want_getifaddrs="yes") 1117 1118case $want_getifaddrs in 1119yes|glibc) 1120# 1121# Do we have getifaddrs() ? 1122# 1123case $host in 1124*-*linux*) 1125 # Some recent versions of glibc support getifaddrs() which does not 1126 # provide AF_INET6 addresses while the function provided by the USAGI 1127 # project handles the AF_INET6 case correctly. We need to avoid 1128 # using the former but prefer the latter unless overridden by 1129 # --enable-getifaddrs=glibc. 1130 if test $want_getifaddrs = glibc 1131 then 1132 AC_CHECK_FUNCS(getifaddrs) 1133 else 1134 save_LIBS="$LIBS" 1135 LIBS="-L/usr/local/v6/lib $LIBS" 1136 AC_CHECK_LIB(inet6, getifaddrs, 1137 LIBS="$LIBS -linet6" 1138 AC_DEFINE(HAVE_GETIFADDRS), 1139 LIBS=${save_LIBS}) 1140 fi 1141 ;; 1142*) 1143 AC_CHECK_FUNCS(getifaddrs) 1144 ;; 1145esac 1146;; 1147no) 1148;; 1149esac 1150 1151AC_MSG_CHECKING([type of socklen arg for getsockname()]) 1152AC_CACHE_VAL(ac_cv_func_getsockname_arg2,dnl 1153[AC_CACHE_VAL(ac_cv_func_getsockname_socklen_type,dnl 1154 [for ac_cv_func_getsockname_arg2 in 'struct sockaddr *' 'void *'; do 1155 for ac_cv_func_getsockname_socklen_type in 'socklen_t' 'size_t' 'unsigned int' 'int'; do 1156 AC_TRY_COMPILE(dnl 1157[#ifdef HAVE_SYS_TYPES_H 1158#include <sys/types.h> 1159#endif 1160#ifdef HAVE_SYS_SOCKET_H 1161#include <sys/socket.h> 1162#endif 1163extern getsockname (int, $ac_cv_func_getsockname_arg2, $ac_cv_func_getsockname_socklen_type *);],,dnl 1164 [ac_not_found=no ; break 2], ac_not_found=yes) 1165 done 1166 done 1167 ])dnl AC_CACHE_VAL 1168])dnl AC_CACHE_VAL 1169if test "$ac_not_found" = yes; then 1170 ac_cv_func_getsockname_socklen_type='socklen_t' 1171fi 1172AC_MSG_RESULT([$ac_cv_func_getsockname_socklen_type]) 1173AC_DEFINE_UNQUOTED([GETSOCKNAME_SOCKLEN_TYPE], 1174 $ac_cv_func_getsockname_socklen_type, 1175 [What is getsockname()'s socklen type?]) 1176 1177AC_CHECK_FUNCS(getrusage) 1178AC_CHECK_FUNC(gettimeofday, ,[ 1179case "$host" in 1180 *-*-mpeix*) ac_cv_func_gettimeofday=yes 1181 ;; 1182esac]) 1183case "$host" in 1184 *-pc-cygwin*) 1185 ;; 1186 *) AC_CHECK_FUNCS(getuid) 1187 ;; 1188esac 1189AC_CHECK_FUNCS(hstrerror) 1190 1191# 1192# Check for if_nametoindex() for IPv6 scoped addresses support 1193# 1194AC_CHECK_FUNC(if_nametoindex, ac_cv_have_if_nametoindex=yes, 1195 ac_cv_have_if_nametoindex=no) 1196case $ac_cv_have_if_nametoindex in 1197 no) 1198 case "$host" in 1199 *-hp-hpux*) 1200 AC_CHECK_LIB(ipv6, if_nametoindex, 1201 ac_cv_have_if_nametoindex=yes 1202 LIBS="-lipv6 $LIBS",) 1203 ;; 1204 esac 1205esac 1206case $ac_cv_have_if_nametoindex in 1207 yes) 1208 AC_DEFINE(ISC_PLATFORM_HAVEIFNAMETOINDEX, 1, [ISC: do we have if_nametoindex()?]) 1209 ;; 1210esac 1211 1212AC_CHECK_FUNC(inet_ntop, [], [AC_DEFINE(ISC_PLATFORM_NEEDNTOP, 1, [ISC: provide inet_ntop()])]) 1213AC_CHECK_FUNC(inet_pton, [], [AC_DEFINE(ISC_PLATFORM_NEEDPTON, 1, [ISC: provide inet_pton()])]) 1214AC_CHECK_FUNC(inet_aton, [], [AC_DEFINE(ISC_PLATFORM_NEEDATON, 1, [ISC: provide inet_aton()])]) 1215AC_CHECK_FUNCS(K_open kvm_open memcpy memmove memset) 1216case "$host" in 1217 *-*-sco3.2v5.0.*) 1218 # Just stubs. Idiots. 1219 ;; 1220 *) AC_CHECK_FUNCS(mkstemp) 1221 ;; 1222esac 1223AC_CHECK_FUNCS(mktime) 1224case "$host" in 1225 *-*-aix[[456]]*) 1226 # Just a stub. Idiots. 1227 ;; 1228 *-*-irix[[45]]*) 1229 # Just a stub in "old" Irix. Idiots. 1230 ;; 1231 *-*-*linux*) 1232 # there, but more trouble than it is worth for now (resolver problems) 1233 ;; 1234 *-*-qnx*) 1235 # Apparently there but not working in QNX. Idiots? 1236 ;; 1237 *-*-sco3.2v5.0.*) 1238 # Just a stub. Idiots. 1239 ;; 1240 alpha*-dec-osf4*|alpha*-dec-osf5*) 1241 # mlockall is there, as a #define calling memlk via <sys/mman.h> 1242 # Not easy to test for - cheat. 1243 AC_CHECK_FUNCS(memlk, [ac_cv_func_mlockall='yes']) 1244 AC_CHECK_FUNCS(mlockall) 1245 ;; 1246 *) AC_CHECK_FUNCS(mlockall) 1247 ;; 1248esac 1249AC_CHECK_FUNCS(nice nlist) 1250case "$host" in 1251 *-*-solaris2.6) 1252 # Broken... 1253 ;; 1254 *) AC_CHECK_FUNCS(ntp_adjtime ntp_gettime) 1255 ;; 1256esac 1257AC_CHECK_FUNCS(plock pututline pututxline readlink recvmsg rtprio) 1258case "$host" in 1259 *-*-aix[[456]]*) 1260 # Just a stub in AIX 4. Idiots. 1261 ;; 1262 *-*-solaris2.5*) 1263 # Just stubs in solaris2.5. Idiots. 1264 ;; 1265 *) AC_CHECK_FUNCS(sched_setscheduler) 1266 ;; 1267esac 1268AC_CHECK_FUNCS(setlinebuf setpgid setpriority setsid) 1269AC_CHECK_FUNCS(setrlimit) 1270AC_CHECK_FUNCS(settimeofday, ,[ 1271case "$host" in 1272 *-*-mpeix*) ac_cv_func_settimeofday=yes 1273 ;; 1274esac]) 1275AC_CHECK_FUNCS(setvbuf sigaction) 1276AC_CHECK_FUNCS(sigvec sigset sigsuspend stime strchr sysconf sysctl) 1277AC_CHECK_FUNCS(snprintf strdup strerror strstr) 1278AC_CHECK_FUNCS(timegm) 1279case "$host" in 1280 *-*-aix[[456]]*) 1281 # Just stubs. Idiots. 1282 ;; 1283 *-*-netbsd1*) 1284 # Just stubs. Idiots. 1285 ;; 1286 *-*-netbsdelf1*) 1287 # Just stubs. Idiots. 1288 ;; 1289 *-*-openbsd*) 1290 # Just stubs. Idiots. 1291 ;; 1292 *) AC_CHECK_FUNCS(timer_create timer_settime) 1293 ;; 1294esac 1295case "$host" in 1296 *-pc-cygwin*) 1297 # I have no idea... 1298 ;; 1299 *) AC_CHECK_FUNCS(umask) 1300 ;; 1301esac 1302AC_CHECK_FUNCS(uname updwtmp updwtmpx vsnprintf vsprintf) 1303 1304### 1305 1306# http://bugs.ntp.org/737 1307case "$ac_cv_func_recvmsg" in 1308 yes) 1309 AC_MSG_CHECKING([if we need extra help to define struct iovec]) 1310 AC_CACHE_VAL(ac_cv_struct_iovec_help,dnl 1311 [for ac_cv_struct_iovec_help in '0' '1'; do 1312 AC_TRY_COMPILE(dnl 1313[#ifdef HAVE_SYS_TYPES_H 1314#include <sys/types.h> 1315#endif 1316#ifdef HAVE_SYS_SOCKET_H 1317#include <sys/socket.h> 1318#endif 1319#if $ac_cv_struct_iovec_help 1320#include <sys/uio.h> 1321#endif 1322 1323void foo(); 1324void foo() { 1325 ssize_t x; 1326 int s = 0; 1327 struct iovec iov; 1328 struct msghdr mh; 1329 int flags = 0; 1330 1331 mh.msg_iov = &iov; 1332 x = recvmsg(s, &mh, flags); 1333}],,dnl 1334 [ac_worked=yes ; break 1], ac_worked=no) 1335 done 1336])dnl AC_CACHE_VAL 1337 case "$ac_worked$ac_cv_struct_iovec_help" in 1338 yes1) 1339 AC_DEFINE(HAVE_SYS_UIO_H, 1, [Use sys/uio.h for struct iovec help]) 1340 ans=yes 1341 ;; 1342 *) ans=no 1343 esac 1344 AC_MSG_RESULT([$ans]) 1345 ;; 1346esac 1347 1348case "$host" in 1349 *-*-sunos4*) 1350 AC_DEFINE(SPRINTF_CHAR, 1, [*s*printf() functions are char*]) 1351 ;; 1352esac 1353 1354AC_CACHE_CHECK([number of arguments to gettimeofday()], ac_cv_func_Xettimeofday_nargs, 1355[AC_TRY_COMPILE([#include <sys/time.h>],[ 1356gettimeofday((struct timeval*)0,(struct timezone*)0); 1357settimeofday((struct timeval*)0,(struct timezone*)0); 1358], 1359 ac_cv_func_Xettimeofday_nargs=2, ac_cv_func_Xettimeofday_nargs=1) 1360]) 1361if test $ac_cv_func_Xettimeofday_nargs = 1; then 1362 AC_DEFINE(SYSV_TIMEOFDAY, 1, [Does Xettimeofday take 1 arg?]) 1363fi 1364 1365AC_CACHE_CHECK([number of arguments taken by setpgrp()], ac_cv_func_setpgrp_nargs, 1366[AC_TRY_COMPILE([ 1367#ifdef HAVE_SYS_TYPES_H 1368# include <sys/types.h> 1369#endif 1370#ifdef HAVE_UNISTD_H 1371# include <unistd.h> 1372#endif 1373],[setpgrp(0,0);], 1374 ac_cv_func_setpgrp_nargs=2, ac_cv_func_setpgrp_nargs=0) 1375]) 1376if test $ac_cv_func_setpgrp_nargs = 0; then 1377 AC_DEFINE(HAVE_SETPGRP_0, 1, [define if setpgrp takes 0 arguments]) 1378fi 1379 1380save_CFLAGS=$CFLAGS 1381CFLAGS="$CFLAGS -I$srcdir/include" 1382 1383AC_CACHE_CHECK([argument pointer type of qsort()'s compare function and base], 1384ac_cv_func_qsort_argtype, 1385[AC_TRY_COMPILE([ 1386#include "l_stdlib.h" 1387 1388#ifdef HAVE_PROTOTYPES 1389#define P(x) x 1390#else 1391#define P(x) () 1392#endif 1393 1394extern void *base; 1395extern sortfunc P((const void *, const void *)); 1396int sortfunc(a, b) 1397 const void *a; 1398 const void *b; { return 0; } 1399],[ 1400qsort(base, 2, sizeof(char *), sortfunc); 1401], 1402 ac_cv_func_qsort_argtype=void, ac_cv_func_qsort_argtype=char) 1403]) 1404case "$ac_cv_func_qsort_argtype" in 1405 void) 1406 AC_DEFINE(QSORT_USES_VOID_P, 1, [Does qsort expect to work on "void *" stuff?]) 1407 ;; 1408esac 1409 1410CFLAGS=$save_CFLAGS 1411 1412AC_CACHE_CHECK([if we need to declare 'errno'], ac_cv_decl_errno, 1413[AC_TRY_COMPILE([#ifdef HAVE_ERRNO_H 1414#include <errno.h> 1415#endif], 1416 [errno = 0;], 1417 ac_cv_decl_errno=no, ac_cv_decl_errno=yes)]) 1418case "$ac_cv_decl_errno" in 1419 yes) AC_DEFINE(DECL_ERRNO, 1, [Declare errno?]) ;; 1420esac 1421 1422dnl FIXME: from ntpd/ntp_intres.c, but there's no info which header produces 1423dnl the clash. <resolv.h> isn't currently used. 1424dnl 1425dnl (prr) aix 4.3 defines h_errno as (*(int *)h_errno_which()) for 1426dnl MT purposes. This makes the line "extern int h_errno" choke 1427dnl the compiler. Hopefully adding !defined(h_errno) fixes this 1428dnl without breaking any other platforms. 1429dnl 1430AC_CACHE_CHECK([if we may declare 'h_errno'], ac_cv_decl_h_errno, 1431[AC_TRY_COMPILE([#include <sys/types.h> 1432#ifdef HAVE_NETINET_IN_H 1433#include <netinet/in.h> 1434#endif 1435#ifdef HAVE_ARPA_NAMESER_H 1436#include <arpa/nameser.h> 1437#endif 1438#ifdef HAVE_NETDB_H 1439#include <netdb.h> 1440#endif 1441#ifdef HAVE_RESOLV_H 1442#include <resolv.h> 1443#endif], 1444 [extern int h_errno;], 1445 ac_cv_decl_h_errno=yes, ac_cv_decl_h_errno=no)]) 1446case "$ac_cv_decl_h_errno" in 1447 yes) AC_DEFINE(DECL_H_ERRNO, 1, [Declare h_errno?]) ;; 1448esac 1449 1450dnl See if char *sys_errlist[] is OK. 1451AC_CACHE_CHECK([[if declaring 'char *sys_errlist[]' is ok]], ac_cv_decl_sys_errlist, 1452[AC_TRY_COMPILE([#include <stdio.h> 1453#ifdef HAVE_ERRNO_H 1454#include <errno.h> 1455#endif], 1456 [extern char *sys_errlist[]; 1457], 1458 ac_cv_decl_sys_errlist=yes, ac_cv_decl_sys_errlist=no)]) 1459case "$ac_cv_decl_sys_errlist" in 1460 yes) AC_DEFINE(CHAR_SYS_ERRLIST, 1, [Declare char *sys_errlist array]) ;; 1461esac 1462 1463AC_CACHE_CHECK([if declaring 'syscall()' is ok], ac_cv_decl_syscall, 1464[AC_TRY_COMPILE([ 1465#ifdef HAVE_SYS_TYPES_H 1466# include <sys/types.h> 1467#endif 1468#ifdef HAVE_UNISTD_H 1469# include <unistd.h> 1470#endif 1471#ifdef HAVE_PROTOTYPES 1472#define P(x) x 1473#else 1474#define P(x) () 1475#endif 1476], 1477 [extern int syscall P((int, ...));], 1478 ac_cv_decl_syscall=yes, ac_cv_decl_syscall=no)]) 1479case "$ac_cv_decl_syscall" in 1480 yes) AC_DEFINE(DECL_SYSCALL, 1, [Declare syscall()?]) ;; 1481esac 1482 1483case "$host" in 1484 *-*-aix4.3.*) 1485 AC_DEFINE(DECL_HSTRERROR_0, 1, [Declaration style]) # Needed for XLC under AIX 4.3.2 1486 ;; 1487 *-*-mpeix*) 1488 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) 1489 AC_DEFINE(DECL_INET_NTOA_0, 1, [Declaration style]) 1490 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) 1491 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) 1492 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) 1493 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) 1494 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) 1495 ;; 1496 *-*-osf[[45]]*) 1497 AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style]) 1498 AC_DEFINE(DECL_STIME_1, 1, [Declaration style]) 1499 ;; 1500 *-*-qnx*) 1501 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) 1502 ;; 1503 *-*-riscos4*) 1504 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) 1505 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) 1506 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) 1507 AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) 1508 AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style]) 1509 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) 1510 AC_DEFINE(DECL_RENAME_0, 1, [Declaration style]) 1511 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) 1512 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) 1513 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) 1514 AC_DEFINE(DECL_STDIO_0, 1, [Declaration style]) 1515 AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style]) 1516 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) 1517 AC_DEFINE(DECL_TIME_0, 1, [Declaration style]) 1518 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) 1519 AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style]) 1520 ;; 1521 *-*-solaris2*) 1522 AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style]) 1523 AC_DEFINE(DECL_SETPRIORITY_1, 1, [Declaration style]) 1524 case "$host" in 1525 *-*-solaris2.4) 1526 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) 1527 ;; 1528 esac 1529 ;; 1530 *-*-sunos4*) 1531 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) 1532 AC_DEFINE(DECL_BCOPY_0, 1, [Declaration style]) 1533 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) 1534 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) 1535 AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) 1536 AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style]) 1537 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) 1538 AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style]) 1539 AC_DEFINE(DECL_RENAME_0, 1, [Declaration style]) 1540 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) 1541 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) 1542 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) 1543 AC_DEFINE(DECL_SIGVEC_0, 1, [Declaration style]) 1544 case "`basename $ac_cv_prog_CC`" in 1545 acc*) ;; 1546 *) AC_DEFINE(DECL_STDIO_0, 1, [Declaration style]) 1547 ;; 1548 esac 1549 AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style]) 1550 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) 1551 AC_DEFINE(DECL_TIME_0, 1, [Declaration style]) 1552 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) 1553 AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style]) 1554 AC_DEFINE(DECL_TOUPPER_0, 1, [Declaration style]) 1555 AC_DEFINE(DECL_STRERROR_0, 1, [Declaration style]) 1556 ;; 1557 *-*-ultrix4*) 1558 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) 1559 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) 1560 AC_DEFINE(DECL_CFSETISPEED_0, 1, [Declaration style]) 1561 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) 1562 AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) 1563 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) 1564 AC_DEFINE(DECL_NLIST_0, 1, [Declaration style]) 1565 AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style]) 1566 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) 1567 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) 1568 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) 1569 AC_DEFINE(DECL_STIME_0, 1, [Declaration style]) 1570 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) 1571 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) 1572 ;; 1573esac 1574 1575case "$host" in 1576 *-*-sco3.2*) 1577 AC_DEFINE(TERMIOS_NEEDS__SVID3, 1, [Do we need to #define _SVID3 when we #include <termios.h>?]) 1578 ;; 1579esac 1580 1581AC_CACHE_CHECK([if we need extra room for SO_RCVBUF], ac_cv_var_rcvbuf_slop, 1582[ans=no 1583case "$host" in 1584 *-*-hpux[[567]]*) 1585 ans=yes 1586 ;; 1587esac 1588ac_cv_var_rcvbuf_slop=$ans]) 1589case "$ac_cv_var_rcvbuf_slop" in 1590 yes) AC_DEFINE(NEED_RCVBUF_SLOP, 1, [Do we need extra room for SO_RCVBUF? (HPUX <8)]) ;; 1591esac 1592 1593AC_CACHE_CHECK([if we will open the broadcast socket], ac_cv_var_open_bcast_socket, 1594[ans=yes 1595case "$host" in 1596 *-*-domainos) 1597 ans=no 1598 ;; 1599esac 1600ac_cv_var_open_bcast_socket=$ans]) 1601case "$ac_cv_var_open_bcast_socket" in 1602 yes) AC_DEFINE(OPEN_BCAST_SOCKET, 1, [Should we open the broadcast socket?]) ;; 1603esac 1604 1605AC_CACHE_CHECK([if we want the HPUX version of FindConfig()], ac_cv_var_hpux_findconfig, 1606[ans=no 1607case "$host" in 1608 *-*-hpux*) 1609 ans=yes 1610 ;; 1611esac 1612ac_cv_var_hpux_findconfig=$ans]) 1613case "$ac_cv_var_hpux_findconfig" in 1614 yes) AC_DEFINE(NEED_HPUX_FINDCONFIG, 1, [Do we want the HPUX FindConfig()?]) ;; 1615esac 1616 1617AC_CACHE_CHECK([if process groups are set with -pid], ac_cv_arg_setpgrp_negpid, 1618[case "$host" in 1619 *-*-hpux[[567]]*) 1620 ans=no 1621 ;; 1622 *-*-hpux*) 1623 ans=yes 1624 ;; 1625 *-*-*linux*) 1626 ans=yes 1627 ;; 1628 *-*-sunos3*) 1629 ans=yes 1630 ;; 1631 *-*-ultrix2*) 1632 ans=yes 1633 ;; 1634 *) 1635 ans=no 1636 ;; 1637esac 1638ac_cv_arg_setpgrp_negpid=$ans]) 1639case "$ac_cv_arg_setpgrp_negpid" in 1640 yes) AC_DEFINE(UDP_BACKWARDS_SETOWN, 1, [Do we set process groups with -pid?]) ;; 1641esac 1642 1643AC_CACHE_CHECK([if we need a ctty for F_SETOWN], ac_cv_func_ctty_for_f_setown, 1644[[case "$host" in 1645 *-*-bsdi[23]*) 1646 ans=yes 1647 ;; 1648 *-*-freebsd*) 1649 ans=yes 1650 ;; 1651 *-*-netbsd*3.[0-8]*|*-*-netbsd*[0-2].*|*-*-netbsd*3.99.[0-7]) 1652 ans=yes 1653 ;; 1654 *-*-openbsd*) 1655 ans=yes 1656 ;; 1657 *-*-osf*) 1658 ans=yes 1659 ;; 1660 *-*-darwin*) 1661 ans=yes 1662 ;; 1663 *) ans=no 1664 ;; 1665esac 1666ac_cv_func_ctty_for_f_setown=$ans]]) 1667case "$ac_cv_func_ctty_for_f_setown" in 1668 yes) AC_DEFINE(USE_FSETOWNCTTY, 1, [Must we have a CTTY for fsetown?]) ;; 1669esac 1670 1671AC_CACHE_CHECK([if the OS fails to clear cached routes when more specific routes become available], ac_cv_os_routeupdates, 1672[[case "$host" in 1673 *-*-netbsd*) 1674 ans=yes 1675 ;; 1676 *) ans=no 1677 ;; 1678esac 1679ac_cv_os_routeupdates=$ans]]) 1680case "$ac_cv_os_routeupdates" in 1681 yes) AC_DEFINE(OS_MISSES_SPECIFIC_ROUTE_UPDATES, 1, [need to recreate sockets on changed routing?]) ;; 1682esac 1683 1684AC_CACHE_CHECK([if the OS needs the wildcard socket set to REUSEADDR for binding interface addresses], ac_cv_os_wildcardreuse, 1685[[case "$host" in 1686 *-*-*linux*) 1687 ans=yes 1688 ;; 1689 *) ans=no 1690 ;; 1691esac 1692ac_cv_os_wildcardreuse=$ans]]) 1693case "$ac_cv_os_wildcardreuse" in 1694 yes) AC_DEFINE(OS_NEEDS_REUSEADDR_FOR_IFADDRBIND, 1, [wildcard socket needs to set REUSEADDR when binding to interface addresses]) ;; 1695esac 1696 1697ntp_warning='GRONK' 1698AC_MSG_CHECKING([if we'll use clock_settime or settimeofday or stime]) 1699case "$ac_cv_func_clock_settime$ac_cv_func_settimeofday$ac_cv_func_stime" in 1700 yes*) 1701 ntp_warning='' 1702 ans='clock_settime()' 1703 ;; 1704 noyes*) 1705 ntp_warning='But clock_settime() would be better (if we had it)' 1706 ans='settimeofday()' 1707 ;; 1708 nonoyes) 1709 ntp_warning='Which is the worst of the three' 1710 ans='stime()' 1711 ;; 1712 *) 1713 case "$build" in 1714 $host) ntp_warning='Which leaves us with nothing to use!' 1715 ans=none 1716 ;; 1717esac 1718esac 1719AC_MSG_RESULT([$ans]) 1720case "$ntp_warning" in 1721 '') ;; 1722 *) AC_MSG_WARN([*** $ntp_warning ***]) 1723 ;; 1724esac 1725 1726AC_CACHE_CHECK([if we have a losing syscall()], ac_cv_var_syscall_bug, 1727[case "$host" in 1728 *-*-solaris2.4*) 1729 ans=yes 1730 ;; 1731 *) ans=no 1732 ;; 1733esac 1734ac_cv_var_syscall_bug=$ans]) 1735case "$ac_cv_var_syscall_bug" in 1736 yes) AC_DEFINE(SYSCALL_BUG, 1, [Buggy syscall() (Solaris2.4)?]) ;; 1737esac 1738 1739AC_CACHE_CHECK([for SIGIO], ac_cv_hdr_def_sigio, 1740 AC_EGREP_CPP(yes, 1741 [#include <signal.h> 1742#ifdef SIGIO 1743 yes 1744#endif 1745 ], ac_cv_hdr_def_sigio=yes, ac_cv_hdr_def_sigio=no)) 1746 1747dnl Override those system that have a losing SIGIO 1748AC_CACHE_CHECK([if we want to use signalled IO], ac_cv_var_signalled_io, 1749[ans=no 1750case "$ac_cv_hdr_def_sigio" in 1751 yes) 1752 ans=yes 1753 case "$host" in 1754 alpha*-dec-osf4*|alpha*-dec-osf5*) 1755 ans=no 1756 ;; 1757 *-convex-*) 1758 ans=no 1759 ;; 1760 *-dec-*) 1761 ans=no 1762 ;; 1763 *-pc-cygwin*) 1764 ans=no 1765 ;; 1766 *-sni-sysv*) 1767 ans=no 1768 ;; 1769 *-univel-sysv*) 1770 ans=no 1771 ;; 1772 *-*-irix6*) 1773 ans=no 1774 ;; 1775 *-*-freebsd*) 1776 ans=no 1777 ;; 1778 *-*-*linux*) 1779 ans=no 1780 ;; 1781 *-*-unicosmp*) 1782 ans=no 1783 ;; 1784 esac 1785 ;; 1786esac 1787ac_cv_var_signalled_io=$ans]) 1788case "$ac_cv_var_signalled_io" in 1789 yes) AC_DEFINE(HAVE_SIGNALED_IO, 1, [Can we use SIGIO for tcp and udp IO?]) ;; 1790esac 1791 1792AC_CACHE_CHECK([for SIGPOLL], ac_cv_hdr_def_sigpoll, 1793 AC_EGREP_CPP(yes, 1794 [#include <signal.h> 1795#ifdef SIGPOLL 1796 yes 1797#endif 1798 ], ac_cv_hdr_def_sigpoll=yes, ac_cv_hdr_def_sigpoll=no)) 1799 1800AC_CACHE_CHECK([for SIGSYS], ac_cv_hdr_def_sigsys, 1801 AC_EGREP_CPP(yes, 1802 [#include <signal.h> 1803#ifdef SIGSYS 1804 yes 1805#endif 1806 ], ac_cv_hdr_def_sigsys=yes, ac_cv_hdr_def_sigsys=no)) 1807 1808AC_CACHE_CHECK([if we can use SIGPOLL for UDP I/O], ac_cv_var_use_udp_sigpoll, 1809[ans=no 1810case "$ac_cv_hdr_def_sigpoll" in 1811 yes) 1812 case "$host" in 1813 mips-sgi-irix*) 1814 ans=no 1815 ;; 1816 vax-dec-bsd) 1817 ans=no 1818 ;; 1819 *-pc-cygwin*) 1820 ans=no 1821 ;; 1822 *-sni-sysv*) 1823 ans=no 1824 ;; 1825 *-*-aix[[456]]*) 1826 ans=no 1827 ;; 1828 *-*-hpux*) 1829 ans=no 1830 ;; 1831 *-*-*linux*) 1832 ans=no 1833 ;; 1834 *-*-osf*) 1835 ans=no 1836 ;; 1837 *-*-qnx*) 1838 ans=no 1839 ;; 1840 *-*-sunos*) 1841 ans=no 1842 ;; 1843 *-*-solaris*) 1844 ans=no 1845 ;; 1846 *-*-ultrix*) 1847 ans=no 1848 ;; 1849 *-*-unicosmp*) 1850 ans=no 1851 ;; 1852 *) ans=yes 1853 ;; 1854 esac 1855 ;; 1856esac 1857ac_cv_var_use_udp_sigpoll=$ans]) 1858case "$ac_cv_var_use_udp_sigpoll" in 1859 yes) AC_DEFINE(USE_UDP_SIGPOLL, 1, [Can we use SIGPOLL for UDP?]) ;; 1860esac 1861 1862AC_CACHE_CHECK([if we can use SIGPOLL for TTY I/O], ac_cv_var_use_tty_sigpoll, 1863[ans=no 1864case "$ac_cv_hdr_def_sigpoll" in 1865 yes) 1866 case "$host" in 1867 mips-sgi-irix*) 1868 ans=no 1869 ;; 1870 vax-dec-bsd) 1871 ans=no 1872 ;; 1873 *-pc-cygwin*) 1874 ans=no 1875 ;; 1876 *-sni-sysv*) 1877 ans=no 1878 ;; 1879 *-*-aix[[456]]*) 1880 ans=no 1881 ;; 1882 *-*-hpux*) 1883 ans=no 1884 ;; 1885 *-*-*linux*) 1886 ans=no 1887 ;; 1888 *-*-osf*) 1889 ans=no 1890 ;; 1891 *-*-sunos*) 1892 ans=no 1893 ;; 1894 *-*-ultrix*) 1895 ans=no 1896 ;; 1897 *-*-qnx*) 1898 ans=no 1899 ;; 1900 *-*-unicosmp*) 1901 ans=no 1902 ;; 1903 *) ans=yes 1904 ;; 1905 esac 1906 ;; 1907esac 1908ac_cv_var_use_tty_sigpoll=$ans]) 1909case "$ac_cv_var_use_tty_sigpoll" in 1910 yes) AC_DEFINE(USE_TTY_SIGPOLL, 1, [Can we use SIGPOLL for tty IO?]) ;; 1911esac 1912 1913case "$ac_cv_header_sys_sio_h" in 1914 yes) 1915 AC_CACHE_CHECK([sys/sio.h for TIOCDCDTIMESTAMP], ac_cv_hdr_def_tiocdcdtimestamp, 1916 AC_EGREP_CPP(yes, 1917[#include <sys/sio.h> 1918#ifdef TIOCDCDTIMESTAMP 1919 yes 1920#endif 1921 ], ac_cv_hdr_def_tiocdcdtimestamp=yes, ac_cv_hdr_def_tiocdcdtimestamp=no)) 1922 ;; 1923esac 1924 1925case "$ac_cv_hdr_def_tiocdcdtimestamp" in 1926 yes) 1927 ac_cv_var_oncore_ok=yes 1928 ;; 1929esac 1930 1931AC_CACHE_CHECK([if nlist() values might require extra indirection], 1932ac_cv_var_nlist_extra_indirection, 1933[ans=no 1934case "$host" in 1935 *-*-aix*) 1936 ans=yes 1937 ;; 1938esac 1939ac_cv_var_nlist_extra_indirection=$ans]) 1940case "$ac_cv_var_nlist_extra_indirection" in 1941 yes) AC_DEFINE(NLIST_EXTRA_INDIRECTION, 1, [Might nlist() values require an extra level of indirection (AIX)?]) ;; 1942esac 1943 1944AC_CACHE_CHECK([for a minimum recommended value of tickadj], 1945ac_cv_var_min_rec_tickadj, 1946[ans=no 1947case "$host" in 1948 *-*-aix*) 1949 ans=40 1950 ;; 1951esac 1952ac_cv_var_min_rec_tickadj=$ans]) 1953case "$ac_cv_var_min_rec_tickadj" in 1954 ''|no) ;; 1955 *) AC_DEFINE_UNQUOTED(MIN_REC_TICKADJ, $ac_cv_var_min_rec_tickadj, [Should we recommend a minimum value for tickadj?]) ;; 1956esac 1957 1958AC_CACHE_CHECK([if the TTY code permits PARENB and IGNPAR], 1959ac_cv_var_no_parenb_ignpar, 1960[ans=no 1961case "$host" in 1962 i?86-*-*linux*) 1963 ans=yes 1964 ;; 1965 mips-sgi-irix*) 1966 ans=yes 1967 ;; 1968 i?86-*-freebsd[[123]].*) 1969 ;; 1970 i?86-*-freebsd*) 1971 ans=yes 1972 ;; 1973 *-*-unicosmp*) 1974 ans=yes 1975 ;; 1976esac 1977ac_cv_var_no_parenb_ignpar=$ans]) 1978case "$ac_cv_var_no_parenb_ignpar" in 1979 yes) AC_DEFINE(NO_PARENB_IGNPAR, 1, [Is there a problem using PARENB and IGNPAR (IRIX)?]) ;; 1980esac 1981 1982AC_MSG_CHECKING([if we're including debugging code]) 1983AC_ARG_ENABLE(debugging, 1984 AC_HELP_STRING([--enable-debugging], [+ include debugging code]), 1985 [ntp_ok=$enableval], [ntp_ok=yes]) 1986if test "$ntp_ok" = "yes"; then 1987 AC_DEFINE(DEBUG, 1, [Enable debugging?]) 1988fi 1989AC_MSG_RESULT($ntp_ok) 1990 1991AC_MSG_CHECKING([if we including processing time debugging code]) 1992AC_ARG_ENABLE(debug-timing, 1993 AC_HELP_STRING([--enable-debug-timing], [- include processing time debugging code (costs performance)]), 1994 [ntp_ok=$enableval], [ntp_ok=no]) 1995if test "$ntp_ok" = "yes"; then 1996 AC_DEFINE(DEBUG_TIMING, 1, [Enable processing time debugging?]) 1997fi 1998AC_MSG_RESULT($ntp_ok) 1999 2000AC_MSG_CHECKING([[for a the number of minutes in a DST adjustment]]) 2001AC_ARG_ENABLE( 2002 [dst_minutes], 2003 AS_HELP_STRING( 2004 [--enable-dst-minutes], 2005 [n minutes per DST adjustment @<:@60@:>@] dnl @<:@ is [ 2006 ), 2007 [ans=$enableval], 2008 [ans=60] 2009) 2010AC_DEFINE_UNQUOTED(DSTMINUTES, $ans, [The number of minutes in a DST adjustment]) 2011AC_MSG_RESULT([$ans]) 2012 2013AC_MSG_CHECKING([[if ntpd will retry on permanent DNS errors]]) 2014AC_ARG_ENABLE( 2015 [ignore-dns-errors], 2016 AS_HELP_STRING( 2017 [--enable-ignore-dns-errors], 2018 [- retry DNS queries on any error] 2019 ), 2020 [ans=$enableval], 2021 [ans=no] 2022) 2023case "$ans" in 2024 yes) 2025 AC_DEFINE(IGNORE_DNS_ERRORS, 1, [[Retry queries on _any_ DNS error?]]) 2026esac 2027AC_MSG_RESULT([$ans]) 2028 2029AC_CACHE_CHECK([if we have the tty_clk line discipline/streams module], 2030 ac_cv_var_tty_clk, 2031 [case "$ac_cv_header_sys_clkdefs_h$ac_cv_hdr_def_tiocdcdtimestamp" in 2032 *yes*) ac_cv_var_tty_clk=yes ;; 2033 *) ac_cv_var_tty_clk=no ;; 2034 esac]) 2035case "$ac_cv_var_tty_clk" in 2036 yes) AC_DEFINE(TTYCLK, 1, [Do we have the tty_clk line discipline/streams module?]) ;; 2037esac 2038 2039AC_CACHE_CHECK([for the ppsclock streams module], 2040 ac_cv_var_ppsclock, 2041 ac_cv_var_ppsclock=$ac_cv_struct_ppsclockev) 2042case "$ac_cv_var_ppsclock" in 2043 yes) AC_DEFINE(PPS, 1, [Do we have the ppsclock streams module?]) ;; 2044esac 2045 2046AC_CACHE_CHECK([for kernel multicast support], ac_cv_var_mcast, 2047 [ac_cv_var_mcast=no 2048 case "$host" in 2049 i386-sequent-sysv4) ;; 2050 *) AC_EGREP_CPP(yes, 2051 [#include <netinet/in.h> 2052#ifdef IP_ADD_MEMBERSHIP 2053 yes 2054#endif 2055 ], ac_cv_var_mcast=yes) ;; 2056 esac]) 2057case "$ac_cv_var_mcast" in 2058 yes) 2059 AC_DEFINE(MCAST, 1, [Does the kernel support multicasting IP?]) 2060 AC_CACHE_CHECK([[arg type needed for IP*_MULTICAST_LOOP for setsockopt()]], 2061 ac_cv_var_typeof_ip_multicast_loop, 2062 [case "$host" in 2063 *-*-netbsd*|*-*-*linux*) 2064 ac_cv_var_typeof_ip_multicast_loop=u_int 2065 ;; 2066 *-*-winnt*) 2067 ac_cv_var_typeof_ip_multicast_loop=BOOL 2068 ;; 2069 *) ac_cv_var_typeof_ip_multicast_loop=u_char 2070 ;; 2071 esac]) 2072 AC_DEFINE_UNQUOTED(TYPEOF_IP_MULTICAST_LOOP, 2073 $ac_cv_var_typeof_ip_multicast_loop, 2074 [What type to use for setsockopt]) 2075 ;; 2076esac 2077 2078AC_CACHE_CHECK([[availability of ntp_{adj,get}time()]], ac_cv_var_ntp_syscalls, 2079 [ac_cv_var_ntp_syscalls=no 2080 case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime$ac_cv_func___adjtimex" in 2081 yesyes*) 2082 ac_cv_var_ntp_syscalls=libc 2083 ;; 2084 *yes) 2085 ac_cv_var_ntp_syscalls=inline 2086 ;; 2087 *) AC_EGREP_CPP(yes, 2088 [#include <sys/syscall.h> 2089#if defined(SYS_ntp_gettime) && defined(SYS_ntp_adjtime) 2090 yes 2091#endif 2092 ], ac_cv_var_ntp_syscalls=kernel) 2093 ;; 2094 esac]) 2095case "$ac_cv_var_ntp_syscalls" in 2096 libc) 2097 AC_DEFINE(NTP_SYSCALLS_LIBC, 1, [Do we have ntp_{adj,get}time in libc?]) 2098 ;; 2099 kernel) 2100 AC_DEFINE(NTP_SYSCALLS_STD, 1, [Do we have ntp_{adj,get}time in the kernel?]) 2101 ;; 2102 *) 2103 ;; 2104esac 2105 2106AC_CACHE_CHECK(if sys/timex.h has STA_FLL, ac_cv_var_sta_fll, 2107[AC_EGREP_CPP(yes, 2108 [#include <sys/timex.h> 2109#ifdef STA_FLL 2110 yes 2111#endif 2112 ], ac_cv_var_sta_fll=yes, ac_cv_var_sta_fll=no)]) 2113 2114AC_CACHE_CHECK(if we have kernel PLL support, ac_cv_var_kernel_pll, 2115[dnl ac_cv_var_ntp_syscalls is {no,libc,kernel} 2116case "$ac_cv_header_sys_timex_h$ac_cv_struct_ntptimeval$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in 2117 *no*) 2118 ac_cv_var_kernel_pll=no 2119 ;; 2120 *) ac_cv_var_kernel_pll=yes 2121 ;; 2122esac]) 2123case "$ac_cv_var_kernel_pll" in 2124 yes) 2125 AC_DEFINE(KERNEL_PLL, 1, [Does the kernel support precision time discipline?]) 2126 ;; 2127esac 2128 2129AC_CACHE_CHECK(if SIOCGIFCONF returns buffer size in the buffer, ac_cv_var_size_returned_in_buffer, 2130 [ans=no 2131 case "$host" in 2132 *-fujitsu-uxp*) 2133 ans=yes 2134 ;; 2135 *-ncr-sysv4*) 2136 ans=yes 2137 ;; 2138 *-univel-sysv*) 2139 ans=yes 2140 ;; 2141 esac 2142 ac_cv_var_size_returned_in_buffer=$ans]) 2143case "$ac_cv_var_size_returned_in_buffer" in 2144 yes) AC_DEFINE(SIZE_RETURNED_IN_BUFFER, 1, [Does SIOCGIFCONF return size in the buffer?]) ;; 2145esac 2146 2147dnl vvvvv-- this is wrong, if you re-enable the switch do not cache the result 2148dnl AC_CACHE_CHECK(if we want GDT surveying code, ac_cv_var_gdt_surveying, 2149dnl [AC_ARG_ENABLE(gdt-surveying, [ --enable-gdt-surveying - include GDT survey code], 2150dnl [ans=$enableval], [ans=no]) 2151dnl ac_cv_var_gdt_surveying=$ans]) 2152dnl case "$ac_cv_var_gdt_surveying" in 2153dnl yes) AC_DEFINE(GDT_SURVEYING, 1, [Include the GDT Surveying code?]) ;; 2154dnl esac 2155 2156# Check for ioctls TIOCGPPSEV 2157AC_MSG_CHECKING(ioctl TIOCGPPSEV) 2158if test "$ac_cv_header_termios_h" = "yes"; then 2159 AC_EGREP_CPP(yes, 2160 [#include <termios.h> 2161#ifdef TIOCGPPSEV 2162 yes 2163#endif 2164 ], ntp_ok=yes, ntp_ok=no) 2165else 2166ntp_ok=no 2167fi 2168if test "$ntp_ok" = "yes"; then 2169 AC_DEFINE(HAVE_TIOCGPPSEV, 1, [Do we have the TIOCGPPSEV ioctl (Solaris)?]) 2170 ac_cv_var_oncore_ok=yes 2171fi 2172AC_MSG_RESULT($ntp_ok) 2173 2174# Check for ioctls TIOCSPPS 2175AC_MSG_CHECKING(ioctl TIOCSPPS) 2176if test "$ac_cv_header_termios_h" = "yes"; then 2177 AC_EGREP_CPP(yes, 2178 [#include <termios.h> 2179#ifdef TIOCSPPS 2180 yes 2181#endif 2182 ], ntp_ok=yes, ntp_ok=no) 2183else 2184 ntp_ok=no 2185fi 2186 2187if test "$ntp_ok" = "yes"; then 2188 AC_DEFINE(HAVE_TIOCSPPS, 1, [Do we have the TIOCSPPS ioctl (Solaris)?]) 2189fi 2190AC_MSG_RESULT($ntp_ok) 2191 2192# Check for ioctls CIOGETEV 2193AC_MSG_CHECKING([ioctl CIOGETEV]) 2194if test "$ac_cv_header_sys_ppsclock_h" = "yes"; then 2195 AC_EGREP_CPP(yes, 2196 [#include <sys/ppsclock.h> 2197#ifdef CIOGETEV 2198 yes 2199#endif 2200 ], ntp_ok=yes, ntp_ok=no) 2201else 2202ntp_ok=no 2203fi 2204if test "$ntp_ok" = "yes"; then 2205 ac_cv_var_oncore_ok=yes 2206 AC_DEFINE(HAVE_CIOGETEV, 1, [Do we have the CIOGETEV ioctl (SunOS, Linux)?]) 2207fi 2208AC_MSG_RESULT($ntp_ok) 2209 2210 2211# ATOM/PPSAPI stuff. 2212 2213# ATOM used to require struct timespec, but that's been fixed now. 2214 2215# case "$ac_cv_struct_timespec" in 2216# 'yes') 2217# ac_cv_var_atom_ok=yes 2218# ;; 2219# esac 2220ac_cv_var_atom_ok=yes 2221 2222# Check for header timepps.h, if found then we have PPS API (Draft RFC) stuff. 2223 2224# The PPSAPI headers need "inline" ($ac_cv_c_inline='inline') 2225 2226# The PPSAPI needs struct timespec. 2227 2228# The PPSAPI also needs a timepps header. 2229 2230case "$ac_cv_c_inline$ac_cv_struct_timespec" in 2231 inlineyes) 2232 case "$ac_cv_header_timepps_h$ac_cv_header_sys_timepps_h$host_os" in 2233 *yes* | *sunos* | *solaris* | *sco* | *netbsd* ) 2234 AC_DEFINE(HAVE_PPSAPI, 1, [Do we have the PPS API per the Draft RFC?]) 2235 ac_cv_var_jupiter_ok=yes 2236 ac_cv_var_oncore_ok=yes 2237 ac_cv_var_parse_ok=yes 2238 ac_cv_var_ripe_ncc_ok=yes 2239 ;; 2240 esac 2241 ;; 2242esac 2243 2244# Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG 2245AC_CHECK_HEADER(linux/serial.h) 2246AC_MSG_CHECKING([ioctl TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG]) 2247case "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in 2248 yesyes) 2249 AC_EGREP_CPP(yes, 2250 [#include <sys/time.h> 2251typedef int u_int; 2252 2253#include <sys/ppsclock.h> 2254#include <linux/serial.h> 2255 2256#ifdef TIOCGSERIAL 2257#ifdef TIOCSSERIAL 2258#ifdef ASYNC_PPS_CD_POS 2259#ifdef ASYNC_PPS_CD_NEG 2260#ifdef CIOGETEV 2261 yes 2262#endif 2263#endif 2264#endif 2265#endif 2266#endif 2267 ], ntp_ok=yes) 2268 ;; 2269 *) 2270 ntp_ok=no 2271 ;; 2272esac 2273if test "$ntp_ok" = "yes"; then 2274 AC_DEFINE(HAVE_TIO_SERIAL_STUFF, 1, [Do we have the TIO serial stuff?]) 2275fi 2276AC_MSG_RESULT($ntp_ok) 2277 2278# Check for SHMEM_STATUS support 2279AC_MSG_CHECKING([SHMEM_STATUS support]) 2280case "$ac_cv_header_sys_mman_h" in 2281 yes) ntp_ok=yes ;; 2282 *) ntp_ok=no ;; 2283esac 2284if test "$ntp_ok" = "yes"; then 2285 AC_DEFINE(ONCORE_SHMEM_STATUS, 1, [Do we have support for SHMEM_STATUS?]) 2286fi 2287AC_MSG_RESULT($ntp_ok) 2288 2289dnl dnl These are for OPT_PROGRAMS in authstuff/ 2290dnl AC_SUBST(AUTHCERT) 2291dnl AC_SUBST(AUTHSPEED) 2292dnl AC_SUBST(MD5DRIVER) 2293dnl AC_SUBST(KEYPARITY) 2294dnl AC_SUBST(MAKEIPFP) 2295dnl AC_SUBST(MAKEPC1) 2296dnl AC_SUBST(MAKEPC2) 2297dnl AC_SUBST(MAKESP) 2298dnl AC_SUBST(MKRANDKEYS) 2299dnl AC_SUBST(OMAKEIPFP) 2300dnl AC_SUBST(UNIXCERT) 2301 2302ntp_refclock=no 2303 2304# HPUX only, and by explicit request 2305AC_MSG_CHECKING([Datum/Bancomm bc635/VME interface]) 2306AC_ARG_ENABLE(BANCOMM, 2307 AC_HELP_STRING([--enable-BANCOMM], [- Datum/Bancomm bc635/VME interface]), 2308 [ntp_ok=$enableval], [ntp_ok=no]) 2309if test "$ntp_ok" = "yes"; then 2310 ntp_refclock=yes 2311 AC_DEFINE(CLOCK_BANC, 1, [Datum/Bancomm bc635/VME interface?]) 2312fi 2313AC_MSG_RESULT($ntp_ok) 2314case "$ntp_ok$host" in 2315 yes*-*-hpux*) ;; 2316 yes*) AC_MSG_WARN([*** But the expected answer is... no ***]) ;; 2317esac 2318 2319#HPUX only, and only by explicit request 2320AC_MSG_CHECKING([TrueTime GPS receiver/VME interface]) 2321AC_ARG_ENABLE(GPSVME, 2322 AC_HELP_STRING([--enable-GPSVME], [- TrueTime GPS receiver/VME interface]), 2323 [ntp_ok=$enableval], [ntp_ok=no]) 2324if test "$ntp_ok" = "yes"; then 2325 ntp_refclock=yes 2326 AC_DEFINE(CLOCK_GPSVME, 1, [TrueTime GPS receiver/VME interface?]) 2327fi 2328AC_MSG_RESULT($ntp_ok) 2329case "$ntp_ok$host" in 2330 yes*-*-hpux*) ;; 2331 yes*) AC_MSG_WARN([*** But the expected answer is... no ***]) ;; 2332esac 2333 2334AC_MSG_CHECKING([for PCL720 clock support]) 2335case "$ac_cv_header_machine_inline_h$ac_cv_header_sys_pcl720_h$ac_cv_header_sys_i8253_h" in 2336 yesyesyes) 2337 AC_DEFINE(CLOCK_PPS720, 1, [PCL 720 clock support]) 2338 ans=yes 2339 ;; 2340 *) 2341 ans=no 2342 ;; 2343esac 2344AC_MSG_RESULT([$ans]) 2345 2346AC_MSG_CHECKING([for default inclusion of all suitable non-PARSE clocks]) 2347AC_ARG_ENABLE(all-clocks, 2348 AC_HELP_STRING([--enable-all-clocks], [+ include all suitable non-PARSE clocks:]), 2349 [ntp_eac=$enableval], [ntp_eac=yes]) 2350AC_MSG_RESULT($ntp_eac) 2351 2352# HMS: Should we also require ac_cv_var_parse_ok? 2353AC_MSG_CHECKING([if we have support for PARSE clocks]) 2354case "$ac_cv_var_atom_ok$ac_cv_header_termio_h$ac_cv_header_termios_h" in 2355 yes*yes*) 2356 ntp_canparse=yes 2357 ;; 2358 *) ntp_canparse=no 2359 ;; 2360esac 2361AC_MSG_RESULT($ntp_canparse) 2362 2363AC_MSG_CHECKING([if we have support for audio clocks]) 2364case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in 2365 *yes*) 2366 ntp_canaudio=yes 2367 AC_DEFINE(HAVE_AUDIO, , [Do we have audio support?]) 2368 ;; 2369 *) ntp_canaudio=no ;; 2370esac 2371AC_MSG_RESULT($ntp_canaudio) 2372 2373AC_MSG_CHECKING([if we have support for the SHM refclock interface]) 2374case "$ac_cv_header_sys_ipc_h$ac_cv_header_sys_shm_h" in 2375 yesyes) 2376 ntp_canshm=yes 2377 ;; 2378 *) ntp_canshm=no ;; 2379esac 2380AC_MSG_RESULT($ntp_canshm) 2381 2382# Requires modem control 2383AC_MSG_CHECKING([ACTS modem service]) 2384AC_ARG_ENABLE(ACTS, 2385 AC_HELP_STRING([--enable-ACTS], [s ACTS modem service]), 2386 [ntp_ok=$enableval], 2387 [AC_EGREP_CPP(yes, 2388 [#include <termios.h> 2389#ifdef HAVE_SYS_IOCTL_H 2390#include <sys/ioctl.h> 2391#endif 2392#ifdef TIOCMBIS 2393 yes 2394#endif 2395 ], ntp_ok=$ntp_eac, ntp_ok=no)]) 2396if test "$ntp_ok" = "yes"; then 2397 ntp_refclock=yes 2398 AC_DEFINE(CLOCK_ACTS, 1, [ACTS modem service]) 2399fi 2400AC_MSG_RESULT($ntp_ok) 2401 2402AC_MSG_CHECKING([Arbiter 1088A/B GPS receiver]) 2403AC_ARG_ENABLE(ARBITER, 2404 AC_HELP_STRING([--enable-ARBITER], [+ Arbiter 1088A/B GPS receiver]), 2405 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2406if test "$ntp_ok" = "yes"; then 2407 ntp_refclock=yes 2408 AC_DEFINE(CLOCK_ARBITER, 1, [Arbiter 1088A/B GPS receiver]) 2409fi 2410AC_MSG_RESULT($ntp_ok) 2411 2412AC_MSG_CHECKING([Arcron MSF receiver]) 2413AC_ARG_ENABLE(ARCRON_MSF, 2414 AC_HELP_STRING([--enable-ARCRON-MSF], [+ Arcron MSF receiver]), 2415 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2416if test "$ntp_ok" = "yes"; then 2417 ntp_refclock=yes 2418 AC_DEFINE(CLOCK_ARCRON_MSF, 1, [ARCRON support?]) 2419fi 2420AC_MSG_RESULT($ntp_ok) 2421 2422AC_MSG_CHECKING([Austron 2200A/2201A GPS receiver]) 2423AC_ARG_ENABLE(AS2201, 2424 AC_HELP_STRING([--enable-AS2201], [+ Austron 2200A/2201A GPS receiver]), 2425 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2426if test "$ntp_ok" = "yes"; then 2427 ntp_refclock=yes 2428 AC_DEFINE(CLOCK_AS2201, 1, [Austron 2200A/2201A GPS receiver?]) 2429fi 2430AC_MSG_RESULT($ntp_ok) 2431 2432AC_MSG_CHECKING([ATOM PPS interface]) 2433AC_ARG_ENABLE(ATOM, 2434 AC_HELP_STRING([--enable-ATOM], [s ATOM PPS interface]), 2435 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2436case "$ac_cv_var_atom_ok" in 2437 no) ntp_ok=no ;; 2438esac 2439if test "$ntp_ok" = "yes"; then 2440 ntp_refclock=yes 2441 AC_DEFINE(CLOCK_ATOM, 1, [PPS interface?]) 2442fi 2443AC_MSG_RESULT($ntp_ok) 2444 2445AC_MSG_CHECKING([Chrono-log K-series WWVB receiver]) 2446AC_ARG_ENABLE(CHRONOLOG, 2447 AC_HELP_STRING([--enable-CHRONOLOG], [+ Chrono-log K-series WWVB receiver]), 2448 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2449if test "$ntp_ok" = "yes"; then 2450 ntp_refclock=yes 2451 AC_DEFINE(CLOCK_CHRONOLOG, 1, [Chronolog K-series WWVB receiver?]) 2452fi 2453AC_MSG_RESULT($ntp_ok) 2454 2455AC_MSG_CHECKING([CHU modem/decoder]) 2456AC_ARG_ENABLE(CHU, 2457 AC_HELP_STRING([--enable-CHU], [+ CHU modem/decoder]), 2458 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2459if test "$ntp_ok" = "yes"; then 2460 ntp_refclock=yes 2461 AC_DEFINE(CLOCK_CHU, 1, [CHU modem/decoder]) 2462fi 2463AC_MSG_RESULT($ntp_ok) 2464ac_refclock_chu=$ntp_ok 2465 2466AC_MSG_CHECKING([CHU audio/decoder]) 2467AC_ARG_ENABLE(AUDIO-CHU, 2468 AC_HELP_STRING([--enable-AUDIO-CHU], [s CHU audio/decoder]), 2469 [ntp_ok=$enableval], 2470 [case "$ntp_eac$ac_refclock_chu$ntp_canaudio" in 2471 *no*) ntp_ok=no ;; 2472 *) ntp_ok=yes ;; 2473esac]) 2474if test "$ntp_ok" = "yes"; then 2475 AC_DEFINE(AUDIO_CHU, 1, [CHU audio/decoder?]) 2476fi 2477AC_MSG_RESULT($ntp_ok) 2478# We used to check for sunos/solaris target... 2479case "$ntp_ok$ac_refclock_chu$ntp_canaudio" in 2480 yes*no*) AC_MSG_WARN([*** But the expected answer is...no ***]) ;; 2481esac 2482 2483# Not under HP-UX 2484AC_MSG_CHECKING([Datum Programmable Time System]) 2485AC_ARG_ENABLE(DATUM, 2486 AC_HELP_STRING([--enable-DATUM], [s Datum Programmable Time System]), 2487 [ntp_ok=$enableval], 2488 [case "$ac_cv_header_termios_h" in 2489 yes) 2490 ntp_ok=$ntp_eac 2491 ;; 2492 *) ntp_ok=no 2493 ;; 2494 esac]) 2495if test "$ntp_ok" = "yes"; then 2496 ntp_refclock=yes 2497 AC_DEFINE(CLOCK_DATUM, 1, [Datum Programmable Time System?]) 2498fi 2499AC_MSG_RESULT($ntp_ok) 2500 2501AC_MSG_CHECKING([Dumb generic hh:mm:ss local clock]) 2502AC_ARG_ENABLE(DUMBCLOCK, 2503 AC_HELP_STRING([--enable-DUMBCLOCK], [+ Dumb generic hh:mm:ss local clock]), 2504 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2505if test "$ntp_ok" = "yes"; then 2506 ntp_refclock=yes 2507 AC_DEFINE(CLOCK_DUMBCLOCK, 1, [Dumb generic hh:mm:ss local clock?]) 2508fi 2509AC_MSG_RESULT($ntp_ok) 2510 2511AC_MSG_CHECKING([Forum Graphic GPS]) 2512AC_ARG_ENABLE(FG, 2513 AC_HELP_STRING([--enable-FG], [+ Forum Graphic GPS]), 2514 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2515if test "$ntp_ok" = "yes"; then 2516 ntp_refclock=yes 2517 AC_DEFINE(CLOCK_FG, 1, [Forum Graphic GPS datating station driver?]) 2518fi 2519AC_MSG_RESULT($ntp_ok) 2520 2521# Requires modem control 2522AC_MSG_CHECKING([Heath GC-1000 WWV/WWVH receiver]) 2523AC_ARG_ENABLE(HEATH, 2524 AC_HELP_STRING([--enable-HEATH], [s Heath GC-1000 WWV/WWVH receiver]), 2525 [ntp_ok=$enableval], 2526 [AC_EGREP_CPP(yes, 2527 [#include <termios.h> 2528#ifdef HAVE_SYS_IOCTL_H 2529#include <sys/ioctl.h> 2530#endif 2531#ifdef TIOCMBIS 2532 yes 2533#endif 2534 ], ntp_ok=$ntp_eac, ntp_ok=no)]) 2535if test "$ntp_ok" = "yes"; then 2536 ntp_refclock=yes 2537 AC_DEFINE(CLOCK_HEATH, 1, [Heath GC-1000 WWV/WWVH receiver?]) 2538fi 2539AC_MSG_RESULT($ntp_ok) 2540 2541AC_MSG_CHECKING([for hopf serial clock device]) 2542AC_ARG_ENABLE(HOPFSERIAL, 2543 AC_HELP_STRING([--enable-HOPFSERIAL], [+ hopf serial clock device]), 2544 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2545if test "$ntp_ok" = "yes"; then 2546 ntp_refclock=yes 2547 AC_DEFINE(CLOCK_HOPF_SERIAL, 1, [HOPF serial clock device?]) 2548fi 2549AC_MSG_RESULT($ntp_ok) 2550 2551AC_MSG_CHECKING([for hopf PCI clock 6039]) 2552AC_ARG_ENABLE(HOPFPCI, 2553 AC_HELP_STRING([--enable-HOPFPCI], [+ hopf 6039 PCI board]), 2554 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2555if test "$ntp_ok" = "yes"; then 2556 ntp_refclock=yes 2557 AC_DEFINE(CLOCK_HOPF_PCI, 1, [HOPF PCI clock device?]) 2558fi 2559AC_MSG_RESULT($ntp_ok) 2560 2561AC_MSG_CHECKING([HP 58503A GPS receiver]) 2562AC_ARG_ENABLE(HPGPS, 2563 AC_HELP_STRING([--enable-HPGPS], [+ HP 58503A GPS receiver]), 2564 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2565if test "$ntp_ok" = "yes"; then 2566 ntp_refclock=yes 2567 AC_DEFINE(CLOCK_HPGPS, 1, [HP 58503A GPS receiver?]) 2568fi 2569AC_MSG_RESULT($ntp_ok) 2570 2571AC_MSG_CHECKING([IRIG audio decoder]) 2572AC_ARG_ENABLE(IRIG, 2573 AC_HELP_STRING([--enable-IRIG], [s IRIG audio decoder]), 2574 [ntp_ok=$enableval], 2575 [case "$ntp_eac$ntp_canaudio" in 2576 *no*) ntp_ok=no ;; 2577 *) ntp_ok=yes ;; 2578 esac]) 2579if test "$ntp_ok" = "yes"; then 2580 ntp_refclock=yes 2581 AC_DEFINE(CLOCK_IRIG, 1, [IRIG audio decoder?]) 2582fi 2583AC_MSG_RESULT($ntp_ok) 2584case "$ntp_ok$ntp_canaudio" in 2585 yesno) AC_MSG_WARN([*** But the expected answer is... no ***]) ;; 2586esac 2587 2588AC_MSG_CHECKING([for JJY receiver]) 2589AC_ARG_ENABLE(JJY, 2590 AC_HELP_STRING([--enable-JJY], [+ JJY receiver]), 2591 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2592if test "$ntp_ok" = "yes"; then 2593 ntp_refclock=yes 2594 AC_DEFINE(CLOCK_JJY, 1, [JJY receiver?]) 2595fi 2596AC_MSG_RESULT($ntp_ok) 2597 2598AC_MSG_CHECKING([Rockwell Jupiter GPS receiver]) 2599AC_ARG_ENABLE(JUPITER, 2600 AC_HELP_STRING([--enable-JUPITER], [s Rockwell Jupiter GPS receiver]), 2601 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2602case "$ac_cv_var_jupiter_ok" in 2603 no) ntp_ok=no ;; 2604esac 2605if test "$ntp_ok" = "yes"; then 2606 ntp_refclock=yes 2607 AC_DEFINE(CLOCK_JUPITER, 1, [Rockwell Jupiter GPS clock?]) 2608fi 2609AC_MSG_RESULT($ntp_ok) 2610 2611AC_MSG_CHECKING([Leitch CSD 5300 Master Clock System Driver]) 2612AC_ARG_ENABLE(LEITCH, 2613 AC_HELP_STRING([--enable-LEITCH], [+ Leitch CSD 5300 Master Clock System Driver]), 2614 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2615if test "$ntp_ok" = "yes"; then 2616 ntp_refclock=yes 2617 AC_DEFINE(CLOCK_LEITCH, 1, [Leitch CSD 5300 Master Clock System Driver?]) 2618fi 2619AC_MSG_RESULT($ntp_ok) 2620 2621AC_MSG_CHECKING([local clock reference]) 2622AC_ARG_ENABLE(LOCAL-CLOCK, 2623 AC_HELP_STRING([--enable-LOCAL-CLOCK], [+ local clock reference]), 2624 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2625if test "$ntp_ok" = "yes"; then 2626 ntp_refclock=yes 2627 AC_DEFINE(CLOCK_LOCAL, 1, [local clock reference?]) 2628fi 2629AC_MSG_RESULT($ntp_ok) 2630 2631dnl Bug 340: longstanding unfixed bugs 2632dnl AC_MSG_CHECKING(EES M201 MSF receiver) 2633dnl AC_ARG_ENABLE(MSFEES, 2634dnl AC_HELP_STRING([--enable-MSFEES], [+ EES M201 MSF receiver]), 2635dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2636dnl if test "$ntp_ok" = "yes"; then 2637dnl ntp_refclock=yes 2638dnl AC_DEFINE(CLOCK_MSFEES, 1, [EES M201 MSF receiver]) 2639dnl fi 2640dnl AC_MSG_RESULT($ntp_ok) 2641 2642# Not Ultrix 2643AC_MSG_CHECKING([Magnavox MX4200 GPS receiver]) 2644AC_ARG_ENABLE(MX4200, 2645 AC_HELP_STRING([--enable-MX4200 ], [s Magnavox MX4200 GPS receiver]), 2646 [ntp_ok=$enableval], 2647 [case "$ac_cv_var_ppsclock" in 2648 yes) ntp_ok=$ntp_eac 2649 ;; 2650 *) ntp_ok=no 2651 ;; 2652 esac]) 2653if test "$ntp_ok" = "yes"; then 2654 ntp_refclock=yes 2655 AC_DEFINE(CLOCK_MX4200, 1, [Magnavox MX4200 GPS receiver]) 2656fi 2657AC_MSG_RESULT($ntp_ok) 2658case "$ntp_ok$host" in 2659 yes*-*-ultrix*) AC_MSG_WARN(*** But the expected answer is... no ***) ;; 2660esac 2661 2662AC_MSG_CHECKING([for NeoClock4X receiver]) 2663AC_ARG_ENABLE(NEOCLOCK4X, 2664 AC_HELP_STRING([--enable-NEOCLOCK4X], [+ NeoClock4X DCF77 / TDF receiver]), 2665 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2666if test "$ntp_ok" = "yes"; then 2667 ntp_refclock=yes 2668 AC_DEFINE(CLOCK_NEOCLOCK4X, 1, [NeoClock4X]) 2669fi 2670AC_MSG_RESULT($ntp_ok) 2671 2672AC_MSG_CHECKING([NMEA GPS receiver]) 2673AC_ARG_ENABLE(NMEA, 2674 AC_HELP_STRING([--enable-NMEA], [+ NMEA GPS receiver]), 2675 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2676if test "$ntp_ok" = "yes"; then 2677 ntp_refclock=yes 2678 AC_DEFINE(CLOCK_NMEA, 1, [NMEA GPS receiver]) 2679fi 2680AC_MSG_RESULT($ntp_ok) 2681 2682AC_MSG_CHECKING([for ONCORE Motorola VP/UT Oncore GPS]) 2683AC_ARG_ENABLE(ONCORE, 2684 AC_HELP_STRING([--enable-ONCORE], [s Motorola VP/UT Oncore GPS receiver]), 2685 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2686case "$ac_cv_var_oncore_ok" in 2687 no) ntp_ok=no ;; 2688esac 2689if test "$ntp_ok" = "yes"; then 2690 ntp_refclock=yes 2691 AC_DEFINE(CLOCK_ONCORE, 1, [Motorola UT Oncore GPS]) 2692fi 2693AC_MSG_RESULT($ntp_ok) 2694 2695AC_MSG_CHECKING([for Palisade clock]) 2696AC_ARG_ENABLE(PALISADE, 2697 AC_HELP_STRING([--enable-PALISADE], [s Palisade clock]), 2698 [ntp_ok=$enableval], 2699 [case "$ac_cv_header_termios_h" in 2700 yes) 2701 ntp_ok=$ntp_eac 2702 ;; 2703 *) ntp_ok=no 2704 ;; 2705 esac]) 2706 2707if test "$ntp_ok" = "yes"; then 2708 ntp_refclock=yes 2709 AC_DEFINE(CLOCK_PALISADE, 1, [Palisade clock]) 2710fi 2711AC_MSG_RESULT($ntp_ok) 2712 2713AC_MSG_CHECKING([Conrad parallel port radio clock]) 2714AC_ARG_ENABLE(PCF, 2715 AC_HELP_STRING([--enable-PCF ], [+ Conrad parallel port radio clock]), 2716 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2717if test "$ntp_ok" = "yes"; then 2718 ntp_refclock=yes 2719 AC_DEFINE(CLOCK_PCF, 1, [Conrad parallel port radio clock]) 2720fi 2721AC_MSG_RESULT($ntp_ok) 2722 2723AC_MSG_CHECKING([PST/Traconex 1020 WWV/WWVH receiver]) 2724AC_ARG_ENABLE(PST, 2725 AC_HELP_STRING([--enable-PST], [+ PST/Traconex 1020 WWV/WWVH receiver]), 2726 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2727if test "$ntp_ok" = "yes"; then 2728 ntp_refclock=yes 2729 AC_DEFINE(CLOCK_PST, 1, [PST/Traconex 1020 WWV/WWVH receiver]) 2730fi 2731AC_MSG_RESULT($ntp_ok) 2732 2733AC_MSG_CHECKING([RIPENCC specific Trimble driver]) 2734AC_ARG_ENABLE(RIPENCC, 2735 AC_HELP_STRING([--enable-RIPENCC], [- RIPENCC specific Trimble driver]), 2736 [ntp_ok=$enableval], [ntp_ok=no]) 2737# 020629: HMS: s/$ntp_eac -> -/no because of ptr += sprintf(ptr, ...) usage 2738case "$ac_cv_var_ripe_ncc_ok" in 2739 no) ntp_ok=no ;; 2740esac 2741if test "$ntp_ok" = "yes"; then 2742 ntp_refclock=yes 2743 AC_DEFINE(CLOCK_RIPENCC, ,[RIPE NCC Trimble clock]) 2744fi 2745AC_MSG_RESULT($ntp_ok) 2746 2747# Danny Meyer says SHM compiles (with a few warnings) under Win32. 2748# For *IX, we need sys/ipc.h and sys/shm.h. 2749AC_MSG_CHECKING([for SHM clock attached thru shared memory]) 2750AC_ARG_ENABLE(SHM, 2751 AC_HELP_STRING([--enable-SHM], [s SHM clock attached thru shared memory]), 2752 [ntp_ok=$enableval], 2753 [case "$ntp_eac$ntp_canshm" in 2754 *no*) ntp_ok=no ;; 2755 *) ntp_ok=yes ;; 2756esac]) 2757if test "$ntp_ok" = "yes"; then 2758 ntp_refclock=yes 2759 AC_DEFINE(CLOCK_SHM, 1, [clock thru shared memory]) 2760fi 2761AC_MSG_RESULT($ntp_ok) 2762 2763AC_MSG_CHECKING([Spectracom 8170/Netclock/2 WWVB receiver]) 2764AC_ARG_ENABLE(SPECTRACOM, 2765 AC_HELP_STRING([--enable-SPECTRACOM], [+ Spectracom 8170/Netclock/2 WWVB receiver]), 2766 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2767if test "$ntp_ok" = "yes"; then 2768 ntp_refclock=yes 2769 AC_DEFINE(CLOCK_SPECTRACOM, 1, [Spectracom 8170/Netclock/2 WWVB receiver]) 2770fi 2771AC_MSG_RESULT($ntp_ok) 2772 2773AC_MSG_CHECKING([KSI/Odetics TPRO/S GPS receiver/IRIG interface]) 2774AC_ARG_ENABLE(TPRO, 2775 AC_HELP_STRING([--enable-TPRO], [s KSI/Odetics TPRO/S GPS receiver/IRIG interface]), 2776 [ntp_ok=$enableval], 2777 [case "$ac_cv_header_sys_tpro_h" in 2778 yes) 2779 ntp_ok=$ntp_eac 2780 ;; 2781 *) ntp_ok=no 2782 ;; 2783 esac]) 2784if test "$ntp_ok" = "yes"; then 2785 ntp_refclock=yes 2786 AC_DEFINE(CLOCK_TPRO, 1, [KSI/Odetics TPRO/S GPS receiver/IRIG interface]) 2787fi 2788AC_MSG_RESULT($ntp_ok) 2789case "$ntp_ok$ac_cv_header_sys_tpro" in 2790 yesno) AC_MSG_WARN([*** But the expected answer is... no ***]) ;; 2791esac 2792 2793dnl Bug 342: longstanding unfixed bugs 2794dnl AC_MSG_CHECKING(TRAK 8810 GPS receiver) 2795dnl AC_ARG_ENABLE(TRAK, 2796dnl AC_HELP_STRING([--enable-TRAK], [+ TRAK 8810 GPS receiver]), 2797dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2798dnl if test "$ntp_ok" = "yes"; then 2799dnl ntp_refclock=yes 2800dnl AC_DEFINE(CLOCK_TRAK, 1, [TRAK 8810 GPS receiver]) 2801dnl fi 2802dnl AC_MSG_RESULT($ntp_ok) 2803 2804# Not on a vax-dec-bsd 2805AC_MSG_CHECKING([Kinemetrics/TrueTime receivers]) 2806AC_ARG_ENABLE(TRUETIME, 2807 AC_HELP_STRING([--enable-TRUETIME], [s Kinemetrics/TrueTime receivers]), 2808 [ntp_ok=$enableval], 2809 [case "$host" in 2810 vax-dec-bsd) 2811 ntp_ok=no 2812 ;; 2813 *) 2814 ntp_ok=$ntp_eac 2815 ;; 2816 esac]) 2817 2818if test "$ntp_ok" = "yes"; then 2819 ntp_refclock=yes 2820 AC_DEFINE(CLOCK_TRUETIME, 1, [Kinemetrics/TrueTime receivers]) 2821fi 2822AC_MSG_RESULT($ntp_ok) 2823case "$ntp_ok$host" in 2824 yesvax-dec-bsd) AC_MSG_WARN([*** But the expected answer is... no ***]) ;; 2825esac 2826 2827AC_MSG_CHECKING([TrueTime 560 IRIG-B decoder]) 2828AC_ARG_ENABLE(TT560, 2829 AC_HELP_STRING([--enable-TT560], [- TrueTime 560 IRIG-B decoder]), 2830 [ntp_ok=$enableval], [ntp_ok=no]) 2831if test "$ntp_ok" = "yes"; then 2832 ntp_refclock=yes 2833 AC_DEFINE(CLOCK_TT560, , [TrueTime 560 IRIG-B decoder?]) 2834fi 2835AC_MSG_RESULT($ntp_ok) 2836 2837AC_MSG_CHECKING([Ultralink M320 WWVB receiver]) 2838AC_ARG_ENABLE(ULINK, 2839 AC_HELP_STRING([--enable-ULINK], [+ Ultralink WWVB receiver]), 2840 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2841if test "$ntp_ok" = "yes"; then 2842 ntp_refclock=yes 2843 AC_DEFINE(CLOCK_ULINK, 1, [Ultralink M320 WWVB receiver?]) 2844fi 2845AC_MSG_RESULT($ntp_ok) 2846 2847AC_MSG_CHECKING([WWV receiver]) 2848AC_ARG_ENABLE(WWV, 2849 AC_HELP_STRING([--enable-WWV], [s WWV Audio receiver]), 2850 [ntp_ok=$enableval], 2851 [case "$ntp_eac$ntp_canaudio" in 2852 *no*) ntp_ok=no ;; 2853 *) ntp_ok=yes ;; 2854 esac]) 2855if test "$ntp_ok" = "yes"; then 2856 ntp_refclock=yes 2857 AC_DEFINE(CLOCK_WWV, 1, [WWV audio driver]) 2858fi 2859AC_MSG_RESULT($ntp_ok) 2860case "$ntp_ok$ntp_canaudio" in 2861 yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;; 2862esac 2863 2864AC_MSG_CHECKING([for Zyfer receiver]) 2865AC_ARG_ENABLE(ZYFER, 2866 AC_HELP_STRING([--enable-ZYFER], [+ Zyfer GPStarplus receiver]), 2867 [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) 2868if test "$ntp_ok" = "yes"; then 2869 ntp_refclock=yes 2870 AC_DEFINE(CLOCK_ZYFER, 1, [Zyfer GPStarplus]) 2871fi 2872AC_MSG_RESULT($ntp_ok) 2873 2874AC_MSG_CHECKING([for default inclusion of all suitable PARSE clocks]) 2875AC_ARG_ENABLE(parse-clocks, 2876 AC_HELP_STRING([--enable-parse-clocks], [- include all suitable PARSE clocks:]), 2877 [ntp_eapc=$enableval], 2878 [case "$ntp_eac" in 2879 yes) ntp_eapc=$ntp_canparse ;; 2880 *) ntp_eapc=no ;; 2881 esac 2882 # Delete the next line one of these days 2883 ntp_eapc=no]) 2884AC_MSG_RESULT($ntp_eapc) 2885 2886case "$ntp_eac$ntp_eapc$ntp_canparse" in 2887 noyes*) 2888 AC_MSG_ERROR(["--enable-parse-clocks" requires "--enable-all-clocks".]) 2889 ;; 2890 yesyesno) 2891 AC_MSG_ERROR([You said "--enable-parse-clocks" but PARSE isn't supported on this platform!]) 2892 ;; 2893 *) ;; 2894esac 2895 2896ntp_libparse=no 2897ntp_parseutil=no 2898ntp_rawdcf=no 2899 2900AC_MSG_CHECKING([Diem Computime Radio Clock]) 2901AC_ARG_ENABLE(COMPUTIME, 2902 AC_HELP_STRING([--enable-COMPUTIME], [s Diem Computime Radio Clock]), 2903 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 2904if test "$ntp_ok" = "yes"; then 2905 ntp_libparse=yes 2906 ntp_refclock=yes 2907 AC_DEFINE(CLOCK_COMPUTIME, 1, [Diems Computime Radio Clock?]) 2908fi 2909AC_MSG_RESULT($ntp_ok) 2910case "$ntp_ok$ntp_canparse" in 2911 yesno) 2912 AC_MSG_ERROR([That's a parse clock and this system doesn't support it!]) 2913 ;; 2914esac 2915 2916AC_MSG_CHECKING([ELV/DCF7000 clock]) 2917AC_ARG_ENABLE(DCF7000, 2918 AC_HELP_STRING([--enable-DCF7000], [s ELV/DCF7000 clock]), 2919 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 2920if test "$ntp_ok" = "yes"; then 2921 ntp_libparse=yes 2922 ntp_refclock=yes 2923 AC_DEFINE(CLOCK_DCF7000, 1, [ELV/DCF7000 clock?]) 2924fi 2925AC_MSG_RESULT($ntp_ok) 2926case "$ntp_ok$ntp_canparse" in 2927 yesno) 2928 AC_MSG_ERROR([That's a parse clock and this system doesn't support it!]) 2929 ;; 2930esac 2931 2932AC_MSG_CHECKING([HOPF 6021 clock]) 2933AC_ARG_ENABLE(HOPF6021, 2934 AC_HELP_STRING([--enable-HOPF6021 ], [s HOPF 6021 clock]), 2935 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 2936if test "$ntp_ok" = "yes"; then 2937 ntp_libparse=yes 2938 ntp_refclock=yes 2939 AC_DEFINE(CLOCK_HOPF6021, 1, [HOPF 6021 clock?]) 2940fi 2941AC_MSG_RESULT($ntp_ok) 2942case "$ntp_ok$ntp_canparse" in 2943 yesno) 2944 AC_MSG_ERROR([That's a parse clock and this system doesn't support it!]) 2945 ;; 2946esac 2947 2948AC_MSG_CHECKING([Meinberg clocks]) 2949AC_ARG_ENABLE(MEINBERG, 2950 AC_HELP_STRING([--enable-MEINBERG], [s Meinberg clocks]), 2951 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 2952if test "$ntp_ok" = "yes"; then 2953 ntp_libparse=yes 2954 ntp_refclock=yes 2955 AC_DEFINE(CLOCK_MEINBERG, 1, [Meinberg clocks]) 2956fi 2957AC_MSG_RESULT($ntp_ok) 2958case "$ntp_ok$ntp_canparse" in 2959 yesno) 2960 AC_MSG_ERROR([That's a parse clock and this system doesn't support it!]) 2961 ;; 2962esac 2963 2964AC_MSG_CHECKING([DCF77 raw time code]) 2965AC_ARG_ENABLE(RAWDCF, 2966 AC_HELP_STRING([--enable-RAWDCF], [s DCF77 raw time code]), 2967 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 2968if test "$ntp_ok" = "yes"; then 2969 ntp_libparse=yes 2970 ntp_parseutil=yes 2971 ntp_refclock=yes 2972 ntp_rawdcf=yes 2973 AC_DEFINE(CLOCK_RAWDCF, 1, [DCF77 raw time code]) 2974fi 2975AC_MSG_RESULT($ntp_ok) 2976case "$ntp_ok$ntp_canparse" in 2977 yesno) 2978 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 2979 ;; 2980esac 2981 2982case "$ntp_rawdcf" in 2983 yes) 2984 AC_CACHE_CHECK([if we must enable parity for RAWDCF], 2985 ac_cv_var_rawdcf_parity, 2986 [ans=no 2987 case "$host" in 2988 *-*-*linux*) 2989 ans=yes 2990 ;; 2991 esac 2992 ac_cv_var_rawdcf_parity=$ans]) 2993 case "$ac_cv_var_rawdcf_parity" in 2994 yes) AC_DEFINE(RAWDCF_NO_IGNPAR, 1, [Should we not IGNPAR (Linux)?]) ;; 2995 esac 2996 ;; 2997 2998 *) # HMS: Is this a good idea? 2999 ac_cv_var_rawdcf_parity=no 3000 ;; 3001esac 3002 3003AC_MSG_CHECKING([RCC 8000 clock]) 3004AC_ARG_ENABLE(RCC8000, 3005 AC_HELP_STRING([--enable-RCC8000], [s RCC 8000 clock]), 3006 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3007if test "$ntp_ok" = "yes"; then 3008 ntp_libparse=yes 3009 ntp_refclock=yes 3010 AC_DEFINE(CLOCK_RCC8000, 1, [RCC 8000 clock]) 3011fi 3012AC_MSG_RESULT($ntp_ok) 3013case "$ntp_ok$ntp_canparse" in 3014 yesno) 3015 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 3016 ;; 3017esac 3018 3019AC_MSG_CHECKING([Schmid DCF77 clock]) 3020AC_ARG_ENABLE(SCHMID, 3021 AC_HELP_STRING([--enable-SCHMID ], [s Schmid DCF77 clock]), 3022 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3023if test "$ntp_ok" = "yes"; then 3024 ntp_libparse=yes 3025 ntp_refclock=yes 3026 AC_DEFINE(CLOCK_SCHMID, 1, [Schmid DCF77 clock]) 3027fi 3028AC_MSG_RESULT($ntp_ok) 3029case "$ntp_ok$ntp_canparse" in 3030 yesno) 3031 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 3032 ;; 3033esac 3034 3035AC_MSG_CHECKING([Trimble GPS receiver/TAIP protocol]) 3036AC_ARG_ENABLE(TRIMTAIP, 3037 AC_HELP_STRING([--enable-TRIMTAIP], [s Trimble GPS receiver/TAIP protocol]), 3038 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3039if test "$ntp_ok" = "yes"; then 3040 ntp_libparse=yes 3041 ntp_refclock=yes 3042 AC_DEFINE(CLOCK_TRIMTAIP, 1, [Trimble GPS receiver/TAIP protocol]) 3043fi 3044AC_MSG_RESULT($ntp_ok) 3045case "$ntp_ok$ntp_canparse" in 3046 yesno) 3047 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 3048 ;; 3049esac 3050 3051AC_MSG_CHECKING([Trimble GPS receiver/TSIP protocol]) 3052AC_ARG_ENABLE(TRIMTSIP, 3053 AC_HELP_STRING([--enable-TRIMTSIP], [s Trimble GPS receiver/TSIP protocol]), 3054 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3055if test "$ntp_ok" = "yes"; then 3056 ntp_libparse=yes 3057 ntp_refclock=yes 3058 AC_DEFINE(CLOCK_TRIMTSIP, 1, [Trimble GPS receiver/TSIP protocol]) 3059fi 3060AC_MSG_RESULT($ntp_ok) 3061case "$ntp_ok$ntp_canparse" in 3062 yesno) 3063 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 3064 ;; 3065esac 3066 3067AC_MSG_CHECKING([WHARTON 400A Series clock]) 3068AC_ARG_ENABLE(WHARTON, 3069 AC_HELP_STRING([--enable-WHARTON], [s WHARTON 400A Series clock]), 3070 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3071if test "$ntp_ok" = "yes"; then 3072 ntp_libparse=yes 3073 ntp_refclock=yes 3074 AC_DEFINE(CLOCK_WHARTON_400A, 1, [WHARTON 400A Series protocol]) 3075fi 3076AC_MSG_RESULT($ntp_ok) 3077case "$ntp_ok$ntp_canparse" in 3078 yesno) 3079 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) 3080 ;; 3081esac 3082 3083AC_MSG_CHECKING([VARITEXT clock]) 3084AC_ARG_ENABLE(VARITEXT, 3085 AC_HELP_STRING([--enable-VARITEXT], [s VARITEXT clock]), 3086 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) 3087if test "$ntp_ok" = "yes"; then 3088 ntp_libparse=yes 3089 ntp_refclock=yes 3090 AC_DEFINE(CLOCK_VARITEXT, 1, [VARITEXT protocol]) 3091fi 3092AC_MSG_RESULT($ntp_ok) 3093case "$ntp_ok$ntp_canparse" in 3094 yesno) 3095 AC_MSG_ERROR([That's a parse clock and this system doesn't support it!]) 3096 ;; 3097esac 3098AC_SUBST(LIBPARSE) 3099AC_SUBST(MAKE_LIBPARSE) 3100AC_SUBST(MAKE_LIBPARSE_KERNEL) 3101AC_SUBST(MAKE_CHECK_Y2K) 3102AC_MSG_CHECKING([if we need to make and use the parse libraries]) 3103ans=no 3104case "$ntp_libparse" in 3105 yes) 3106 ans=yes 3107 AC_DEFINE(CLOCK_PARSE, 1, [PARSE driver interface]) 3108 LIBPARSE=../libparse/libparse.a 3109 MAKE_LIBPARSE=libparse.a 3110 # HMS: check_y2k trips the 34 year problem now... 3111 false && MAKE_CHECK_Y2K=check_y2k 3112 AC_DEFINE(PPS_SAMPLE, 1, [PPS auxiliary interface for ATOM?]) 3113 AC_DEFINE(CLOCK_ATOM) 3114 ;; 3115esac 3116AC_MSG_RESULT([$ans]) 3117 3118# AC_SUBST(RSAOBJS) 3119# AC_SUBST(RSASRCS) 3120# AC_SUBST(RSADIR) 3121# AC_SUBST(RSAREF) 3122# AC_SUBST(LIBRSAREF) 3123# AC_SUBST(MAKE_LIBRSAREF) 3124 3125AC_SUBST(OPENSSL) 3126AC_SUBST(OPENSSL_INC) 3127AC_SUBST(OPENSSL_LIB) 3128 3129AC_MSG_CHECKING([for openssl library directory]) 3130AC_ARG_WITH(openssl-libdir, 3131 AC_HELP_STRING([--with-openssl-libdir], [+ =/something/reasonable]), 3132[ans=$withval], 3133[case "$build" in 3134 $host) ans=yes ;; 3135 *) ans=no ;; 3136esac]) 3137case "$ans" in 3138 no) ;; 3139 yes) # Look in: 3140 ans="/usr/lib /usr/lib/openssl /usr/sfw/lib /usr/local/lib /usr/local/ssl/lib" 3141 ;; 3142 *) # Look where they said 3143 ;; 3144esac 3145case "$ans" in 3146 no) ;; 3147 *) # Look for libcrypto.a and libssl.a: 3148 for i in $ans no 3149 do 3150 case "$host" in 3151 *-*-darwin*) 3152 test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break 3153 ;; 3154 *) 3155 test -f $i/libcrypto.so -a -f $i/libssl.so && break 3156 test -f $i/libcrypto.a -a -f $i/libssl.a && break 3157 ;; 3158 esac 3159 done 3160 case "$i" in 3161 no) 3162 ans=no 3163 OPENSSL_LIB= 3164 ;; 3165 *) ans=$i 3166 OPENSSL_LIB=$ans 3167 ;; 3168 esac 3169 ;; 3170esac 3171AC_MSG_RESULT([$ans]) 3172 3173AC_MSG_CHECKING([for openssl include directory]) 3174AC_ARG_WITH(openssl-incdir, 3175 AC_HELP_STRING([--with-openssl-incdir], [+ =/something/reasonable]), 3176[ans=$withval], 3177[case "$build" in 3178 $host) ans=yes ;; 3179 *) ans=no ;; 3180esac]) 3181case "$ans" in 3182 no) ;; 3183 yes) # look in: 3184 ans="/usr/include /usr/sfw/include /usr/local/include /usr/local/ssl/include" 3185 ;; 3186 *) # Look where they said 3187 ;; 3188esac 3189case "$ans" in 3190 no) ;; 3191 *) # look for openssl/opensslconf.h: 3192 for i in $ans no 3193 do 3194 test -f $i/openssl/opensslconf.h && break 3195 done 3196 case "$i" in 3197 no) 3198 ans=no 3199 OPENSSL_INC= 3200 ;; 3201 *) ans=$i 3202 OPENSSL_INC=$ans 3203 ;; 3204 esac 3205 ;; 3206esac 3207AC_MSG_RESULT([$ans]) 3208 3209AC_ARG_WITH(crypto, 3210 AC_HELP_STRING([--with-crypto], [+ =openssl]), 3211[ans=$withval], [ans=yes]) 3212case "$ans" in 3213 no) ;; 3214 yes|openssl) 3215 if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INC" 3216 then 3217 ans=no 3218 else 3219 # We have OpenSSL inc/lib - use them. 3220 ans=openssl 3221 CPPFLAGS="$CPPFLAGS -I$OPENSSL_INC" 3222 LDFLAGS="$LDFLAGS -L$OPENSSL_LIB" 3223 case "$need_dash_r" in 3224 1) LDFLAGS="$LDFLAGS -R$OPENSSL_LIB" 3225 ;; 3226 esac 3227 AC_SUBST(LCRYPTO, [-lcrypto]) 3228 AC_DEFINE(OPENSSL, , [Use OpenSSL?]) 3229 AC_CHECK_FUNCS(EVP_md2 EVP_mdc2) 3230 fi 3231 ;; 3232esac 3233AC_MSG_CHECKING(for the level of crypto support) 3234AC_MSG_RESULT([$ans]) 3235 3236AC_MSG_CHECKING([if we want to compile with ElectricFence]) 3237AC_ARG_WITH(electricfence, 3238 AC_HELP_STRING([--with-electricfence], [- compile with ElectricFence malloc debugger]), 3239[ans=$withval], [ans=no]) 3240case "$ans" in 3241 no) ;; 3242 *) 3243 LIBS="$LIBS \${top_builddir}/ElectricFence/libefence.a" 3244 EF_PROGS="eftest tstheap" 3245 AC_SUBST(EF_PROGS) 3246 EF_LIBS=libefence.a 3247 AC_SUBST(EF_LIBS) 3248 ans=yes 3249 ;; 3250esac 3251AC_MSG_RESULT([$ans]) 3252 3253AC_SUBST(MAKE_CHECK_LAYOUT) 3254AC_MSG_CHECKING([if we want to run check-layout]) 3255case "$cross_compiling$PATH_PERL" in 3256 no/*) 3257 MAKE_CHECK_LAYOUT=check-layout 3258 ans=yes 3259 ;; 3260 *) 3261 ans=no 3262 ;; 3263esac 3264AC_MSG_RESULT([$ans]) 3265 3266AC_SUBST(TESTDCF) 3267AC_SUBST(DCFD) 3268 3269AC_MSG_CHECKING([if we can make dcf parse utilities]) 3270ans=no 3271if test "$ntp_parseutil" = "yes"; then 3272 case "$host" in 3273 *-*-sunos4*|*-*-solaris2*|*-*-*linux*|*-*-netbsd*) 3274 ans="dcfd testdcf" 3275 DCFD=dcfd 3276 TESTDCF=testdcf 3277 ;; 3278 esac 3279fi 3280AC_MSG_RESULT([$ans]) 3281 3282AC_SUBST(MAKE_PARSEKMODULE) 3283AC_MSG_CHECKING([if we can build kernel streams modules for parse]) 3284ans=no 3285case "$ntp_parseutil$ac_cv_header_sys_stropts_h" in 3286 yesyes) 3287 case "$host" in 3288 sparc-*-sunos4*) 3289 case "$ac_cv_var_kernel_pll" in 3290 yes) 3291 AC_DEFINE(PPS_SYNC, 1, [PARSE kernel PLL PPS support]) 3292 ;; 3293 esac 3294 ans=parsestreams 3295 MAKE_PARSEKMODULE=parsestreams.loadable_module.o 3296 ;; 3297 sparc-*-solaris2*) 3298 ans=parsesolaris 3299 MAKE_PARSEKMODULE=parse 3300 ;; 3301 esac 3302 ;; 3303esac 3304AC_MSG_RESULT([$ans]) 3305 3306AC_MSG_CHECKING([if we need basic refclock support]) 3307if test "$ntp_refclock" = "yes"; then 3308 AC_DEFINE(REFCLOCK, 1, [Basic refclock support?]) 3309fi 3310AC_MSG_RESULT($ntp_refclock) 3311 3312dnl Things that can be made in clockstuff/ 3313AC_SUBST(PROPDELAY) dnl Set to "propdelay" 3314AC_SUBST(CHUTEST) dnl Set to "chutest" 3315AC_SUBST(CLKTEST) dnl Set to "clktest" 3316 3317AC_SUBST(MAKE_ADJTIMED) 3318AC_MSG_CHECKING(if we want HP-UX adjtimed support) 3319case "$host" in 3320 *-*-hpux[[56789]]*) 3321 ans=yes 3322 ;; 3323 *) ans=no 3324 ;; 3325esac 3326if test "$ans" = "yes"; then 3327 MAKE_ADJTIMED=adjtimed 3328 AC_DEFINE(NEED_HPUX_ADJTIME, 1, [Do we need HPUX adjtime() library support?]) 3329fi 3330AC_MSG_RESULT([$ans]) 3331 3332AC_MSG_CHECKING([if we want QNX adjtime support]) 3333case "$host" in 3334 *-*-qnx*) 3335 ans=yes 3336 ;; 3337 *) ans=no 3338 ;; 3339esac 3340if test "$ans" = "yes"; then 3341 AC_DEFINE(NEED_QNX_ADJTIME, 1, [Do we need the qnx adjtime call?]) 3342fi 3343AC_MSG_RESULT([$ans]) 3344 3345AC_MSG_CHECKING([if we can read kmem]) 3346 3347# the default is to enable it if the system has the capability 3348 3349case "$ac_cv_func_nlist$ac_cv_func_K_open$ac_cv_func_kvm_open" in 3350 *yes*) 3351 ans=yes 3352 ;; 3353 *) ans=no 3354esac 3355 3356case "$host" in 3357 *-*-domainos) # Won't be found... 3358 ans=no 3359 ;; 3360 *-*-hpux*) 3361 #ans=no 3362 ;; 3363 *-*-irix[[456]]*) 3364 ans=no 3365 ;; 3366 *-*-*linux*) 3367 ans=no 3368 ;; 3369 *-*-winnt3.5) 3370 ans=no 3371 ;; 3372 *-*-unicosmp*) 3373 ans=no 3374 ;; 3375esac 3376 3377# --enable-kmem / --disable-kmem controls if present 3378AC_ARG_ENABLE( 3379 [kmem], 3380 AC_HELP_STRING( 3381 [--enable-kmem], 3382 [s read /dev/kmem for tick and/or tickadj] 3383 ), 3384 [ans=$enableval] 3385) 3386 3387AC_MSG_RESULT([$ans]) 3388 3389case "$ans" in 3390 yes) 3391 can_kmem=yes 3392 ;; 3393 *) 3394 can_kmem=no 3395 AC_DEFINE(NOKMEM, 1, [Should we NOT read /dev/kmem?]) 3396esac 3397 3398 3399AC_MSG_CHECKING([if adjtime is accurate]) 3400 3401# target-dependent defaults 3402 3403case "$host" in 3404 i386-sequent-ptx*) 3405 ans=no 3406 ;; 3407 i386-unknown-osf1*) 3408 ans=yes 3409 ;; 3410 mips-sgi-irix[[456]]*) 3411 ans=yes 3412 ;; 3413 *-fujitsu-uxp*) 3414 ans=yes 3415 ;; 3416 *-ibm-aix[[456]]*) 3417 ans=yes 3418 ;; 3419 *-*-*linux*) 3420 ans=yes 3421 ;; 3422 *-*-solaris2.[[01]]) 3423 ans=no 3424 ;; 3425 *-*-solaris2*) 3426 ans=yes 3427 ;; 3428 *-*-unicosmp*) 3429 ans=yes 3430 ;; 3431 *) ans=no 3432esac 3433 3434# --enable-accurate-adjtime / --disable-accurate-adjtime 3435# override the default 3436AC_ARG_ENABLE([accurate-adjtime], 3437 AC_HELP_STRING( 3438 [--enable-accurate-adjtime], 3439 [s the adjtime() call is accurate] 3440 ), 3441 [ans=$enableval], 3442) 3443 3444AC_MSG_RESULT([$ans]) 3445 3446case "$ans" in 3447 yes) 3448 AC_DEFINE(ADJTIME_IS_ACCURATE, 1, [Is adjtime() accurate?]) 3449 adjtime_is_accurate=yes 3450 ;; 3451 *) 3452 adjtime_is_accurate=no 3453esac 3454 3455AC_CACHE_CHECK([the name of 'tick' in the kernel], 3456ac_cv_var_nlist_tick, 3457[ans=_tick 3458case "$host" in 3459 m68*-hp-hpux*) # HP9000/300? 3460 ans=_old_tick 3461 ;; 3462 *-apple-aux[[23]]*) 3463 ans=tick 3464 ;; 3465 *-hp-hpux*) 3466 ans=old_tick 3467 ;; 3468 *-ibm-aix[[3456]]*) 3469 ans=no 3470 ;; 3471 *-*-mpeix*) 3472 ans=no 3473 ;; 3474 *-*-ptx*) 3475 ans=tick 3476 ;; 3477 *-*-sco3.2v[[45]]*) 3478 ans=no 3479 ;; 3480 *-*-solaris2*) 3481 ans=nsec_per_tick 3482 ;; 3483 *-*-sysv4*) 3484 ans=tick 3485 ;; 3486esac 3487ac_cv_var_nlist_tick=$ans]) 3488case "$ac_cv_var_nlist_tick" in 3489 ''|no) ;; # HMS: I think we can only get 'no' here... 3490 *) AC_DEFINE_UNQUOTED(K_TICK_NAME, "$ac_cv_var_nlist_tick", [What is the name of TICK in the kernel?]) ;; 3491esac 3492# 3493AC_CACHE_CHECK([for the units of 'tick'], 3494ac_cv_var_tick_nano, 3495[ans=usec 3496case "$host" in 3497 *-*-solaris2*) 3498 ans=nsec 3499 ;; 3500esac 3501ac_cv_var_tick_nano=$ans]) 3502case "$ac_cv_var_tick_nano" in 3503 nsec) 3504 AC_DEFINE(TICK_NANO, 1, [Is K_TICK_NAME in nanoseconds?]) 3505 ;; 3506esac 3507# 3508AC_CACHE_CHECK([the name of 'tickadj' in the kernel], 3509ac_cv_var_nlist_tickadj, 3510[ans=_tickadj 3511case "$host" in 3512 m68*-hp-hpux*) # HP9000/300? 3513 ans=_tickadj 3514 ;; 3515 *-apple-aux[[23]]*) 3516 ans=tickadj 3517 ;; 3518 *-hp-hpux10*) 3519 ans=no 3520 ;; 3521 *-hp-hpux9*) 3522 ans=no 3523 ;; 3524 *-hp-hpux*) 3525 ans=tickadj 3526 ;; 3527 *-*-aix*) 3528 ans=tickadj 3529 ;; 3530 *-*-mpeix*) 3531 ans=no 3532 ;; 3533 *-*-ptx*) 3534 ans=tickadj 3535 ;; 3536 *-*-sco3.2v4*) 3537 ans=no 3538 ;; 3539 *-*-sco3.2v5.0*) 3540 ans=clock_drift 3541 ;; 3542 *-*-solaris2*) 3543 ans=no # hrestime_adj 3544 ;; 3545 *-*-sysv4*) 3546 ans=tickadj 3547 ;; 3548esac 3549ac_cv_var_nlist_tickadj=$ans]) 3550case "$ac_cv_var_nlist_tickadj" in 3551 ''|no) ;; # HMS: I think we can only get 'no' here... 3552 *) AC_DEFINE_UNQUOTED(K_TICKADJ_NAME, "$ac_cv_var_nlist_tickadj", [What is the name of TICKADJ in the kernel?]) ;; 3553esac 3554# 3555AC_CACHE_CHECK([for the units of 'tickadj'], 3556ac_cv_var_tickadj_nano, 3557[ans=usec 3558case "$host" in 3559 *-*-solaris2*) 3560 ans=nsec 3561 ;; 3562esac 3563ac_cv_var_tickadj_nano=$ans]) 3564case "$ac_cv_var_tickadj_nano" in 3565 nsec) 3566 AC_DEFINE(TICKADJ_NANO, 1, [Is K_TICKADJ_NAME in nanoseconds?]) 3567 ;; 3568esac 3569# 3570AC_CACHE_CHECK([half-heartedly for 'dosynctodr' in the kernel], 3571ac_cv_var_nlist_dosynctodr, 3572[case "$host" in 3573 *-apple-aux[[23]]*) 3574 ans=no 3575 ;; 3576 *-sni-sysv*) 3577 ans=dosynctodr 3578 ;; 3579 *-*-aix*) 3580 ans=dosynctodr 3581 ;; 3582 *-*-hpux*) 3583 ans=no 3584 ;; 3585 *-*-mpeix*) 3586 ans=no 3587 ;; 3588 *-*-nextstep*) 3589 ans=_dosynctodr 3590 ;; 3591 *-*-ptx*) 3592 ans=doresettodr 3593 ;; 3594 *-*-sco3.2v4*) 3595 ans=no 3596 ;; 3597 *-*-sco3.2v5*) 3598 ans=track_rtc 3599 ;; 3600 *-*-solaris2*) 3601 ans=dosynctodr 3602 ;; 3603 *-*-sysv4*) 3604 ans=doresettodr 3605 ;; 3606 *) 3607 ans=_dosynctodr 3608 ;; 3609esac 3610ac_cv_var_nlist_dosynctodr=$ans]) 3611case "$ac_cv_var_nlist_dosynctodr" in 3612 no) ;; 3613 *) AC_DEFINE_UNQUOTED(K_DOSYNCTODR_NAME, "$ac_cv_var_nlist_dosynctodr", [What is (probably) the name of DOSYNCTODR in the kernel?]) 3614 ;; 3615esac 3616# 3617AC_CACHE_CHECK([half-heartedly for 'noprintf' in the kernel], 3618ac_cv_var_nlist_noprintf, 3619[case "$host" in 3620 *-apple-aux[[23]]*) 3621 ans=no 3622 ;; 3623 *-sni-sysv*) 3624 ans=noprintf 3625 ;; 3626 *-*-aix*) 3627 ans=noprintf 3628 ;; 3629 *-*-hpux*) 3630 ans=no 3631 ;; 3632 *-*-mpeix*) 3633 ans=no 3634 ;; 3635 *-*-ptx*) 3636 ans=noprintf 3637 ;; 3638 *-*-nextstep*) 3639 ans=_noprintf 3640 ;; 3641 *-*-solaris2*) 3642 ans=noprintf 3643 ;; 3644 *-*-sysv4*) 3645 ans=noprintf 3646 ;; 3647 *) 3648 ans=_noprintf 3649 ;; 3650esac 3651ac_cv_var_nlist_noprintf=$ans]) 3652case "$ac_cv_var_nlist_noprintf" in 3653 no) ;; 3654 *) AC_DEFINE_UNQUOTED(K_NOPRINTF_NAME, "$ac_cv_var_nlist_noprintf", [What is (probably) the name of NOPRINTF in the kernel?]) 3655 ;; 3656esac 3657 3658dnl The tick/tickadj sections were written by Skippy, who never learned 3659dnl that it's impolite (horridly gross) to show your guts in public. 3660 3661dnl tick tickadj 3662dnl 10000 80 Unixware 3663dnl 1000000L/hz tick/16 (Solaris,UXPV,HPUX) && ADJTIME_IS_ACCURATE 3664dnl 10000 150 sgi IRIX 3665dnl 1000000L/hz 1000 RS6000 && NOKMEM 3666dnl 1000000L/hz 668 DOMAINOS && NOKMEM 3667dnl 1000000L/hz 500/HZ other && NOKMEM 3668dnl txc.tick 1 Linux 3669dnl (every / 10) 50 WinNT - tickadj is roughly 500/hz 3670dnl 1000000L/hz (nlist) (Solaris && !ADJTIME_IS_ACCURATE), 3671dnl (RS6000 && !NOKMEM), SINIX MIPS 3672 3673dnl But we'll only use these "values" if we can't find anything else. 3674 3675AC_MSG_CHECKING([for a default value for 'tick']) 3676 3677# target-dependent default for tick 3678 3679case "$host" in 3680 *-*-pc-cygwin*) 3681 AC_MSG_ERROR([tick needs work for cygwin]) 3682 ;; 3683 *-univel-sysv*) 3684 ans=10000 3685 ;; 3686 *-*-irix*) 3687 ans=10000 3688 ;; 3689 *-*-*linux*) 3690 ans=txc.tick 3691 ;; 3692 *-*-mpeix*) 3693 ans=no 3694 ;; 3695 *-*-winnt3.5) 3696 ans='(every / 10)' 3697 ;; 3698 *-*-unicosmp*) 3699 ans=10000 3700 ;; 3701 *) 3702 ans='1000000L/hz' 3703 ;; 3704esac 3705 3706AC_ARG_ENABLE( 3707 [tick], 3708 AC_HELP_STRING( 3709 [--enable-tick=VALUE], 3710 [s force a value for 'tick'] 3711 ), 3712 [ans=$enableval] 3713) 3714 3715AC_MSG_RESULT([$ans]) 3716 3717case "$ans" in 3718 ''|no) ;; # HMS: I think we can only get 'no' here... 3719 *) AC_DEFINE_UNQUOTED(PRESET_TICK, [$ans], [Preset a value for 'tick'?]) ;; 3720esac 3721 3722 3723AC_MSG_CHECKING([for a default value for 'tickadj']) 3724 3725# target-specific default 3726 3727ans='500/hz' 3728 3729case "$host" in 3730 *-fujitsu-uxp*) 3731 case "$adjtime_is_accurate" in 3732 yes) 3733 ans='tick/16' 3734 esac 3735 ;; 3736 XXX-*-pc-cygwin*) 3737 ans=no 3738 ;; 3739 *-univel-sysv*) 3740 ans=80 3741 ;; 3742 *-*-aix*) 3743 case "$can_kmem" in 3744 no) 3745 ans=1000 3746 esac 3747 ;; 3748 *-*-domainos) # Skippy: won't be found... 3749 case "$can_kmem" in 3750 no) 3751 ans=668 3752 esac 3753 ;; 3754 *-*-hpux*) 3755 case "$adjtime_is_accurate" in 3756 yes) 3757 ans='tick/16' 3758 esac 3759 ;; 3760 *-*-irix*) 3761 ans=150 3762 ;; 3763 *-*-mpeix*) 3764 ans=no 3765 ;; 3766 *-*-sco3.2v5.0*) 3767 ans=10000L/hz 3768 ;; 3769 *-*-winnt3.5) 3770 ans=50 3771 ;; 3772 *-*-unicosmp*) 3773 ans=150 3774esac 3775 3776AC_ARG_ENABLE( 3777 [tickadj], 3778 AC_HELP_STRING( 3779 [--enable-tickadj=VALUE], 3780 [s force a value for 'tickadj'] 3781 ), 3782 [ans=$enableval] 3783) 3784 3785AC_MSG_RESULT([$ans]) 3786 3787default_tickadj=$ans 3788 3789case "$default_tickadj" in 3790 ''|no) ;; # HMS: I think we can only get 'no' here... 3791 *) AC_DEFINE_UNQUOTED(PRESET_TICKADJ, $default_tickadj, [Preset a value for 'tickadj'?]) ;; 3792esac 3793 3794# Newer versions of ReliantUNIX round adjtime() values down to 3795# 1/100s (system tick). Sigh ... 3796# Unfortunately, there is no easy way to know if particular release 3797# has this "feature" or any obvious way to test for it. 3798case "$host" in 3799 mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX_CLOCK, 1, [Do we want the ReliantUNIX clock hacks?]) ;; 3800esac 3801 3802case "$host" in 3803 *-*-sco3.2v5*) AC_DEFINE(SCO5_CLOCK, 1, [Do we want the SCO clock hacks?]) ;; 3804esac 3805 3806ac_cv_make_tickadj=yes 3807case "$can_kmem$ac_cv_var_tick$default_tickadj" in 3808 nonono) # Don't read KMEM, no presets. Bogus. 3809 AC_MSG_WARN([Can't read kmem, no PRESET_TICK or PRESET_TICKADJ. No tickadj.]) 3810 ac_cv_make_tickadj=no 3811 ;; 3812 nono*) # Don't read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus. 3813 AC_MSG_WARN([Can't read kmem but no PRESET_TICK. No tickadj.]) 3814 ac_cv_make_tickadj=no 3815 ;; 3816 no*no) # Don't read KMEM, PRESET_TICK but no PRESET_TICKADJ. Bogus. 3817 AC_MSG_WARN([Can't read kmem but no PRESET_TICKADJ. No tickadj.]) 3818 ac_cv_make_tickadj=no 3819 ;; 3820 no*) # Don't read KMEM, PRESET_TICK and PRESET_TICKADJ. Cool. 3821 ;; 3822 yesnono) # Read KMEM, no presets. Cool. 3823 ;; 3824 yesno*) # Read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus. 3825 AC_MSG_WARN([PRESET_TICKADJ is defined but not PRESET_TICK. Please report this.]) 3826 ;; 3827 yes*no) # Read KMEM, PRESET_TICK but no PRESET_TICKADJ. Cool. 3828 ;; 3829 yes*) # READ KMEM, PRESET_TICK and PRESET_TICKADJ. 3830 ;; 3831 *) # Generally bogus. 3832 AC_MSG_ERROR([This shouldn't happen.]) 3833 ;; 3834esac 3835 3836AC_SUBST(MAKE_NTPTIME) 3837AC_CACHE_CHECK([if we want and can make the ntptime utility], ac_cv_make_ntptime, 3838[case "$host" in 3839 *) case "$ac_cv_struct_ntptimeval$ac_cv_var_kernel_pll" in 3840 yesyes) 3841 ans=yes 3842 ;; 3843 *) 3844 ans=no 3845 ;; 3846 esac 3847 ;; 3848esac 3849ac_cv_make_ntptime=$ans]) 3850case "$ac_cv_make_ntptime" in 3851 yes) 3852 MAKE_NTPTIME=ntptime 3853 ;; 3854esac 3855 3856AC_SUBST(MAKE_TICKADJ) 3857case "$host" in 3858 mips-sni-sysv4*) 3859 # tickadj is pretty useless on newer versions of ReliantUNIX 3860 # Do not bother 3861 ac_cv_make_tickadj=no 3862 ;; 3863 *-*-irix*) 3864 ac_cv_make_tickadj=no 3865 ;; 3866 *-*-solaris2*) 3867 # DLM says tickadj is a no-no starting with solaris2.5 3868 case "$host" in 3869 *-*-solaris2.1[[0-9]]*) 3870 ac_cv_make_tickadj=no 3871 ;; 3872 *-*-solaris2.[[0-4]]*) ;; 3873 *) ac_cv_make_tickadj=no ;; 3874 esac 3875 ;; 3876 *-*-unicosmp*) 3877 ac_cv_make_tickadj=no 3878 ;; 3879esac 3880 3881# 3882# Despite all the above, we always make tickadj. Setting 3883# ac_cv_make_tickadj before AC_CACHE_CHECK will cause a false 3884# report that the configuration variable was cached. It may 3885# be better to simply remove the hunk above, I did not want 3886# to remove it if there is hope it will be used again. 3887# 3888unset ac_cv_make_tickadj 3889 3890AC_CACHE_CHECK([if we want and can make the tickadj utility], ac_cv_make_tickadj, 3891ac_cv_make_tickadj=yes) 3892case "$ac_cv_make_tickadj" in 3893 yes) 3894 MAKE_TICKADJ=tickadj 3895 ;; 3896esac 3897 3898AC_SUBST(MAKE_TIMETRIM) 3899AC_CACHE_CHECK([if we want and can make the timetrim utility], ac_cv_make_timetrim, 3900[case "$host" in 3901 *-*-irix*) 3902 ac_cv_make_timetrim=yes 3903 ;; 3904 *-*-unicosmp*) 3905 ac_cv_make_timetrim=yes 3906 ;; 3907 *) 3908 ac_cv_make_timetrim=no 3909 ;; 3910esac]) 3911case "$ac_cv_make_timetrim" in 3912 yes) 3913 MAKE_TIMETRIM=timetrim 3914 ;; 3915esac 3916 3917AC_SUBST(MAKE_LIBNTPSIM) 3918AC_SUBST(MAKE_NTPDSIM) 3919 3920AC_MSG_CHECKING([if we want to build the NTPD simulator]) 3921 3922AC_ARG_ENABLE( 3923 [simulator], 3924 AC_HELP_STRING( 3925 [--enable-simulator], 3926 [- build/install the NTPD simulator?] 3927 ), 3928 [ans=$enableval], 3929 [ans=no] 3930) 3931 3932AC_MSG_RESULT([$ans]) 3933 3934case "$ans" in 3935 yes) 3936 MAKE_NTPDSIM=ntpdsim 3937 MAKE_LIBNTPSIM=libntpsim.a 3938 ;; 3939esac 3940 3941case "$build" in 3942 $host) 3943 ;; 3944 *) case "$host" in 3945 *-*-vxworks*) 3946 LDFLAGS="$LDFLAGS -r" 3947 ;; 3948 esac 3949 ;; 3950esac 3951 3952 3953AC_MSG_CHECKING([if we should always slew the time]) 3954 3955# target-specific defaults 3956 3957case "$host" in 3958 *-apple-aux[[23]]*) 3959 ans=yes 3960 ;; 3961 *-*-bsdi[[012]]*) 3962 ans=no 3963 ;; 3964 *-*-bsdi*) 3965 ans=yes 3966 ;; 3967 *-*-openvms*) # HMS: won't be found 3968 ans=yes 3969 ;; 3970 *) ans=no 3971 ;; 3972esac 3973 3974# --enable-slew-always / --disable-slew-always overrides default 3975 3976AC_ARG_ENABLE( 3977 [slew-always], 3978 AC_HELP_STRING( 3979 [--enable-slew-always], 3980 [s always slew the time] 3981 ), 3982 [ans=$enableval] 3983) 3984 3985AC_MSG_RESULT([$ans]) 3986 3987case "$ans" in 3988 yes) AC_DEFINE(SLEWALWAYS, 1, [Slew always?]) ;; 3989esac 3990 3991AC_MSG_CHECKING([if we should step and slew the time]) 3992 3993case "$host" in 3994 *-sni-sysv*) 3995 ans=yes 3996 ;; 3997 *-univel-sysv*) 3998 ans=no 3999 ;; 4000 *-*-ptx*) 4001 ans=yes 4002 ;; 4003 *-*-solaris2.1[[0-9]]*) 4004 ans=no 4005 ;; 4006 *-*-solaris2.[[012]]*) 4007 ans=yes 4008 ;; 4009 *-*-sysv4*) # HMS: Does this catch Fujitsu UXP? 4010 ans=yes 4011 ;; 4012 *) ans=no 4013 ;; 4014esac 4015 4016 4017AC_ARG_ENABLE( 4018 [step-slew], 4019 AC_HELP_STRING( 4020 [--enable-step-slew], 4021 [s step and slew the time] 4022 ), 4023 [ans=$enableval] 4024) 4025 4026AC_MSG_RESULT([$ans]) 4027 4028case "$ans" in 4029 yes) AC_DEFINE(STEP_SLEW, 1, [Step, then slew the clock?]) ;; 4030esac 4031 4032AC_MSG_CHECKING([if ntpdate should step the time]) 4033 4034case "$host" in 4035 *-apple-aux[[23]]*) 4036 ans=yes 4037 ;; 4038 *) ans=no 4039esac 4040 4041AC_ARG_ENABLE( 4042 [ntpdate-step], 4043 AC_HELP_STRING( 4044 [--enable-ntpdate-step], 4045 [s if ntpdate should step the time] 4046 ), 4047 [ans=$enableval] 4048) 4049 4050AC_MSG_RESULT([$ans]) 4051 4052case "$ans" in 4053 yes) AC_DEFINE(FORCE_NTPDATE_STEP, 1, [force ntpdate to step the clock if !defined(STEP_SLEW) ?]) ;; 4054esac 4055 4056 4057AC_MSG_CHECKING([if we should sync TODR clock every hour]) 4058 4059case "$host" in 4060 *-*-nextstep*) 4061 ans=yes 4062 ;; 4063 *-*-openvms*) # HMS: won't be found 4064 ans=yes 4065 ;; 4066 *) 4067 ans=no 4068esac 4069 4070AC_ARG_ENABLE( 4071 [hourly-todr-sync], 4072 AC_HELP_STRING( 4073 [--enable-hourly-todr-sync], 4074 [s if we should sync TODR hourly] 4075 ), 4076 [ans=$enableval] 4077) 4078 4079AC_MSG_RESULT([$ans]) 4080 4081case "$ac_cv_var_sync_todr" in 4082 yes) AC_DEFINE(DOSYNCTODR, 1, [synch TODR hourly?]) ;; 4083esac 4084 4085 4086AC_MSG_CHECKING([if we should avoid kernel FLL bug]) 4087 4088case "$host" in 4089 *-*-solaris2.6) 4090 unamev=`uname -v` 4091 case "$unamev" in 4092 Generic_105181-*) 4093 old_IFS="$IFS" 4094 IFS="-" 4095 set $unamev 4096 IFS="$old_IFS" 4097 if test "$2" -ge 17 4098 then 4099 # Generic_105181-17 and higher 4100 ans=no 4101 else 4102 ans=yes 4103 fi 4104 ;; 4105 *) 4106 ans=yes 4107 esac 4108 ;; 4109 *-*-solaris2.7) 4110 unamev=`uname -v` 4111 case "$unamev" in 4112 Generic_106541-*) 4113 old_IFS="$IFS" 4114 IFS="-" 4115 set $unamev 4116 IFS="$old_IFS" 4117 if test "$2" -ge 07 4118 then 4119 # Generic_106541-07 and higher 4120 ans=no 4121 else 4122 ans=yes 4123 fi 4124 ;; 4125 *) 4126 ans=yes 4127 esac 4128 ;; 4129 *) 4130 ans=no 4131esac 4132 4133AC_ARG_ENABLE( 4134 [kernel-fll-bug], 4135 AC_HELP_STRING( 4136 [--enable-kernel-fll-bug], 4137 [s if we should avoid a kernel FLL bug] 4138 ), 4139 [ans=$enableval] 4140) 4141 4142AC_MSG_RESULT([$ans]) 4143 4144case "$ans" in 4145 yes) AC_DEFINE(KERNEL_FLL_BUG, 1, [Does the kernel have an FLL bug?]) ;; 4146esac 4147 4148 4149AC_MSG_CHECKING([if we should use the IRIG sawtooth filter]) 4150 4151case "$host" in 4152 *-*-solaris2.[[89]]) 4153 ans=yes 4154 ;; 4155 *-*-solaris2.1[[0-9]]*) 4156 ans=yes 4157 ;; 4158 *) ans=no 4159esac 4160 4161AC_ARG_ENABLE( 4162 [irig-sawtooth], 4163 AC_HELP_STRING( 4164 [--enable-irig-sawtooth], 4165 [s if we should enable the IRIG sawtooth filter] 4166 ), 4167 [ans=$enableval] 4168) 4169 4170AC_MSG_RESULT([$ans]) 4171 4172case "$ans" in 4173 yes) AC_DEFINE(IRIG_SUCKS, 1, [Should we use the IRIG sawtooth filter?]) ;; 4174esac 4175 4176 4177AC_MSG_CHECKING([if we should enable NIST lockclock scheme]) 4178 4179AC_ARG_ENABLE( 4180 [nist], 4181 AC_HELP_STRING( 4182 [--enable-nist], 4183 [- if we should enable the NIST lockclock scheme] 4184 ), 4185 [ans=$enableval], 4186 [ans=no] 4187) 4188 4189AC_MSG_RESULT([$ans]) 4190 4191case "$ans" in 4192 yes) AC_DEFINE(LOCKCLOCK, 1, [Should we align with the NIST lockclock scheme?]) ;; 4193esac 4194 4195 4196AC_MSG_CHECKING([if we want support for Samba's signing daemon]) 4197 4198AC_ARG_ENABLE( 4199 [ntp-signd], 4200 AC_HELP_STRING( 4201 [--enable-ntp-signd], 4202 [- Provide support for Samba's signing daemon, =/var/run/ntp_signd] 4203 ), 4204 [ans=$enableval], 4205 [ans=no] 4206) 4207 4208AC_MSG_RESULT([$ans]) 4209 4210case "$ans" in 4211 no) 4212 ntp_signd_path= 4213 ;; 4214 yes) 4215 ntp_signd_path=/var/run/ntp_signd 4216 ;; 4217 *) 4218 ntp_signd_path="$ans" 4219esac 4220 4221case "$ntp_signd_path" in 4222 '') 4223 wintime_default=no 4224 ;; 4225 *) 4226 wintime_default=yes 4227 AC_DEFINE(HAVE_NTP_SIGND, ,[Do we want support for Samba's signing daemon?]) 4228 AC_DEFINE_UNQUOTED(NTP_SIGND_PATH, "$ntp_signd_path", [Path to sign daemon rendezvous socket]) 4229esac 4230 4231 4232AC_MSG_CHECKING([if we want the windows symmetric client hack]) 4233 4234# default is no, unless --enable-ntp-signd was given 4235ans=$wintime_default 4236unset wintime_default 4237 4238AC_ARG_ENABLE( 4239 [wintime], 4240 AC_HELP_STRING( 4241 [--enable-wintime], 4242 [- Provide the windows symmetric client hack] 4243 ), 4244 [ans=$enableval], 4245) 4246 4247AC_MSG_RESULT([$ans]) 4248 4249case "$ans" in 4250 yes) 4251 AC_DEFINE(WINTIME, ,[Do we want the windows symmetric client hack?]) 4252esac 4253 4254 4255AC_CHECK_HEADERS(sys/clockctl.h) 4256 4257case "$host" in 4258 *-*-netbsd*) 4259 ans=yes 4260 ;; 4261 *) ans=no 4262 ;; 4263esac 4264 4265AC_ARG_ENABLE( 4266 [clockctl], 4267 AC_HELP_STRING( 4268 [--enable-clockctl], 4269 [s Use /dev/clockctl for non-root clock control] 4270 ), 4271 [ntp_use_dev_clockctl=$enableval], 4272 [ntp_use_dev_clockctl=$ac_cv_header_sys_clockctl_h] 4273) 4274 4275AC_MSG_CHECKING([[if we should use /dev/clockctl]]) 4276AC_MSG_RESULT([$ntp_use_dev_clockctl]) 4277 4278 4279AC_CHECK_HEADERS([sys/capability.h]) 4280AC_CHECK_HEADERS([sys/prctl.h]) 4281 4282AC_MSG_CHECKING([[if we have linux capabilities (libcap)]]) 4283 4284case "$ac_cv_header_sys_capability_h$ac_cv_header_sys_prctl_h" in 4285 yesyes) 4286 ntp_have_linuxcaps=yes 4287 ;; 4288 *) 4289 ntp_have_linuxcaps=no 4290esac 4291 4292AC_MSG_RESULT([$ntp_have_linuxcaps]) 4293 4294 4295AC_ARG_ENABLE( 4296 [linuxcaps], 4297 AC_HELP_STRING( 4298 [--enable-linuxcaps], 4299 [+ Use Linux capabilities for non-root clock control] 4300 ), 4301 [ntp_have_linuxcaps=$enableval] 4302) 4303 4304 4305case "$ntp_have_linuxcaps" in 4306 yes) 4307 AC_DEFINE(HAVE_LINUX_CAPABILITIES, ,[[Do we have Linux capabilities?]]) 4308 LIBS="$LIBS -lcap" 4309esac 4310 4311 4312case "$ntp_use_dev_clockctl$ntp_have_linuxcaps" in 4313 *yes*) 4314 AC_DEFINE(HAVE_DROPROOT, ,[[Can we drop root privileges?]]) 4315esac 4316 4317 4318AC_CHECK_HEADERS([libscf.h]) 4319 4320case "$ac_cv_header_libscf_h" in 4321 yes) 4322 AC_SUBST(LSCF, [-lscf]) 4323esac 4324 4325AC_CHECK_FUNC( 4326 [setppriv], 4327 AC_DEFINE(HAVE_SOLARIS_PRIVS, ,[[Are Solaris privileges available?]]) 4328) 4329 4330 4331# 4332# ISC stuff 4333# 4334 4335if test $ac_cv_struct_sockaddr_has_sa_len = yes; then 4336 AC_DEFINE(ISC_PLATFORM_HAVESALEN, ,[ISC: struct sockaddr as sa_len?]) 4337fi 4338 4339AC_ARG_ENABLE(ipv6, AC_HELP_STRING([--enable-ipv6], [s use IPv6?])) 4340 4341case "$enable_ipv6" in 4342 yes|''|autodetect) 4343 case "$host" in 4344 powerpc-ibm-aix4*) ;; 4345 *) 4346 AC_DEFINE(WANT_IPV6, ,[configure --enable-ipv6]) 4347 ;; 4348 esac 4349 ;; 4350 no) 4351 ;; 4352esac 4353 4354 4355AC_CACHE_CHECK( 4356 [for IPv6 structures], 4357 ac_cv_isc_found_ipv6, 4358 [ 4359 AC_COMPILE_IFELSE( 4360 [ 4361 AC_LANG_PROGRAM( 4362 [ 4363 #include <sys/types.h> 4364 #include <sys/socket.h> 4365 #include <netinet/in.h> 4366 ], 4367 [ 4368 struct sockaddr_in6 sin6; 4369 ] 4370 ) 4371 ], 4372 [ac_cv_isc_found_ipv6=yes], 4373 [ac_cv_isc_found_ipv6=no] 4374 ) 4375 ] 4376) 4377 4378# 4379# See whether IPv6 support is provided via a Kame add-on. 4380# This is done before other IPv6 linking tests so LIBS is properly set. 4381# 4382AC_MSG_CHECKING([for Kame IPv6 support]) 4383AC_ARG_WITH(kame, 4384 [AC_HELP_STRING([--with-kame], [- =/usr/local/v6])], 4385 use_kame="$withval", use_kame="no") 4386 4387case "$use_kame" in 4388 no) 4389 ;; 4390 yes) 4391 kame_path=/usr/local/v6 4392 ;; 4393 *) 4394 kame_path="$use_kame" 4395 ;; 4396esac 4397 4398case "$use_kame" in 4399 no) 4400 AC_MSG_RESULT(no) 4401 ;; 4402 *) 4403 if test -f $kame_path/lib/libinet6.a; then 4404 AC_MSG_RESULT($kame_path/lib/libinet6.a) 4405 LIBS="-L$kame_path/lib -linet6 $LIBS" 4406 else 4407 AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. 4408 4409Please choose the proper path with the following command: 4410 4411 configure --with-kame=PATH 4412]) 4413 fi 4414 ;; 4415esac 4416 4417# 4418# Whether netinet6/in6.h is needed has to be defined in isc/platform.h. 4419# Including it on Kame-using platforms is very bad, though, because 4420# Kame uses #error against direct inclusion. So include it on only 4421# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1. 4422# This is done before the in6_pktinfo check because that's what 4423# netinet6/in6.h is needed for. 4424# 4425case "$host" in 4426 *-bsdi4.[[01]]*) 4427 AC_DEFINE(ISC_PLATFORM_NEEDNETINET6IN6H, 1, [Do we need netinet6/in6.h?]) 4428 isc_netinet6in6_hack="#include <netinet6/in6.h>" 4429 ;; 4430 *) 4431 isc_netinet6in6_hack="" 4432esac 4433 4434# 4435# This is similar to the netinet6/in6.h issue. 4436# 4437case "$host" in 4438 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*) 4439 AC_DEFINE(ISC_PLATFORM_FIXIN6ISADDR, 1,[Do we need to fix in6isaddr?]) 4440 isc_netinetin6_hack="#include <netinet/in6.h>" 4441 ;; 4442 *) 4443 isc_netinetin6_hack="" 4444esac 4445 4446 4447case "$ac_cv_isc_found_ipv6" in 4448 yes) 4449 AC_DEFINE(ISC_PLATFORM_HAVEIPV6, ,[have IPv6?]) 4450 4451 AC_CACHE_CHECK( 4452 [for in6_pktinfo], 4453 ac_cv_have_in6_pktinfo, 4454 [ 4455 AC_COMPILE_IFELSE( 4456 [ 4457 AC_LANG_PROGRAM( 4458 [ 4459 #include <sys/types.h> 4460 #include <sys/socket.h> 4461 #include <netinet/in.h> 4462 $isc_netinetin6_hack 4463 $isc_netinet6in6_hack 4464 ], 4465 [ 4466 struct in6_pktinfo xyzzy; 4467 ] 4468 ) 4469 ], 4470 [ac_cv_have_in6_pktinfo=yes], 4471 [ac_cv_have_in6_pktinfo=no] 4472 ) 4473 ] 4474 ) 4475 4476 case "$ac_cv_have_in6_pktinfo" in 4477 yes) 4478 AC_DEFINE(ISC_PLATFORM_HAVEIN6PKTINFO, , [have struct in6_pktinfo?]) 4479 esac 4480 4481 4482 # HMS: Use HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead? 4483 AC_CACHE_CHECK( 4484 [for sockaddr_in6.sin6_scope_id], 4485 ac_cv_have_sin6_scope_id, 4486 [ 4487 AC_COMPILE_IFELSE( 4488 [ 4489 AC_LANG_PROGRAM( 4490 [ 4491 #include <sys/types.h> 4492 #include <sys/socket.h> 4493 #include <netinet/in.h> 4494 $isc_netinetin6_hack 4495 $isc_netinet6in6_hack 4496 ], 4497 [ 4498 struct sockaddr_in6 xyzzy; 4499 xyzzy.sin6_scope_id = 0; 4500 ] 4501 ) 4502 ], 4503 [ac_cv_have_sin6_scope_id=yes], 4504 [ac_cv_have_sin6_scope_id=no] 4505 ) 4506 ] 4507 ) 4508 4509 case "$ac_cv_have_sin6_scope_id" in 4510 yes) 4511 AC_DEFINE(ISC_PLATFORM_HAVESCOPEID, , [have sin6_scope_id?]) 4512 esac 4513esac 4514 4515 4516# We need this check run even without ac_cv_isc_found_ipv6=yes 4517 4518AC_CACHE_CHECK( 4519 [for in6addr_any], 4520 ac_cv_have_in6addr_any, 4521 [ 4522 AC_COMPILE_IFELSE( 4523 [ 4524 AC_LANG_PROGRAM( 4525 [ 4526 #include <sys/types.h> 4527 #include <sys/socket.h> 4528 #include <netinet/in.h> 4529 $isc_netinetin6_hack 4530 $isc_netinet6in6_hack 4531 ], 4532 [ 4533 struct in6_addr in6; 4534 in6 = in6addr_any; 4535 ] 4536 ) 4537 ], 4538 [ac_cv_have_in6addr_any=yes], 4539 [ac_cv_have_in6addr_any=no] 4540 ) 4541 ] 4542) 4543 4544case "$ac_cv_have_in6addr_any" in 4545 no) 4546 AC_DEFINE(ISC_PLATFORM_NEEDIN6ADDRANY, , [missing in6addr_any?]) 4547esac 4548 4549 4550AC_CACHE_CHECK( 4551 [for struct if_laddrconf], 4552 ac_cv_isc_struct_if_laddrconf, 4553 [ 4554 AC_COMPILE_IFELSE( 4555 [ 4556 AC_LANG_PROGRAM( 4557 [ 4558 #include <sys/types.h> 4559 #include <net/if6.h> 4560 ], 4561 [ 4562 struct if_laddrconf a; 4563 ] 4564 ) 4565 ], 4566 [ac_cv_isc_struct_if_laddrconf=yes], 4567 [ac_cv_isc_struct_if_laddrconf=no] 4568 ) 4569 ] 4570) 4571 4572case "$ac_cv_isc_struct_if_laddrconf" in 4573 yes) 4574 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRCONF, , [have struct if_laddrconf?]) 4575esac 4576 4577AC_CACHE_CHECK( 4578 [for struct if_laddrreq], 4579 ac_cv_isc_struct_if_laddrreq, 4580 [ 4581 AC_COMPILE_IFELSE( 4582 [ 4583 AC_LANG_PROGRAM( 4584 [ 4585 #include <sys/types.h> 4586 #include <net/if6.h> 4587 ], 4588 [ 4589 struct if_laddrreq a; 4590 ] 4591 ) 4592 ], 4593 [ac_cv_isc_struct_if_laddrreq=yes], 4594 [ac_cv_isc_struct_if_laddrreq=no] 4595 ) 4596 ] 4597) 4598 4599case "$ac_cv_isc_struct_if_laddrreq" in 4600 yes) 4601 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRREQ, , [have struct if_laddrreq?]) 4602esac 4603 4604# 4605# Look for a sysctl call to get the list of network interfaces. 4606# 4607AC_CACHE_CHECK( 4608 [for interface list sysctl], 4609 ac_cv_iflist_sysctl, 4610 AC_EGREP_CPP( 4611 [found_rt_iflist], 4612 [ 4613 #include <sys/param.h> 4614 #include <sys/sysctl.h> 4615 #include <sys/socket.h> 4616 #ifdef NET_RT_IFLIST 4617 found_rt_iflist 4618 #endif 4619 ], 4620 [ac_cv_iflist_sysctl=yes], 4621 [ac_cv_iflist_sysctl=no] 4622 ) 4623) 4624 4625case "$ac_cv_iflist_sysctl" in 4626 yes) 4627 AC_DEFINE(HAVE_IFLIST_SYSCTL,1,[have iflist_sysctl?]) 4628esac 4629 4630 4631### 4632 4633AC_DEFINE_DIR(NTP_KEYSDIR, sysconfdir, [Default location of crypto key info]) 4634 4635AC_CONFIG_FILES(Makefile) 4636AC_CONFIG_FILES(ElectricFence/Makefile) 4637AC_CONFIG_FILES(adjtimed/Makefile) 4638AC_CONFIG_FILES(clockstuff/Makefile) 4639AC_CONFIG_FILES(include/Makefile) 4640AC_CONFIG_FILES(include/isc/Makefile) 4641AC_CONFIG_FILES(kernel/Makefile) 4642AC_CONFIG_FILES(kernel/sys/Makefile) 4643AC_CONFIG_FILES(libntp/Makefile) 4644AC_CONFIG_FILES(libparse/Makefile) 4645AC_CONFIG_FILES(ntpd/Makefile) 4646AC_CONFIG_FILES(ntpdate/Makefile) 4647AC_CONFIG_FILES(ntpdc/Makefile) 4648AC_CONFIG_FILES(ntpdc/nl.pl, [chmod +x ntpdc/nl.pl]) 4649AC_CONFIG_FILES(ntpq/Makefile) 4650AC_CONFIG_FILES(parseutil/Makefile) 4651AC_CONFIG_FILES(scripts/Makefile) 4652AC_CONFIG_FILES(scripts/calc_tickadj, [chmod +x scripts/calc_tickadj]) 4653AC_CONFIG_FILES(scripts/checktime, [chmod +x scripts/checktime]) 4654AC_CONFIG_FILES(scripts/freq_adj, [chmod +x scripts/freq_adj]) 4655AC_CONFIG_FILES(scripts/html2man, [chmod +x scripts/html2man]) 4656AC_CONFIG_FILES(scripts/mkver, [chmod +x scripts/mkver]) 4657AC_CONFIG_FILES(scripts/ntp-wait, [chmod +x scripts/ntp-wait]) 4658AC_CONFIG_FILES(scripts/ntpsweep, [chmod +x scripts/ntpsweep]) 4659AC_CONFIG_FILES(scripts/ntptrace, [chmod +x scripts/ntptrace]) 4660AC_CONFIG_FILES(scripts/ntpver, [chmod +x scripts/ntpver]) 4661AC_CONFIG_FILES(scripts/plot_summary, [chmod +x scripts/plot_summary]) 4662AC_CONFIG_FILES(scripts/summary, [chmod +x scripts/summary]) 4663AC_CONFIG_FILES(util/Makefile) 4664 4665AC_CONFIG_SUBDIRS(sntp) 4666 4667AC_OUTPUT 4668