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