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