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