2 dnl Process this file with autoconf to produce a configure script.
3 m4_include([version.m4])
4 AC_INIT(ntp, VERSION_NUMBER)
7 dnl the 'build' machine is where we run configure and compile
8 dnl the 'host' machine is where the resulting stuff runs.
9 AC_DEFINE_UNQUOTED(STR_SYSTEM, "$host", [canonical system (cpu-vendor-os) of where we should run])
10 AM_CONFIG_HEADER(config.h)
15 ac_cv_var_oncore_ok=no
17 ac_cv_var_ripe_ncc_ok=no
18 ac_cv_var_jupiter_ok=no
20 dnl Grab any initial CFLAGS so we can pick better defaults.
23 dnl check these early to avoid autoconf warnings
27 dnl we need to check for cross compile tools for vxWorks here
29 # Ralf Wildenhues: With per-target flags we need CC_C_O
34 # HMS: These need to be moved to AM_CPPFLAGS and/or AM_CFLAGS
37 CFLAGS="$CFLAGS -Dfork=vfork -DSYS_AMIGA"
39 *-*-hpux10.*) # at least for hppa2.0-hp-hpux10.20
43 *) CFLAGS="$CFLAGS -Wp,-H18816"
48 CFLAGS="$CFLAGS -DSYS_CYGWIN32"
53 CFLAGS="$CFLAGS -Wc,+abi-socket"
58 CPPFLAGS="$CPPFLAGS -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB"
59 LDFLAGS="$LDFLAGS -L/SYSLOG/PUB"
63 # see "man standards".
64 # -D_XOPEN_SOURCE=500 is probably OK for c89 and before
65 # -D_XOPEN_SOURCE=600 seems OK for c99
66 #CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
67 CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
74 # NTP has (so far) been relying on leading-edge autogen.
75 # Therefore, by default:
76 # - use the version we ship with
78 # - build a static copy (AC_DISABLE_SHARED - done earlier)
79 case "${enable_local_libopts+set}" in
81 *) enable_local_libopts=yes ;;
83 case "${enable_libopts_install+set}" in
85 *) enable_libopts_install=no ;;
87 LIBOPTS_CHECK(libopts)
89 AC_MSG_CHECKING([[if $CC can handle #warning]])
90 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#warning foo]])],[ac_cv_cpp_warning=yes],[ac_cv_cpp_warning=no])
91 AC_MSG_RESULT([$ac_cv_cpp_warning])
93 case "$ac_cv_cpp_warning" in
95 AC_DEFINE([NO_OPTION_NAME_WARNINGS], [1], [Should we avoid #warning on option name collisions?])
96 AC_MSG_RESULT([[Enabling NO_OPTION_NAME_WARNINGS as #warning does not work]])
100 AC_MSG_CHECKING(for bin subdirectory)
101 AC_ARG_WITH(binsubdir,
102 AC_HELP_STRING([--with-binsubdir], [bin ={bin,sbin}]),
103 use_binsubdir="$withval", use_binsubdir="bin")
105 case "$use_binsubdir" in
111 AC_MSG_ERROR([<$use_binsubdir> is illegal - must be "bin" or "sbin"])
114 AC_MSG_RESULT($use_binsubdir)
115 BINSUBDIR=$use_binsubdir
118 AC_MSG_CHECKING(if we want to use arlib)
120 AC_HELP_STRING([--with-arlib], [- Compile the async resolver library?]),
121 [ans=$withval], [ans=no])
124 if test -d $srcdir/arlib
129 AC_CONFIG_SUBDIRS(arlib)
136 AC_HELP_STRING([--without-rpath], [s Disable auto-added -R linker paths]),
137 [ans=$withval], [ans=x])
146 # HMS: Why isn't this $build?
147 # Well, that depends on if we need this for the build toolchain or
148 # for info in the host executable...
149 # I still have no idea which way this should go, but nobody has complained.
152 case "$need_dash_r" in
159 case "$need_dash_r" in
167 AC_CACHE_CHECK(if we should use /dev/clockctl, ac_clockctl,
168 [AC_ARG_ENABLE(clockctl,
169 AC_HELP_STRING([--enable-clockctl], [s Use /dev/clockctl for non-root clock control]),
180 # End of AC_CACHE_CHECK for clockctl
181 AC_CHECK_HEADERS(sys/clockctl.h)
182 case "$ac_clockctl$ac_cv_header_sys_clockctl_h" in
184 AC_DEFINE(HAVE_DROPROOT, ,[Can we drop root privileges?])
188 AC_CACHE_CHECK(if we have linux capabilities (libcap), ac_linuxcaps,
189 [AC_ARG_ENABLE(linuxcaps,
190 AC_HELP_STRING([--enable-linuxcaps], [s Use Linux capabilities for non-root clock control]),
194 # End of AC_CACHE_CHECK for linuxcaps
195 AC_CHECK_HEADERS(sys/capability.h)
196 AC_CHECK_HEADERS(sys/prctl.h)
197 case "$ac_linuxcaps$ac_cv_header_sys_capability_h$ac_cv_header_sys_prctl_h" in
199 AC_DEFINE(HAVE_LINUX_CAPABILITIES, ,[Do we have Linux capabilities?])
200 AC_DEFINE(HAVE_DROPROOT, ,[Can we drop root privileges?])
210 # Quick and dirty sanity check
212 '') AC_MSG_ERROR(Please follow the directions in html/build/hints/vxworks.html!)
215 CFLAGS="$CFLAGS -DSYS_VXWORKS"
221 dnl we need to check for cross compile tools for vxWorks here
229 CFLAGS="$CFLAGS -Wall"
230 # CFLAGS="$CFLAGS -Wcast-align"
231 CFLAGS="$CFLAGS -Wcast-qual"
232 # CFLAGS="$CFLAGS -Wconversion"
233 # CFLAGS="$CFLAGS -Werror"
234 # CFLAGS="$CFLAGS -Wextra"
235 # CFLAGS="$CFLAGS -Wfloat-equal"
236 CFLAGS="$CFLAGS -Wmissing-prototypes"
237 CFLAGS="$CFLAGS -Wpointer-arith"
238 CFLAGS="$CFLAGS -Wshadow"
239 CFLAGS="$CFLAGS -Wstrict-prototypes"
240 # CFLAGS="$CFLAGS -Wtraditional"
241 # CFLAGS="$CFLAGS -Wwrite-strings"
248 CFLAGS="$CFLAGS -posix"
250 dnl This is currently commented out by bor.
251 dnl The new versions of ReliantUNIX round adjtime() interval down
252 dnl to 1/100s (system tick). This makes tickadj actually useless.
253 dnl So, I'd better not use additional flags.
254 dnl I leave it here just in case anybody has better idea
255 dnl mips-sni-sysv4* )
257 dnl # Add flags for 64 bit file access to enable tickadj to access /dev/kmem
259 dnl if getconf _LFS_CFLAGS > /dev/null 2>&1 ; then
260 dnl CFLAGS="$CFLAGS `getconf _LFS_CFLAGS`"
265 ac_busted_vpath_in_make=no
268 *-*-irix6.1*) # 64 bit only
271 *-*-irix6*) # 6.2 (and later?)
272 ac_busted_vpath_in_make=yes
275 ac_busted_vpath_in_make=yes
278 ac_busted_vpath_in_make=yes
282 case "$ac_busted_vpath_in_make$srcdir" in
285 *) case "`${MAKE-make} -v -f /dev/null 2>/dev/null | sed -e 's/GNU Make version \(1-9.]*\).*/\1/' -e q`" in
287 AC_MSG_ERROR(building outside of the main directory requires GNU make)
297 # HMS: From bunnylou/cowbird
302 *) # So far, the only shared library we might use is libopts.
303 # It's a small library - we might as well use a static version of it.
310 AC_PROG_GCC_TRADITIONAL
313 AC_PATH_PROG(PATH_SH, sh)
314 AC_PATH_PROG(PATH_PERL, perl)
320 ac_link="$ac_link $VX_KERNEL"
328 AC_CHECK_LIB(advapi32, main)
332 AC_CHECK_FUNC(gethostent, ,
333 AC_CHECK_LIB(nsl, gethostent, , , $libxnet -lsocket))
334 AC_CHECK_FUNC(openlog, ,
335 AC_CHECK_LIB(gen, openlog, ,
336 AC_CHECK_LIB(syslog, openlog, , , $libxnet -lsocket)))
337 AC_CHECK_LIB(md5, MD5Init, ,
338 AC_CHECK_LIB(md, MD5Init))
339 AC_CHECK_FUNCS(MD5Init)
340 dnl HMS: What a hack...
341 AC_CHECK_HEADERS(readline/history.h readline/readline.h)
342 case "$ac_cv_header_readline_history_h$ac_cv_header_readline_readline_h" in
346 # Ralf Wildenhues: either unset ... or cache READLINE_LIBS
347 unset ac_cv_lib_readline_readline
348 AC_CHECK_LIB(readline, readline, ,
349 AC_MSG_NOTICE([Trying again with -lcurses])
350 unset ac_cv_lib_readline_readline
351 AC_CHECK_LIB(readline, readline,
352 LIBS="-lreadline -lcurses $LIBS"
353 AC_DEFINE(HAVE_LIBREADLINE)
354 AC_DEFINE(HAVE_LIBCURSES, , [Do we have the curses library?]),
355 AC_CHECK_LIB(edit, readline,
356 LIBS="-ledit -lcurses"
357 AC_DEFINE(HAVE_LIBEDIT, , [Do we have the edit library?])
358 AC_DEFINE(HAVE_LIBCURSES, , [Do we have the curses library?])
362 AC_SUBST(READLINE_LIBS)
367 dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt
368 dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt,
369 dnl so only use one of them. Linux (glibc-2.1.2 and -2.2.2, at least)
370 dnl does Strange Things with extra processes using the Posix-compatibility
371 dnl real-time library, so we don't want to use it.
376 AC_CHECK_LIB(rt, sched_setscheduler, ,
377 AC_CHECK_LIB(posix4, sched_setscheduler))
381 AC_CHECK_FUNC(setsockopt, ,
382 [AC_CHECK_LIB(socket, setsockopt)
383 AC_CHECK_LIB(xnet, setsockopt)])
386 AC_CHECK_HEADERS(bstring.h)
387 AC_CHECK_HEADER(dns_sd.h,
388 [AC_CHECK_LIB(dns_sd,
390 [AC_DEFINE(HAVE_DNSREGISTRATION, 1,
391 [Use Rendezvous/DNS-SD registration])])])
392 case "$ac_cv_lib_dns_sd_DNSServiceRegister" in
393 yes) LIBS="-ldns_sd $LIBS" ;;
395 AC_CHECK_HEADERS(errno.h fcntl.h ieeefp.h math.h)
397 # HMS: Lame, but fast.
398 if test -f /etc/redhat-release
402 AC_CHECK_HEADERS(md5.h, [], [],
403 [#if HAVE_SYS_TYPES_H
404 #include <sys/types.h>
408 AC_CHECK_HEADERS(memory.h netdb.h poll.h)
409 AC_CHECK_HEADERS(sched.h sgtty.h stdlib.h string.h termio.h)
410 AC_CHECK_HEADERS(termios.h timepps.h timex.h unistd.h)
413 AC_CHECK_HEADERS(utmpx.h)
414 case "$ac_cv_header_utmpx_h" in
416 *) AC_CHECK_HEADERS(utmp.h) ;;
419 *) AC_CHECK_HEADERS(utmp.h utmpx.h) ;;
421 AC_CHECK_HEADERS(arpa/nameser.h)
422 AC_CHECK_HEADERS(sys/socket.h)
423 AC_CHECK_HEADERS(net/if.h, [], [],
424 [#if HAVE_SYS_SOCKET_H
425 #include <sys/socket.h>
428 AC_CHECK_HEADERS(net/if6.h)
429 AC_CHECK_HEADERS(net/route.h, [], [], [
430 #include <sys/types.h>
431 #include <sys/socket.h>
434 AC_CHECK_HEADERS(netinet/in_system.h netinet/in_systm.h)
435 AC_CHECK_HEADERS(netinet/in.h)
436 AC_CHECK_HEADERS(netinet/ip.h, [], [],
437 [#if HAVE_SYS_TYPES_H
438 #include <sys/types.h>
440 #if HAVE_NETINET_IN_H
441 #include <netinet/in.h>
443 #if HAVE_NETINET_IN_SYSTM_H
444 #include <netinet/in_systm.h>
447 AC_CHECK_HEADERS(netinfo/ni.h, [AC_DEFINE(HAVE_NETINFO, 1, [NetInfo support?])])
448 AC_CHECK_HEADERS(sun/audioio.h sys/audioio.h)
449 dnl AC_CHECK_HEADERS(sys/chudefs.h)
450 AC_CHECK_HEADERS(sys/clkdefs.h sys/file.h)
453 *) AC_CHECK_HEADERS(sys/ioctl.h)
456 AC_CHECK_HEADERS(sys/ipc.h)
457 AC_CHECK_HEADERS(sys/lock.h sys/mman.h sys/modem.h sys/param.h sys/ppsclock.h)
458 # HMS: Check sys/proc.h and sys/resource.h after some others
459 AC_CHECK_HEADERS(sys/ppstime.h)
460 case "$ac_cv_header_sched_h" in
462 *) AC_CHECK_HEADERS(sys/sched.h) ;;
466 AC_CHECK_HEADERS(sys/sio.h)
469 # HMS: Check sys/shm.h after some others
470 AC_CHECK_HEADERS(sys/select.h sys/signal.h sys/sockio.h)
471 # HMS: Checked sys/socket.h earlier
474 *) AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h)
477 AC_CHECK_HEADERS(sys/stat.h sys/stream.h)
478 AC_CHECK_HEADERS(sys/stropts.h sys/sysctl.h sys/syssgi.h sys/systune.h)
479 AC_CHECK_HEADERS(sys/termios.h sys/time.h sys/signal.h)
482 # include <sys/time.h>
487 #include <sys/timepps.h>
488 #ifdef PPS_API_VERS_1
491 ], [AC_CHECK_HEADERS(sys/timepps.h, [], [],
493 # include <sys/time.h>
500 AC_CHECK_HEADERS(sys/timers.h sys/tpro.h sys/types.h sys/wait.h)
504 AC_CHECK_HEADERS(/sys/sync/queue.h /sys/sync/sema.h)
507 AC_CHECK_HEADERS(machine/inline.h sys/pcl720.h sys/i8253.h)
513 AC_CHECK_FUNCS(__adjtimex __ntp_gettime)
516 case "$ac_cv_func___adjtimex" in
519 AC_CHECK_LIB(elf, nlist) dnl Only needed for tickadj...
520 dnl AC_CHECK_LIB(kvm, main, , , -lelf)
521 AC_CHECK_LIB(kvm, main) dnl We already know about -lelf here...
522 AC_CHECK_LIB(ld, nlist)
523 AC_CHECK_LIB(mld, nlist)
524 AC_CHECK_HEADER(nlist.h,
525 [AC_DEFINE(NLIST_STRUCT, 1, [nlist stuff])
526 AC_CACHE_CHECK([for n_un in struct nlist], ac_cv_struct_nlist_n_un,
527 [AC_TRY_COMPILE([#include <nlist.h>],
528 [struct nlist n; n.n_un.n_name = 0;],
529 ac_cv_struct_nlist_n_un=yes, ac_cv_struct_nlist_n_un=no)])
530 if test $ac_cv_struct_nlist_n_un = yes; then
531 AC_DEFINE(NLIST_NAME_UNION, 1, [does struct nlist use a name union?])
537 dnl AC_CHECK_HEADERS(net/if.h, [], [],
538 dnl [#if HAVE_SYS_TYPES_H
539 dnl # include <sys/types.h>
541 dnl #if HAVE_SYS_SOCKET_H
542 dnl # include <sys/socket.h>
546 AC_CHECK_HEADERS(sys/proc.h, [], [],
547 [#if HAVE_SYS_TYPES_H
548 # include <sys/types.h>
551 # include <sys/time.h>
555 AC_CHECK_HEADERS(sys/resource.h, [], [],
557 # include <sys/time.h>
561 AC_CHECK_HEADERS(sys/shm.h, [], [],
562 [#if HAVE_SYS_TYPES_H
563 # include <sys/types.h>
566 # include <sys/ipc.h>
570 AC_CHECK_HEADERS(sys/timex.h, [], [],
572 # include <sys/time.h>
576 AC_CHECK_HEADERS(resolv.h, [], [],
577 [#if HAVE_SYS_TYPES_H
578 #include <sys/types.h>
580 #if HAVE_NETINET_IN_H
581 #include <netinet/in.h>
583 #if HAVE_ARPA_NAMESER_H
584 #include <arpa/nameser.h>
588 AC_CACHE_CHECK(for basic volatile support, ac_cv_c_volatile,
591 ac_cv_c_volatile=yes,
594 case "$ac_cv_c_volatile" in
597 *) AC_DEFINE(volatile, , [Does the compiler like "volatile"?])
601 # AM_C_PROTOTYPES gives us ansi2knr
604 # Assume that solaris2 is Ansi C...
610 AC_CACHE_CHECK(if C compiler permits function prototypes, ac_cv_have_prototypes,
612 extern int foo (short);
613 int foo(short i) { return i; }],[
614 int i;], ac_cv_have_prototypes=yes, ac_cv_have_prototypes=no)
616 if test "$ac_cv_have_prototypes" = yes; then
617 AC_DEFINE(HAVE_PROTOTYPES, 1, [Are function prototypes OK?])
625 AC_CHECK_TYPE(time_t, long)
626 AC_CHECK_SIZEOF(time_t)
627 AC_CHECK_TYPES(uintptr_t)
629 AH_VERBATIM([TYPEDEF_UINTPTR_T],
630 [/* Provide a typedef for uintptr_t? */
631 #ifndef HAVE_UINTPTR_T
632 typedef unsigned int uintptr_t;
633 #define HAVE_UINTPTR_T 1
638 AC_CACHE_CHECK([for u_int8_t], ac_cv_type_u_int8_t,
639 [AC_TRY_COMPILE([#include <sys/types.h>],
640 [u_int8_t len = 42; return 0;],
641 ac_cv_type_u_int8_t=yes,
642 ac_cv_type_u_int8_t=no)
644 if test $ac_cv_type_u_int8_t = yes; then
645 AC_DEFINE(HAVE_TYPE_U_INT8_T, 1, [Does u_int8_t exist?])
648 AC_CACHE_CHECK([for u_int64_t], ac_cv_type_u_int64_t,
649 [AC_TRY_COMPILE([#include <sys/types.h>],
650 [u_int64_t len = 42; return 0;],
651 ac_cv_type_u_int64_t=yes,
652 ac_cv_type_u_int64_t=no)
654 if test $ac_cv_type_u_int64_t = yes; then
655 AC_DEFINE(HAVE_TYPE_U_INT64_T, 1, [Does u_int64_t exist?])
659 # Look for in_port_t.
661 AC_MSG_CHECKING(for in_port_t)
663 #include <sys/types.h>
664 #include <netinet/in.h>],
665 [in_port_t port = 25; return (0);],
669 AC_DEFINE(ISC_PLATFORM_NEEDPORTT, 1, [Do we need our own in_port_t?])
672 AC_CACHE_CHECK(for a fallback value for HZ, ac_cv_var_default_hz,
673 [ac_cv_var_default_hz=100
675 alpha*-dec-osf4*|alpha*-dec-osf5*)
676 ac_cv_var_default_hz=1024
679 ac_cv_var_default_hz=256
682 AC_DEFINE_UNQUOTED(DEFAULT_HZ, $ac_cv_var_default_hz, [What is the fallback value for HZ?])
684 AC_CACHE_CHECK(if we need to override the system's value for HZ, ac_cv_var_override_hz,
685 [ac_cv_var_override_hz=no
687 alpha*-dec-osf4*|alpha*-dec-osf5*)
688 ac_cv_var_override_hz=yes
691 ac_cv_var_override_hz=yes
694 ac_cv_var_override_hz=yes
697 ac_cv_var_override_hz=yes
700 case "$ac_cv_var_override_hz" in
702 AC_DEFINE(OVERRIDE_HZ, 1, [Do we need to override the system's idea of HZ?])
706 dnl AC_CACHE_CHECK(ut_host in struct utmp, ac_cv_func_ut_host_in_utmp,
707 dnl [AC_TRY_LINK([#include <sys/types.h>
708 dnl #include <utmp.h>], [struct utmp ut; ut.ut_host;],
709 dnl ac_cv_func_ut_host_in_utmp=yes, ac_cv_func_ut_host_in_utmp=no)])
710 dnl if test $su_cv_func_ut_host_in_utmp = yes; then
711 dnl AC_DEFINE(HAVE_UT_HOST)
714 dnl AC_MSG_CHECKING(if we can get the system boot time)
715 dnl AC_CACHE_VAL(su_cv_have_boot_time,
716 dnl [AC_EGREP_CPP(yes,
717 dnl [#ifdef HAVE_UTMPX_H
718 dnl #include <utmpx.h>
720 dnl #include <utmp.h>
725 dnl ], su_cv_have_boot_time=yes, su_cv_have_boot_time=no)])
726 dnl AC_MSG_RESULT($su_cv_have_boot_time)
728 AC_CACHE_CHECK(for struct rt_msghdr, ac_cv_struct_rt_msghdr,
730 #include <sys/types.h>
731 #include <sys/socket.h>
733 #include <net/route.h>],
734 [struct rt_msghdr p;],
735 ac_cv_struct_rt_msghdr=yes,
736 ac_cv_struct_rt_msghdr=no)
738 if test $ac_cv_struct_rt_msghdr = yes; then
739 AC_DEFINE(HAS_ROUTING_SOCKET, 1, [Do we have a routing socket (struct rt_msghdr)?])
743 struct sigaction for sa_sigaction,
744 ac_cv_struct_sigaction_has_sa_sigaction,
747 [#include <signal.h>],
748 [struct sigaction act; act.sa_sigaction = 0;],
749 ac_cv_struct_sigaction_has_sa_sigaction=yes,
750 ac_cv_struct_sigaction_has_sa_sigaction=no
754 if test $ac_cv_struct_sigaction_has_sa_sigaction = yes; then
755 AC_DEFINE(HAVE_SA_SIGACTION_IN_STRUCT_SIGACTION, 1, [Obvious...])
758 AC_CACHE_CHECK(for struct ppsclockev, ac_cv_struct_ppsclockev,
760 #include <sys/types.h>
761 #ifdef HAVE_SYS_TERMIOS_H
762 # include <sys/termios.h>
764 #ifdef HAVE_SYS_TIME_H
765 # include <sys/time.h>
767 #ifdef HAVE_SYS_PPSCLOCK_H
768 # include <sys/ppsclock.h>
770 extern struct ppsclockev *pce;
771 return pce->serial;],
772 ac_cv_struct_ppsclockev=yes,
773 ac_cv_struct_ppsclockev=no)
775 if test $ac_cv_struct_ppsclockev = yes; then
776 AC_DEFINE(HAVE_STRUCT_PPSCLOCKEV, 1, [Does a system header define struct ppsclockev?])
779 AC_CACHE_CHECK(struct sockaddr for sa_len, ac_cv_struct_sockaddr_has_sa_len,
781 #include <sys/types.h>
782 #include <sys/socket.h>],[
783 extern struct sockaddr *ps;
785 ac_cv_struct_sockaddr_has_sa_len=yes,
786 ac_cv_struct_sockaddr_has_sa_len=no)
788 if test $ac_cv_struct_sockaddr_has_sa_len = yes; then
789 AC_DEFINE(HAVE_SA_LEN_IN_STRUCT_SOCKADDR, 1, [Should be obvious...])
792 AC_CACHE_CHECK(for struct sockaddr_storage, ac_cv_struct_sockaddr_storage,
794 #include <sys/types.h>
795 #include <sys/socket.h>
796 #include <netinet/in.h>
798 struct sockaddr_storage n;],
799 ac_cv_struct_sockaddr_storage=yes,
800 ac_cv_struct_sockaddr_storage=no)
802 if test $ac_cv_struct_sockaddr_storage = yes; then
803 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, [Does a system header define struct sockaddr_storage?])
806 AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage],
807 ac_cv_have_ss_family_in_struct_ss, [
810 #include <sys/types.h>
811 #include <sys/socket.h>
813 [ struct sockaddr_storage s; s.ss_family = 1; ],
814 [ ac_cv_have_ss_family_in_struct_ss="yes" ],
815 [ ac_cv_have_ss_family_in_struct_ss="no" ],
818 if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
819 AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have ss_family?])
821 # Hack around a problem...
822 # HMS: This is $host because we need the -D if we are building *for* it.
823 # HMS: 061029: Now that we separate the ss_* checks this is causing
824 # a problem - disable it until we get to the bottom of it.
826 XXX*-*-hpux11.11) CPPFLAGS="$CPPFLAGS -D_NETINET_IN6_H"
831 AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage],
832 ac_cv_have___ss_family_in_struct_ss, [
835 #include <sys/types.h>
836 #include <sys/socket.h>
838 [ struct sockaddr_storage s; s.__ss_family = 1; ],
839 [ ac_cv_have___ss_family_in_struct_ss="yes" ],
840 [ ac_cv_have___ss_family_in_struct_ss="no" ]
843 if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
844 AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have __ss_family?])
847 AH_VERBATIM([X_HAVE_SS_FAMILY_IN_SS],
848 [/* Handle ss_family */
849 #if !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE___SS_FAMILY_IN_SS)
850 # define ss_family __ss_family
851 #endif /* !defined(HAVE_SS_FAMILY_IN_SS) && defined(HAVE_SA_FAMILY_IN_SS) */])
853 AC_CACHE_CHECK([for ss_len field in struct sockaddr_storage],
854 ac_cv_have_ss_len_in_struct_ss, [
857 #include <sys/types.h>
858 #include <sys/socket.h>
860 [ struct sockaddr_storage s; s.ss_len = 1; ],
861 [ ac_cv_have_ss_len_in_struct_ss="yes" ],
862 [ ac_cv_have_ss_len_in_struct_ss="no" ],
865 if test "x$ac_cv_have_ss_len_in_struct_ss" = "xyes" ; then
866 AC_DEFINE(HAVE_SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have ss_len?])
869 AC_CACHE_CHECK([for __ss_len field in struct sockaddr_storage],
870 ac_cv_have___ss_len_in_struct_ss, [
873 #include <sys/types.h>
874 #include <sys/socket.h>
876 [ struct sockaddr_storage s; s.__ss_len = 1; ],
877 [ ac_cv_have___ss_len_in_struct_ss="yes" ],
878 [ ac_cv_have___ss_len_in_struct_ss="no" ]
881 if test "x$ac_cv_have___ss_len_in_struct_ss" = "xyes" ; then
882 AC_DEFINE(HAVE___SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have __ss_len?])
885 AH_VERBATIM([X_HAVE_SS_LEN_IN_SS],
887 #if !defined(HAVE_SS_LEN_IN_SS) && defined(HAVE___SS_LEN_IN_SS)
888 # define ss_len __ss_len
889 #endif /* !defined(HAVE_SS_LEN_IN_SS) && defined(HAVE_SA_LEN_IN_SS) */])
891 case "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in
893 AC_CACHE_CHECK([for struct snd_size], ac_cv_struct_snd_size,
895 #ifdef HAVE_MACHINE_SOUNDCARD_H
896 # include <machine/soundcard.h>
898 #ifdef HAVE_SYS_SOUNDCARD_H
899 # include <sys/soundcard.h>
901 extern struct snd_size *ss;
902 return ss->rec_size;],
903 ac_cv_struct_snd_size=yes,
904 ac_cv_struct_snd_size=no)
906 case "$ac_cv_struct_snd_size" in
907 yes) AC_DEFINE(HAVE_STRUCT_SND_SIZE, 1,[Do we have struct snd_size?]) ;;
912 AC_CACHE_CHECK(struct clockinfo for hz, ac_cv_struct_clockinfo_has_hz,
914 #include <sys/time.h>],[
915 extern struct clockinfo *pc;
917 ac_cv_struct_clockinfo_has_hz=yes,
918 ac_cv_struct_clockinfo_has_hz=no)
920 if test $ac_cv_struct_clockinfo_has_hz = yes; then
921 AC_DEFINE(HAVE_HZ_IN_STRUCT_CLOCKINFO, 1, [Obvious...])
924 AC_CACHE_CHECK(struct clockinfo for tickadj, ac_cv_struct_clockinfo_has_tickadj,
926 #include <sys/time.h>],[
927 extern struct clockinfo *pc;
928 return pc->tickadj;],
929 ac_cv_struct_clockinfo_has_tickadj=yes,
930 ac_cv_struct_clockinfo_has_tickadj=no)
932 if test $ac_cv_struct_clockinfo_has_tickadj = yes; then
933 AC_DEFINE(HAVE_TICKADJ_IN_STRUCT_CLOCKINFO, 1, [Obvious...])
936 AC_CACHE_CHECK([for struct timespec], ac_cv_struct_timespec,
938 #include <sys/time.h>
939 /* Under SunOS, timespec is in sys/timepps.h, which needs errno.h and FRAC */
943 #ifdef HAVE_SYS_TIMEPPS_H
944 # define FRAC 4294967296
945 # include <sys/timepps.h>
947 [struct timespec n;],
948 ac_cv_struct_timespec=yes, ac_cv_struct_timespec=no)])
949 if test $ac_cv_struct_timespec = yes; then
950 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, [Do we have struct timespec?])
953 AC_CACHE_CHECK([for struct ntptimeval], ac_cv_struct_ntptimeval,
955 #include <sys/time.h>
956 #include <sys/timex.h>],
957 [struct ntptimeval n;],
958 ac_cv_struct_ntptimeval=yes, ac_cv_struct_ntptimeval=no)])
959 if test $ac_cv_struct_ntptimeval = yes; then
960 AC_DEFINE(HAVE_STRUCT_NTPTIMEVAL, 1, [Do we have struct ntptimeval?])
963 AC_CHECK_MEMBERS([struct ntptimeval.time.tv_nsec], , ,
964 [#ifdef HAVE_SYS_TIME_H
965 #include <sys/time.h>
971 #ifdef HAVE_SYS_TIMEX_H
972 #include <sys/timex.h>
980 AC_C_CHAR_UNSIGNED dnl CROSS_COMPILE?
981 AC_CHECK_SIZEOF(signed char)
983 AC_CHECK_SIZEOF(long)
985 AC_CHECK_TYPES([s_char])
986 case "$ac_cv_c_char_unsigned$ac_cv_sizeof_signed_char$ac_cv_type_s_char" in
988 # We have a typedef for s_char. Might as well believe it...
991 # We have signed chars, can't say 'signed char', no s_char typedef.
992 AC_DEFINE(NEED_S_CHAR_TYPEDEF, 1, [Do we need an s_char typedef?])
995 # We have signed chars, can say 'signed char', no s_char typedef.
996 AC_DEFINE(NEED_S_CHAR_TYPEDEF)
999 # We have unsigned chars, can't say 'signed char', no s_char typedef.
1000 AC_MSG_ERROR(No way to specify a signed character!)
1003 # We have unsigned chars, can say 'signed char', no s_char typedef.
1004 AC_DEFINE(NEED_S_CHAR_TYPEDEF)
1011 # (prr) aix 4.1 doesn't have clock_settime, but in aix 4.3 it's a stub
1012 # (returning ENOSYS). I didn't check 4.2. If, in the future,
1013 # IBM pulls its thumbs out long enough to implement clock_settime,
1014 # this conditional will need to change. Maybe use AC_TRY_RUN
1015 # instead to try to set the time to itself and check errno.
1017 *) AC_CHECK_FUNCS(clock_gettime clock_settime)
1020 AC_CHECK_FUNCS(daemon)
1021 AC_CHECK_FUNCS(finite, ,
1022 [AC_CHECK_FUNCS(isfinite, ,
1023 [AC_MSG_CHECKING(for isfinite with <math.h>)
1026 AC_TRY_LINK([#include <math.h>], [float f = 0.0; isfinite(f)],
1028 AC_DEFINE(HAVE_ISFINITE)],
1031 AC_CHECK_FUNCS(getbootfile getclock getdtablesize)
1033 AC_ARG_ENABLE(getifaddrs,
1034 AC_HELP_STRING([--enable-getifaddrs],
1035 [s Enable the use of getifaddrs() [[yes|no|glibc]].
1036 glibc: Use getifaddrs() in glibc if you know it supports IPv6.]),
1037 want_getifaddrs="$enableval", want_getifaddrs="yes")
1039 case $want_getifaddrs in
1042 # Do we have getifaddrs() ?
1046 # Some recent versions of glibc support getifaddrs() which does not
1047 # provide AF_INET6 addresses while the function provided by the USAGI
1048 # project handles the AF_INET6 case correctly. We need to avoid
1049 # using the former but prefer the latter unless overridden by
1050 # --enable-getifaddrs=glibc.
1051 if test $want_getifaddrs = glibc
1053 AC_CHECK_FUNCS(getifaddrs)
1056 LIBS="-L/usr/local/v6/lib $LIBS"
1057 AC_CHECK_LIB(inet6, getifaddrs,
1058 LIBS="$LIBS -linet6"
1059 AC_DEFINE(HAVE_GETIFADDRS),
1064 AC_CHECK_FUNCS(getifaddrs)
1072 AC_MSG_CHECKING([type of socklen arg for getsockname()])
1073 AC_CACHE_VAL(ac_cv_func_getsockname_arg2,dnl
1074 [AC_CACHE_VAL(ac_cv_func_getsockname_socklen_type,dnl
1075 [for ac_cv_func_getsockname_arg2 in 'struct sockaddr *' 'void *'; do
1076 for ac_cv_func_getsockname_socklen_type in 'socklen_t' 'size_t' 'unsigned int' 'int'; do
1078 [#ifdef HAVE_SYS_TYPES_H
1079 #include <sys/types.h>
1081 #ifdef HAVE_SYS_SOCKET_H
1082 #include <sys/socket.h>
1084 extern getsockname (int, $ac_cv_func_getsockname_arg2, $ac_cv_func_getsockname_socklen_type *);],,dnl
1085 [ac_not_found=no ; break 2], ac_not_found=yes)
1090 if test "$ac_not_found" = yes; then
1091 ac_cv_func_getsockname_socklen_type='socklen_t'
1093 AC_MSG_RESULT([$ac_cv_func_getsockname_socklen_type])
1094 AC_DEFINE_UNQUOTED([GETSOCKNAME_SOCKLEN_TYPE],
1095 $ac_cv_func_getsockname_socklen_type,
1096 [What is getsockname()'s socklen type?])
1098 AC_CHECK_FUNCS(getrusage)
1099 AC_CHECK_FUNC(gettimeofday, ,[
1101 *-*-mpeix*) ac_cv_func_gettimeofday=yes
1107 *) AC_CHECK_FUNCS(getuid)
1110 AC_CHECK_FUNCS(hstrerror)
1113 # Check for if_nametoindex() for IPv6 scoped addresses support
1115 AC_CHECK_FUNC(if_nametoindex, ac_cv_have_if_nametoindex=yes,
1116 ac_cv_have_if_nametoindex=no)
1117 case $ac_cv_have_if_nametoindex in
1121 AC_CHECK_LIB(ipv6, if_nametoindex,
1122 ac_cv_have_if_nametoindex=yes
1123 LIBS="-lipv6 $LIBS",)
1127 case $ac_cv_have_if_nametoindex in
1129 AC_DEFINE(ISC_PLATFORM_HAVEIFNAMETOINDEX, 1, [ISC: do we have if_nametoindex()?])
1133 AC_CHECK_FUNC(inet_ntop, [], [AC_DEFINE(ISC_PLATFORM_NEEDNTOP, 1, [ISC: provide inet_ntop()])])
1134 AC_CHECK_FUNC(inet_pton, [], [AC_DEFINE(ISC_PLATFORM_NEEDPTON, 1, [ISC: provide inet_pton()])])
1135 AC_CHECK_FUNC(inet_aton, [], [AC_DEFINE(ISC_PLATFORM_NEEDATON, 1, [ISC: provide inet_aton()])])
1136 AC_CHECK_FUNCS(K_open kvm_open memcpy memmove memset)
1139 # Just stubs. Idiots.
1141 *) AC_CHECK_FUNCS(mkstemp)
1144 AC_CHECK_FUNCS(mktime)
1147 # Just a stub. Idiots.
1150 # Just a stub in "old" Irix. Idiots.
1153 # there, but more trouble than it is worth for now (resolver problems)
1156 # Apparently there but not working in QNX. Idiots?
1159 # Just a stub. Idiots.
1161 alpha*-dec-osf4*|alpha*-dec-osf5*)
1162 # mlockall is there, as a #define calling memlk via <sys/mman.h>
1163 # Not easy to test for - cheat.
1164 AC_CHECK_FUNCS(memlk, [ac_cv_func_mlockall='yes'])
1165 AC_CHECK_FUNCS(mlockall)
1167 *) AC_CHECK_FUNCS(mlockall)
1170 AC_CHECK_FUNCS(nice nlist)
1175 *) AC_CHECK_FUNCS(ntp_adjtime ntp_gettime)
1178 AC_CHECK_FUNCS(plock pututline pututxline readlink recvmsg rtprio)
1181 # Just a stub in AIX 4. Idiots.
1184 # Just stubs in solaris2.5. Idiots.
1186 *) AC_CHECK_FUNCS(sched_setscheduler)
1189 AC_CHECK_FUNCS(setlinebuf setpgid setpriority setsid)
1190 AC_CHECK_FUNCS(setrlimit)
1191 AC_CHECK_FUNCS(settimeofday, ,[
1193 *-*-mpeix*) ac_cv_func_settimeofday=yes
1196 AC_CHECK_FUNCS(setvbuf sigaction)
1197 AC_CHECK_FUNCS(sigvec sigset sigsuspend stime strchr sysconf sysctl)
1198 AC_CHECK_FUNCS(snprintf strdup strerror strstr)
1199 AC_CHECK_FUNCS(timegm)
1202 # Just stubs. Idiots.
1205 # Just stubs. Idiots.
1208 # Just stubs. Idiots.
1211 # Just stubs. Idiots.
1213 *) AC_CHECK_FUNCS(timer_create timer_settime)
1220 *) AC_CHECK_FUNCS(umask)
1223 AC_CHECK_FUNCS(uname updwtmp updwtmpx vsnprintf vsprintf)
1227 # http://bugs.ntp.isc.org/737
1228 case "$ac_cv_func_recvmsg" in
1230 AC_MSG_CHECKING([if we need extra help to define struct iovec])
1231 AC_CACHE_VAL(ac_cv_struct_iovec_help,dnl
1232 [for ac_cv_struct_iovec_help in '0' '1'; do
1234 [#ifdef HAVE_SYS_TYPES_H
1235 #include <sys/types.h>
1237 #ifdef HAVE_SYS_SOCKET_H
1238 #include <sys/socket.h>
1240 #if $ac_cv_struct_iovec_help
1241 #include <sys/uio.h>
1253 x = recvmsg(s, &mh, flags);
1255 [ac_worked=yes ; break 1], ac_worked=no)
1258 case "$ac_worked$ac_cv_struct_iovec_help" in
1260 AC_DEFINE(HAVE_SYS_UIO_H, 1, [Use sys/uio.h for struct iovec help])
1265 AC_MSG_RESULT([$ans])
1271 AC_DEFINE(SPRINTF_CHAR, 1, [*s*printf() functions are char*])
1275 AC_CACHE_CHECK(number of arguments to gettimeofday(), ac_cv_func_Xettimeofday_nargs,
1276 [AC_TRY_COMPILE([#include <sys/time.h>],[
1277 gettimeofday((struct timeval*)0,(struct timezone*)0);
1278 settimeofday((struct timeval*)0,(struct timezone*)0);
1280 ac_cv_func_Xettimeofday_nargs=2, ac_cv_func_Xettimeofday_nargs=1)
1282 if test $ac_cv_func_Xettimeofday_nargs = 1; then
1283 AC_DEFINE(SYSV_TIMEOFDAY, 1, [Does Xettimeofday take 1 arg?])
1286 AC_CACHE_CHECK(number of arguments taken by setpgrp(), ac_cv_func_setpgrp_nargs,
1288 #ifdef HAVE_SYS_TYPES_H
1289 # include <sys/types.h>
1291 #ifdef HAVE_UNISTD_H
1292 # include <unistd.h>
1295 ac_cv_func_setpgrp_nargs=2, ac_cv_func_setpgrp_nargs=0)
1297 if test $ac_cv_func_setpgrp_nargs = 0; then
1298 AC_DEFINE(HAVE_SETPGRP_0, 1, [define if setpgrp takes 0 arguments])
1302 CFLAGS="$CFLAGS -I$srcdir/include"
1304 AC_CACHE_CHECK(argument pointer type of qsort()'s compare function and base,
1305 ac_cv_func_qsort_argtype,
1307 #include "l_stdlib.h"
1309 #ifdef HAVE_PROTOTYPES
1316 extern sortfunc P((const void *, const void *));
1319 const void *b; { return 0; }
1321 qsort(base, 2, sizeof(char *), sortfunc);
1323 ac_cv_func_qsort_argtype=void, ac_cv_func_qsort_argtype=char)
1325 case "$ac_cv_func_qsort_argtype" in
1327 AC_DEFINE(QSORT_USES_VOID_P, 1, [Does qsort expect to work on "void *" stuff?])
1333 AC_CACHE_CHECK(if we need to declare 'errno', ac_cv_decl_errno,
1334 [AC_TRY_COMPILE([#ifdef HAVE_ERRNO_H
1338 ac_cv_decl_errno=no, ac_cv_decl_errno=yes)])
1339 case "$ac_cv_decl_errno" in
1340 yes) AC_DEFINE(DECL_ERRNO, 1, [Declare errno?]) ;;
1343 dnl FIXME: from ntpd/ntp_intres.c, but there's no info which header produces
1344 dnl the clash. <resolv.h> isn't currently used.
1346 dnl (prr) aix 4.3 defines h_errno as (*(int *)h_errno_which()) for
1347 dnl MT purposes. This makes the line "extern int h_errno" choke
1348 dnl the compiler. Hopefully adding !defined(h_errno) fixes this
1349 dnl without breaking any other platforms.
1351 AC_CACHE_CHECK(if we may declare 'h_errno', ac_cv_decl_h_errno,
1352 [AC_TRY_COMPILE([#include <sys/types.h>
1353 #ifdef HAVE_NETINET_IN_H
1354 #include <netinet/in.h>
1356 #ifdef HAVE_ARPA_NAMESER_H
1357 #include <arpa/nameser.h>
1362 #ifdef HAVE_RESOLV_H
1365 [extern int h_errno;],
1366 ac_cv_decl_h_errno=yes, ac_cv_decl_h_errno=no)])
1367 case "$ac_cv_decl_h_errno" in
1368 yes) AC_DEFINE(DECL_H_ERRNO, 1, [Declare h_errno?]) ;;
1371 dnl See if char *sys_errlist[] is OK.
1372 AC_CACHE_CHECK([[if declaring 'char *sys_errlist[]' is ok]], ac_cv_decl_sys_errlist,
1373 [AC_TRY_COMPILE([#include <stdio.h>
1377 [extern char *sys_errlist[];
1379 ac_cv_decl_sys_errlist=yes, ac_cv_decl_sys_errlist=no)])
1380 case "$ac_cv_decl_sys_errlist" in
1381 yes) AC_DEFINE(CHAR_SYS_ERRLIST, 1, [Declare char *sys_errlist array]) ;;
1384 AC_CACHE_CHECK(if declaring 'syscall()' is ok, ac_cv_decl_syscall,
1386 #ifdef HAVE_SYS_TYPES_H
1387 # include <sys/types.h>
1389 #ifdef HAVE_UNISTD_H
1390 # include <unistd.h>
1392 #ifdef HAVE_PROTOTYPES
1398 [extern int syscall P((int, ...));],
1399 ac_cv_decl_syscall=yes, ac_cv_decl_syscall=no)])
1400 case "$ac_cv_decl_syscall" in
1401 yes) AC_DEFINE(DECL_SYSCALL, 1, [Declare syscall()?]) ;;
1406 AC_DEFINE(DECL_HSTRERROR_0, 1, [Declaration style]) # Needed for XLC under AIX 4.3.2
1409 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style])
1410 AC_DEFINE(DECL_INET_NTOA_0, 1, [Declaration style])
1411 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style])
1412 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style])
1413 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style])
1414 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style])
1415 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style])
1418 AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style])
1419 AC_DEFINE(DECL_STIME_1, 1, [Declaration style])
1422 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style])
1425 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style])
1426 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style])
1427 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style])
1428 AC_DEFINE(DECL_IPC_0, 1, [Declaration style])
1429 AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style])
1430 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style])
1431 AC_DEFINE(DECL_RENAME_0, 1, [Declaration style])
1432 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style])
1433 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style])
1434 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style])
1435 AC_DEFINE(DECL_STDIO_0, 1, [Declaration style])
1436 AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style])
1437 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style])
1438 AC_DEFINE(DECL_TIME_0, 1, [Declaration style])
1439 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style])
1440 AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style])
1443 AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style])
1444 AC_DEFINE(DECL_SETPRIORITY_1, 1, [Declaration style])
1447 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style])
1452 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style])
1453 AC_DEFINE(DECL_BCOPY_0, 1, [Declaration style])
1454 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style])
1455 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style])
1456 AC_DEFINE(DECL_IPC_0, 1, [Declaration style])
1457 AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style])
1458 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style])
1459 AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style])
1460 AC_DEFINE(DECL_RENAME_0, 1, [Declaration style])
1461 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style])
1462 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style])
1463 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style])
1464 AC_DEFINE(DECL_SIGVEC_0, 1, [Declaration style])
1465 case "`basename $ac_cv_prog_CC`" in
1467 *) AC_DEFINE(DECL_STDIO_0, 1, [Declaration style])
1470 AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style])
1471 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style])
1472 AC_DEFINE(DECL_TIME_0, 1, [Declaration style])
1473 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style])
1474 AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style])
1475 AC_DEFINE(DECL_TOUPPER_0, 1, [Declaration style])
1476 AC_DEFINE(DECL_STRERROR_0, 1, [Declaration style])
1479 AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style])
1480 AC_DEFINE(DECL_BZERO_0, 1, [Declaration style])
1481 AC_DEFINE(DECL_CFSETISPEED_0, 1, [Declaration style])
1482 AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style])
1483 AC_DEFINE(DECL_IPC_0, 1, [Declaration style])
1484 AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style])
1485 AC_DEFINE(DECL_NLIST_0, 1, [Declaration style])
1486 AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style])
1487 AC_DEFINE(DECL_SELECT_0, 1, [Declaration style])
1488 AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style])
1489 AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style])
1490 AC_DEFINE(DECL_STIME_0, 1, [Declaration style])
1491 AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style])
1492 AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style])
1498 AC_DEFINE(TERMIOS_NEEDS__SVID3, 1, [Do we need to #define _SVID3 when we #include <termios.h>?])
1502 AC_CACHE_CHECK(if we need extra room for SO_RCVBUF, ac_cv_var_rcvbuf_slop,
1509 ac_cv_var_rcvbuf_slop=$ans])
1510 case "$ac_cv_var_rcvbuf_slop" in
1511 yes) AC_DEFINE(NEED_RCVBUF_SLOP, 1, [Do we need extra room for SO_RCVBUF? (HPUX <8)]) ;;
1514 AC_CACHE_CHECK(if we will open the broadcast socket, ac_cv_var_open_bcast_socket,
1521 ac_cv_var_open_bcast_socket=$ans])
1522 case "$ac_cv_var_open_bcast_socket" in
1523 yes) AC_DEFINE(OPEN_BCAST_SOCKET, 1, [Should we open the broadcast socket?]) ;;
1526 AC_CACHE_CHECK(if we want the HPUX version of FindConfig(), ac_cv_var_hpux_findconfig,
1533 ac_cv_var_hpux_findconfig=$ans])
1534 case "$ac_cv_var_hpux_findconfig" in
1535 yes) AC_DEFINE(NEED_HPUX_FINDCONFIG, 1, [Do we want the HPUX FindConfig()?]) ;;
1538 AC_CACHE_CHECK(if process groups are set with -pid, ac_cv_arg_setpgrp_negpid,
1559 ac_cv_arg_setpgrp_negpid=$ans])
1560 case "$ac_cv_arg_setpgrp_negpid" in
1561 yes) AC_DEFINE(UDP_BACKWARDS_SETOWN, 1, [Do we set process groups with -pid?]) ;;
1564 AC_CACHE_CHECK(if we need a ctty for F_SETOWN, ac_cv_func_ctty_for_f_setown,
1572 *-*-netbsd*3.[0-8]*|*-*-netbsd*[0-2].*|*-*-netbsd*3.99.[0-7])
1584 ac_cv_func_ctty_for_f_setown=$ans]])
1585 case "$ac_cv_func_ctty_for_f_setown" in
1586 yes) AC_DEFINE(USE_FSETOWNCTTY, 1, [Must we have a CTTY for fsetown?]) ;;
1589 AC_CACHE_CHECK(if the OS misses to clear cached routes when more specific routes become available, ac_cv_os_routeupdates,
1597 ac_cv_os_routeupdates=$ans]])
1598 case "$ac_cv_os_routeupdates" in
1599 yes) AC_DEFINE(OS_MISSES_SPECIFIC_ROUTE_UPDATES, 1, [need to recreate sockets on changed routing?]) ;;
1602 AC_CACHE_CHECK(if the OS needs the wildcard socket set to REUSEADDR for binding interface addresses, ac_cv_os_wildcardreuse,
1610 ac_cv_os_wildcardreuse=$ans]])
1611 case "$ac_cv_os_wildcardreuse" in
1612 yes) AC_DEFINE(OS_NEEDS_REUSEADDR_FOR_IFADDRBIND, 1, [wildcard socket needs to set REUSEADDR when binding to interface addresses]) ;;
1616 AC_MSG_CHECKING(if we'll use clock_settime or settimeofday or stime)
1617 case "$ac_cv_func_clock_settime$ac_cv_func_settimeofday$ac_cv_func_stime" in
1620 ans='clock_settime()'
1623 ntp_warning='But clock_settime() would be better (if we had it)'
1624 ans='settimeofday()'
1627 ntp_warning='Which is the worst of the three'
1632 $host) ntp_warning='Which leaves us with nothing to use!'
1638 case "$ntp_warning" in
1640 *) AC_MSG_WARN(*** $ntp_warning ***)
1644 AC_CACHE_CHECK(if we have a losing syscall(), ac_cv_var_syscall_bug,
1652 ac_cv_var_syscall_bug=$ans])
1653 case "$ac_cv_var_syscall_bug" in
1654 yes) AC_DEFINE(SYSCALL_BUG, 1, [Buggy syscall() (Solaris2.4)?]) ;;
1657 AC_CACHE_CHECK(for SIGIO, ac_cv_hdr_def_sigio,
1659 [#include <signal.h>
1663 ], ac_cv_hdr_def_sigio=yes, ac_cv_hdr_def_sigio=no))
1665 dnl Override those system that have a losing SIGIO
1666 AC_CACHE_CHECK(if we want to use signalled IO, ac_cv_var_signalled_io,
1668 case "$ac_cv_hdr_def_sigio" in
1672 alpha*-dec-osf4*|alpha*-dec-osf5*)
1705 ac_cv_var_signalled_io=$ans])
1706 case "$ac_cv_var_signalled_io" in
1707 yes) AC_DEFINE(HAVE_SIGNALED_IO, 1, [Can we use SIGIO for tcp and udp IO?]) ;;
1710 AC_CACHE_CHECK(for SIGPOLL, ac_cv_hdr_def_sigpoll,
1712 [#include <signal.h>
1716 ], ac_cv_hdr_def_sigpoll=yes, ac_cv_hdr_def_sigpoll=no))
1718 AC_CACHE_CHECK(for SIGSYS, ac_cv_hdr_def_sigsys,
1720 [#include <signal.h>
1724 ], ac_cv_hdr_def_sigsys=yes, ac_cv_hdr_def_sigsys=no))
1726 AC_CACHE_CHECK(if we can use SIGPOLL for UDP I/O, ac_cv_var_use_udp_sigpoll,
1728 case "$ac_cv_hdr_def_sigpoll" in
1772 ac_cv_var_use_udp_sigpoll=$ans])
1773 case "$ac_cv_var_use_udp_sigpoll" in
1774 yes) AC_DEFINE(USE_UDP_SIGPOLL, 1, [Can we use SIGPOLL for UDP?]) ;;
1777 AC_CACHE_CHECK(if we can use SIGPOLL for TTY I/O, ac_cv_var_use_tty_sigpoll,
1779 case "$ac_cv_hdr_def_sigpoll" in
1823 ac_cv_var_use_tty_sigpoll=$ans])
1824 case "$ac_cv_var_use_tty_sigpoll" in
1825 yes) AC_DEFINE(USE_TTY_SIGPOLL, 1, [Can we use SIGPOLL for tty IO?]) ;;
1828 case "$ac_cv_header_sys_sio_h" in
1830 AC_CACHE_CHECK(sys/sio.h for TIOCDCDTIMESTAMP, ac_cv_hdr_def_tiocdcdtimestamp,
1832 [#include <sys/sio.h>
1833 #ifdef TIOCDCDTIMESTAMP
1836 ], ac_cv_hdr_def_tiocdcdtimestamp=yes, ac_cv_hdr_def_tiocdcdtimestamp=no))
1840 case "$ac_cv_hdr_def_tiocdcdtimestamp" in
1842 ac_cv_var_oncore_ok=yes
1846 AC_CACHE_CHECK(if nlist() values might require extra indirection,
1847 ac_cv_var_nlist_extra_indirection,
1854 ac_cv_var_nlist_extra_indirection=$ans])
1855 case "$ac_cv_var_nlist_extra_indirection" in
1856 yes) AC_DEFINE(NLIST_EXTRA_INDIRECTION, 1, [Might nlist() values require an extra level of indirection (AIX)?]) ;;
1859 AC_CACHE_CHECK(for a minimum recommended value of tickadj,
1860 ac_cv_var_min_rec_tickadj,
1867 ac_cv_var_min_rec_tickadj=$ans])
1868 case "$ac_cv_var_min_rec_tickadj" in
1870 *) AC_DEFINE_UNQUOTED(MIN_REC_TICKADJ, $ac_cv_var_min_rec_tickadj, [Should we recommend a minimum value for tickadj?]) ;;
1873 AC_CACHE_CHECK(if the TTY code permits PARENB and IGNPAR,
1874 ac_cv_var_no_parenb_ignpar,
1883 i?86-*-freebsd[[123]].*)
1892 ac_cv_var_no_parenb_ignpar=$ans])
1893 case "$ac_cv_var_no_parenb_ignpar" in
1894 yes) AC_DEFINE(NO_PARENB_IGNPAR, 1, [Is there a problem using PARENB and IGNPAR (IRIX)?]) ;;
1897 AC_MSG_CHECKING(if we're including debugging code)
1898 AC_ARG_ENABLE(debugging,
1899 AC_HELP_STRING([--enable-debugging], [+ include debugging code]),
1900 [ntp_ok=$enableval], [ntp_ok=yes])
1901 if test "$ntp_ok" = "yes"; then
1902 AC_DEFINE(DEBUG, 1, [Enable debugging?])
1904 AC_MSG_RESULT($ntp_ok)
1906 AC_MSG_CHECKING(if we including processing time debugging code)
1907 AC_ARG_ENABLE(debug-timing,
1908 AC_HELP_STRING([--enable-debug-timing], [- include processing time debugging code (costs performance)]),
1909 [ntp_ok=$enableval], [ntp_ok=no])
1910 if test "$ntp_ok" = "yes"; then
1911 AC_DEFINE(DEBUG_TIMING, 1, [Enable processing time debugging?])
1913 AC_MSG_RESULT($ntp_ok)
1915 AC_MSG_CHECKING(for a the number of minutes in a DST adjustment)
1916 AC_ARG_ENABLE(dst_minutes,
1917 AC_HELP_STRING([--enable-dst-minutes=60], [+ minutes per DST adjustment]),
1918 [ans=$enableval], [ans=60])
1919 AC_DEFINE_UNQUOTED(DSTMINUTES, $ans, [The number of minutes in a DST adjustment])
1922 AC_CACHE_CHECK(if we have the tty_clk line discipline/streams module,
1924 [case "$ac_cv_header_sys_clkdefs_h$ac_cv_hdr_def_tiocdcdtimestamp" in
1925 *yes*) ac_cv_var_tty_clk=yes ;;
1927 case "$ac_cv_var_tty_clk" in
1928 yes) AC_DEFINE(TTYCLK, 1, [Do we have the tty_clk line discipline/streams module?]) ;;
1931 AC_CACHE_CHECK(for the ppsclock streams module,
1933 ac_cv_var_ppsclock=$ac_cv_struct_ppsclockev)
1934 case "$ac_cv_var_ppsclock" in
1935 yes) AC_DEFINE(PPS, 1, [Do we have the ppsclock streams module?]) ;;
1938 AC_CACHE_CHECK(for kernel multicast support, ac_cv_var_mcast,
1941 i386-sequent-sysv4) ;;
1942 *) AC_EGREP_CPP(yes,
1943 [#include <netinet/in.h>
1944 #ifdef IP_ADD_MEMBERSHIP
1947 ], ac_cv_var_mcast=yes) ;;
1949 case "$ac_cv_var_mcast" in
1951 AC_DEFINE(MCAST, 1, [Does the kernel support multicasting IP?])
1952 AC_CACHE_CHECK([[arg type needed for IP*_MULTICAST_LOOP for setsockopt()]],
1953 ac_cv_var_typeof_ip_multicast_loop,
1955 *-*-netbsd*|*-*-linux*)
1956 ac_cv_var_typeof_ip_multicast_loop=u_int
1959 ac_cv_var_typeof_ip_multicast_loop=BOOL
1961 *) ac_cv_var_typeof_ip_multicast_loop=u_char
1964 AC_DEFINE_UNQUOTED(TYPEOF_IP_MULTICAST_LOOP,
1965 $ac_cv_var_typeof_ip_multicast_loop,
1966 [What type to use for setsockopt])
1970 AC_CACHE_CHECK([[availability of ntp_{adj,get}time()]], ac_cv_var_ntp_syscalls,
1971 [ac_cv_var_ntp_syscalls=no
1972 case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime$ac_cv_func___adjtimex" in
1974 ac_cv_var_ntp_syscalls=libc
1977 ac_cv_var_ntp_syscalls=inline
1979 *) AC_EGREP_CPP(yes,
1980 [#include <sys/syscall.h>
1981 #if defined(SYS_ntp_gettime) && defined(SYS_ntp_adjtime)
1984 ], ac_cv_var_ntp_syscalls=kernel)
1987 case "$ac_cv_var_ntp_syscalls" in
1989 AC_DEFINE(NTP_SYSCALLS_LIBC, 1, [Do we have ntp_{adj,get}time in libc?])
1992 AC_DEFINE(NTP_SYSCALLS_STD, 1, [Do we have ntp_{adj,get}time in the kernel?])
1998 AC_CACHE_CHECK(if sys/timex.h has STA_FLL, ac_cv_var_sta_fll,
2000 [#include <sys/timex.h>
2004 ], ac_cv_var_sta_fll=yes, ac_cv_var_sta_fll=no)])
2006 AC_CACHE_CHECK(if we have kernel PLL support, ac_cv_var_kernel_pll,
2007 [dnl ac_cv_var_ntp_syscalls is {no,libc,kernel}
2008 case "$ac_cv_header_sys_timex_h$ac_cv_struct_ntptimeval$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in
2010 ac_cv_var_kernel_pll=no
2012 *) ac_cv_var_kernel_pll=yes
2015 case "$ac_cv_var_kernel_pll" in
2017 AC_DEFINE(KERNEL_PLL, 1, [Does the kernel support precision time discipline?])
2021 AC_CACHE_CHECK(if SIOCGIFCONF returns buffer size in the buffer, ac_cv_var_size_returned_in_buffer,
2034 ac_cv_var_size_returned_in_buffer=$ans])
2035 case "$ac_cv_var_size_returned_in_buffer" in
2036 yes) AC_DEFINE(SIZE_RETURNED_IN_BUFFER, 1, [Does SIOCGIFCONF return size in the buffer?]) ;;
2039 dnl AC_CACHE_CHECK(if we want GDT surveying code, ac_cv_var_gdt_surveying,
2040 dnl [AC_ARG_ENABLE(gdt-surveying, [ --enable-gdt-surveying - include GDT survey code],
2041 dnl [ans=$enableval], [ans=no])
2042 dnl ac_cv_var_gdt_surveying=$ans])
2043 dnl case "$ac_cv_var_gdt_surveying" in
2044 dnl yes) AC_DEFINE(GDT_SURVEYING, 1, [Include the GDT Surveying code?]) ;;
2047 # Check for ioctls TIOCGPPSEV
2048 AC_MSG_CHECKING(ioctl TIOCGPPSEV)
2049 if test "$ac_cv_header_termios_h" = "yes"; then
2051 [#include <termios.h>
2055 ], ntp_ok=yes, ntp_ok=no)
2059 if test "$ntp_ok" = "yes"; then
2060 AC_DEFINE(HAVE_TIOCGPPSEV, 1, [Do we have the TIOCGPPSEV ioctl (Solaris)?])
2061 ac_cv_var_oncore_ok=yes
2063 AC_MSG_RESULT($ntp_ok)
2065 # Check for ioctls TIOCSPPS
2066 AC_MSG_CHECKING(ioctl TIOCSPPS)
2067 if test "$ac_cv_header_termios_h" = "yes"; then
2069 [#include <termios.h>
2073 ], ntp_ok=yes, ntp_ok=no)
2078 if test "$ntp_ok" = "yes"; then
2079 AC_DEFINE(HAVE_TIOCSPPS, 1, [Do we have the TIOCSPPS ioctl (Solaris)?])
2081 AC_MSG_RESULT($ntp_ok)
2083 # Check for ioctls CIOGETEV
2084 AC_MSG_CHECKING(ioctl CIOGETEV)
2085 if test "$ac_cv_header_sys_ppsclock_h" = "yes"; then
2087 [#include <sys/ppsclock.h>
2091 ], ntp_ok=yes, ntp_ok=no)
2095 if test "$ntp_ok" = "yes"; then
2096 ac_cv_var_oncore_ok=yes
2097 AC_DEFINE(HAVE_CIOGETEV, 1, [Do we have the CIOGETEV ioctl (SunOS, Linux)?])
2099 AC_MSG_RESULT($ntp_ok)
2102 # ATOM/PPSAPI stuff.
2104 # ATOM used to require struct timespec, but that's been fixed now.
2106 # case "$ac_cv_struct_timespec" in
2108 # ac_cv_var_atom_ok=yes
2111 ac_cv_var_atom_ok=yes
2113 # Check for header timepps.h, if found then we have PPS API (Draft RFC) stuff.
2115 # The PPSAPI headers need "inline" ($ac_cv_c_inline='inline')
2117 # The PPSAPI needs struct timespec.
2119 # The PPSAPI also needs a timepps header.
2121 case "$ac_cv_c_inline$ac_cv_struct_timespec" in
2123 case "$ac_cv_header_timepps_h$ac_cv_header_sys_timepps_h$host_os" in
2124 *yes* | *sunos* | *solaris* | *sco* | *netbsd* )
2125 AC_DEFINE(HAVE_PPSAPI, 1, [Do we have the PPS API per the Draft RFC?])
2126 ac_cv_var_jupiter_ok=yes
2127 ac_cv_var_oncore_ok=yes
2128 ac_cv_var_parse_ok=yes
2129 ac_cv_var_ripe_ncc_ok=yes
2135 # Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG
2136 AC_CHECK_HEADER(linux/serial.h)
2137 AC_MSG_CHECKING(ioctl TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG)
2138 case "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in
2141 [#include <sys/time.h>
2144 #include <sys/ppsclock.h>
2145 #include <linux/serial.h>
2149 #ifdef ASYNC_PPS_CD_POS
2150 #ifdef ASYNC_PPS_CD_NEG
2164 if test "$ntp_ok" = "yes"; then
2165 AC_DEFINE(HAVE_TIO_SERIAL_STUFF, 1, [Do we have the TIO serial stuff?])
2167 AC_MSG_RESULT($ntp_ok)
2169 # Check for SHMEM_STATUS support
2170 AC_MSG_CHECKING(SHMEM_STATUS support)
2171 case "$ac_cv_header_sys_mman_h" in
2175 if test "$ntp_ok" = "yes"; then
2176 AC_DEFINE(ONCORE_SHMEM_STATUS, 1, [Do we have support for SHMEM_STATUS?])
2178 AC_MSG_RESULT($ntp_ok)
2180 dnl dnl These are for OPT_PROGRAMS in authstuff/
2181 dnl AC_SUBST(AUTHCERT)
2182 dnl AC_SUBST(AUTHSPEED)
2183 dnl AC_SUBST(MD5DRIVER)
2184 dnl AC_SUBST(KEYPARITY)
2185 dnl AC_SUBST(MAKEIPFP)
2186 dnl AC_SUBST(MAKEPC1)
2187 dnl AC_SUBST(MAKEPC2)
2188 dnl AC_SUBST(MAKESP)
2189 dnl AC_SUBST(MKRANDKEYS)
2190 dnl AC_SUBST(OMAKEIPFP)
2191 dnl AC_SUBST(UNIXCERT)
2195 # HPUX only, and by explicit request
2196 AC_MSG_CHECKING(Datum/Bancomm bc635/VME interface)
2197 AC_ARG_ENABLE(BANCOMM,
2198 AC_HELP_STRING([--enable-BANCOMM], [- Datum/Bancomm bc635/VME interface]),
2199 [ntp_ok=$enableval], [ntp_ok=no])
2200 if test "$ntp_ok" = "yes"; then
2202 AC_DEFINE(CLOCK_BANC, 1, [Datum/Bancomm bc635/VME interface?])
2204 AC_MSG_RESULT($ntp_ok)
2205 case "$ntp_ok$host" in
2207 yes*) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2210 #HPUX only, and only by explicit request
2211 AC_MSG_CHECKING(TrueTime GPS receiver/VME interface)
2212 AC_ARG_ENABLE(GPSVME,
2213 AC_HELP_STRING([--enable-GPSVME], [- TrueTime GPS receiver/VME interface]),
2214 [ntp_ok=$enableval], [ntp_ok=no])
2215 if test "$ntp_ok" = "yes"; then
2217 AC_DEFINE(CLOCK_GPSVME, 1, [TrueTime GPS receiver/VME interface?])
2219 AC_MSG_RESULT($ntp_ok)
2220 case "$ntp_ok$host" in
2222 yes*) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2225 AC_MSG_CHECKING(for PCL720 clock support)
2226 case "$ac_cv_header_machine_inline_h$ac_cv_header_sys_pcl720_h$ac_cv_header_sys_i8253_h" in
2228 AC_DEFINE(CLOCK_PPS720, 1, [PCL 720 clock support])
2237 AC_MSG_CHECKING(for default inclusion of all suitable non-PARSE clocks)
2238 AC_ARG_ENABLE(all-clocks,
2239 AC_HELP_STRING([--enable-all-clocks], [+ include all suitable non-PARSE clocks:]),
2240 [ntp_eac=$enableval], [ntp_eac=yes])
2241 AC_MSG_RESULT($ntp_eac)
2243 # HMS: Should we also require ac_cv_var_parse_ok?
2244 AC_MSG_CHECKING(if we have support for PARSE clocks)
2245 case "$ac_cv_var_atom_ok$ac_cv_header_termio_h$ac_cv_header_termios_h" in
2252 AC_MSG_RESULT($ntp_canparse)
2254 AC_MSG_CHECKING([if we have support for audio clocks])
2255 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
2258 AC_DEFINE(HAVE_AUDIO, , [Do we have audio support?])
2260 *) ntp_canaudio=no ;;
2262 AC_MSG_RESULT($ntp_canaudio)
2264 AC_MSG_CHECKING([if we have support for the SHM refclock interface])
2265 case "$ac_cv_header_sys_ipc_h$ac_cv_header_sys_shm_h" in
2271 AC_MSG_RESULT($ntp_canshm)
2273 # Requires modem control
2274 AC_MSG_CHECKING(ACTS modem service)
2276 AC_HELP_STRING([--enable-ACTS], [s ACTS modem service]),
2277 [ntp_ok=$enableval],
2279 [#include <termios.h>
2280 #ifdef HAVE_SYS_IOCTL_H
2281 #include <sys/ioctl.h>
2286 ], ntp_ok=$ntp_eac, ntp_ok=no)])
2287 if test "$ntp_ok" = "yes"; then
2289 AC_DEFINE(CLOCK_ACTS, 1, [ACTS modem service])
2291 AC_MSG_RESULT($ntp_ok)
2293 AC_MSG_CHECKING(Arbiter 1088A/B GPS receiver)
2294 AC_ARG_ENABLE(ARBITER,
2295 AC_HELP_STRING([--enable-ARBITER], [+ Arbiter 1088A/B GPS receiver]),
2296 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2297 if test "$ntp_ok" = "yes"; then
2299 AC_DEFINE(CLOCK_ARBITER, 1, [Arbiter 1088A/B GPS receiver])
2301 AC_MSG_RESULT($ntp_ok)
2303 AC_MSG_CHECKING(Arcron MSF receiver)
2304 AC_ARG_ENABLE(ARCRON_MSF,
2305 AC_HELP_STRING([--enable-ARCRON-MSF], [+ Arcron MSF receiver]),
2306 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2307 if test "$ntp_ok" = "yes"; then
2309 AC_DEFINE(CLOCK_ARCRON_MSF, 1, [ARCRON support?])
2311 AC_MSG_RESULT($ntp_ok)
2313 AC_MSG_CHECKING(Austron 2200A/2201A GPS receiver)
2314 AC_ARG_ENABLE(AS2201,
2315 AC_HELP_STRING([--enable-AS2201], [+ Austron 2200A/2201A GPS receiver]),
2316 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2317 if test "$ntp_ok" = "yes"; then
2319 AC_DEFINE(CLOCK_AS2201, 1, [Austron 2200A/2201A GPS receiver?])
2321 AC_MSG_RESULT($ntp_ok)
2323 AC_MSG_CHECKING(ATOM PPS interface)
2325 AC_HELP_STRING([--enable-ATOM], [s ATOM PPS interface]),
2326 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2327 case "$ac_cv_var_atom_ok" in
2330 if test "$ntp_ok" = "yes"; then
2332 AC_DEFINE(CLOCK_ATOM, 1, [PPS interface?])
2334 AC_MSG_RESULT($ntp_ok)
2336 AC_MSG_CHECKING(Chrono-log K-series WWVB receiver)
2337 AC_ARG_ENABLE(CHRONOLOG,
2338 AC_HELP_STRING([--enable-CHRONOLOG], [+ Chrono-log K-series WWVB receiver]),
2339 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2340 if test "$ntp_ok" = "yes"; then
2342 AC_DEFINE(CLOCK_CHRONOLOG, 1, [Chronolog K-series WWVB receiver?])
2344 AC_MSG_RESULT($ntp_ok)
2346 AC_MSG_CHECKING(CHU modem/decoder)
2348 AC_HELP_STRING([--enable-CHU], [+ CHU modem/decoder]),
2349 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2350 if test "$ntp_ok" = "yes"; then
2352 AC_DEFINE(CLOCK_CHU, 1, [CHU modem/decoder])
2354 AC_MSG_RESULT($ntp_ok)
2355 ac_refclock_chu=$ntp_ok
2357 AC_MSG_CHECKING(CHU audio/decoder)
2358 AC_ARG_ENABLE(AUDIO-CHU,
2359 AC_HELP_STRING([--enable-AUDIO-CHU], [s CHU audio/decoder]),
2360 [ntp_ok=$enableval],
2361 [case "$ntp_eac$ac_refclock_chu$ntp_canaudio" in
2365 if test "$ntp_ok" = "yes"; then
2366 AC_DEFINE(AUDIO_CHU, 1, [CHU audio/decoder?])
2368 AC_MSG_RESULT($ntp_ok)
2369 # We used to check for sunos/solaris target...
2370 case "$ntp_ok$ac_refclock_chu$ntp_canaudio" in
2371 yes*no*) AC_MSG_WARN(*** But the expected answer is...no ***) ;;
2375 AC_MSG_CHECKING(Datum Programmable Time System)
2376 AC_ARG_ENABLE(DATUM,
2377 AC_HELP_STRING([--enable-DATUM], [s Datum Programmable Time System]),
2378 [ntp_ok=$enableval],
2379 [case "$ac_cv_header_termios_h" in
2386 if test "$ntp_ok" = "yes"; then
2388 AC_DEFINE(CLOCK_DATUM, 1, [Datum Programmable Time System?])
2390 AC_MSG_RESULT($ntp_ok)
2392 AC_MSG_CHECKING(Dumb generic hh:mm:ss local clock)
2393 AC_ARG_ENABLE(DUMBCLOCK,
2394 AC_HELP_STRING([--enable-DUMBCLOCK], [+ Dumb generic hh:mm:ss local clock]),
2395 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2396 if test "$ntp_ok" = "yes"; then
2398 AC_DEFINE(CLOCK_DUMBCLOCK, 1, [Dumb generic hh:mm:ss local clock?])
2400 AC_MSG_RESULT($ntp_ok)
2402 AC_MSG_CHECKING(Forum Graphic GPS)
2404 AC_HELP_STRING([--enable-FG], [+ Forum Graphic GPS]),
2405 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2406 if test "$ntp_ok" = "yes"; then
2408 AC_DEFINE(CLOCK_FG, 1, [Forum Graphic GPS datating station driver?])
2410 AC_MSG_RESULT($ntp_ok)
2412 # Requires modem control
2413 AC_MSG_CHECKING(Heath GC-1000 WWV/WWVH receiver)
2414 AC_ARG_ENABLE(HEATH,
2415 AC_HELP_STRING([--enable-HEATH], [s Heath GC-1000 WWV/WWVH receiver]),
2416 [ntp_ok=$enableval],
2418 [#include <termios.h>
2419 #ifdef HAVE_SYS_IOCTL_H
2420 #include <sys/ioctl.h>
2425 ], ntp_ok=$ntp_eac, ntp_ok=no)])
2426 if test "$ntp_ok" = "yes"; then
2428 AC_DEFINE(CLOCK_HEATH, 1, [Heath GC-1000 WWV/WWVH receiver?])
2430 AC_MSG_RESULT($ntp_ok)
2432 AC_MSG_CHECKING(for hopf serial clock device)
2433 AC_ARG_ENABLE(HOPFSERIAL,
2434 AC_HELP_STRING([--enable-HOPFSERIAL], [+ hopf serial clock device]),
2435 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2436 if test "$ntp_ok" = "yes"; then
2438 AC_DEFINE(CLOCK_HOPF_SERIAL, 1, [HOPF serial clock device?])
2440 AC_MSG_RESULT($ntp_ok)
2442 AC_MSG_CHECKING(for hopf PCI clock 6039)
2443 AC_ARG_ENABLE(HOPFPCI,
2444 AC_HELP_STRING([--enable-HOPFPCI], [+ hopf 6039 PCI board]),
2445 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2446 if test "$ntp_ok" = "yes"; then
2448 AC_DEFINE(CLOCK_HOPF_PCI, 1, [HOPF PCI clock device?])
2450 AC_MSG_RESULT($ntp_ok)
2452 AC_MSG_CHECKING(HP 58503A GPS receiver)
2453 AC_ARG_ENABLE(HPGPS,
2454 AC_HELP_STRING([--enable-HPGPS], [+ HP 58503A GPS receiver]),
2455 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2456 if test "$ntp_ok" = "yes"; then
2458 AC_DEFINE(CLOCK_HPGPS, 1, [HP 58503A GPS receiver?])
2460 AC_MSG_RESULT($ntp_ok)
2462 AC_MSG_CHECKING(IRIG audio decoder)
2464 AC_HELP_STRING([--enable-IRIG], [s IRIG audio decoder]),
2465 [ntp_ok=$enableval],
2466 [case "$ntp_eac$ntp_canaudio" in
2470 if test "$ntp_ok" = "yes"; then
2472 AC_DEFINE(CLOCK_IRIG, 1, [IRIG audio decoder?])
2474 AC_MSG_RESULT($ntp_ok)
2475 case "$ntp_ok$ntp_canaudio" in
2476 yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2479 AC_MSG_CHECKING(for JJY receiver)
2481 AC_HELP_STRING([--enable-JJY], [+ JJY receiver]),
2482 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2483 if test "$ntp_ok" = "yes"; then
2485 AC_DEFINE(CLOCK_JJY, 1, [JJY receiver?])
2487 AC_MSG_RESULT($ntp_ok)
2489 AC_MSG_CHECKING(Rockwell Jupiter GPS receiver)
2490 AC_ARG_ENABLE(JUPITER,
2491 AC_HELP_STRING([--enable-JUPITER], [s Rockwell Jupiter GPS receiver]),
2492 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2493 case "$ac_cv_var_jupiter_ok" in
2496 if test "$ntp_ok" = "yes"; then
2498 AC_DEFINE(CLOCK_JUPITER, 1, [Rockwell Jupiter GPS clock?])
2500 AC_MSG_RESULT($ntp_ok)
2502 AC_MSG_CHECKING(Leitch CSD 5300 Master Clock System Driver)
2503 AC_ARG_ENABLE(LEITCH,
2504 AC_HELP_STRING([--enable-LEITCH], [+ Leitch CSD 5300 Master Clock System Driver]),
2505 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2506 if test "$ntp_ok" = "yes"; then
2508 AC_DEFINE(CLOCK_LEITCH, 1, [Leitch CSD 5300 Master Clock System Driver?])
2510 AC_MSG_RESULT($ntp_ok)
2512 AC_MSG_CHECKING(local clock reference)
2513 AC_ARG_ENABLE(LOCAL-CLOCK,
2514 AC_HELP_STRING([--enable-LOCAL-CLOCK], [+ local clock reference]),
2515 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2516 if test "$ntp_ok" = "yes"; then
2518 AC_DEFINE(CLOCK_LOCAL, 1, [local clock reference?])
2520 AC_MSG_RESULT($ntp_ok)
2522 dnl Bug 340: longstanding unfixed bugs
2523 dnl AC_MSG_CHECKING(EES M201 MSF receiver)
2524 dnl AC_ARG_ENABLE(MSFEES,
2525 dnl AC_HELP_STRING([--enable-MSFEES], [+ EES M201 MSF receiver]),
2526 dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2527 dnl if test "$ntp_ok" = "yes"; then
2528 dnl ntp_refclock=yes
2529 dnl AC_DEFINE(CLOCK_MSFEES, 1, [EES M201 MSF receiver])
2531 dnl AC_MSG_RESULT($ntp_ok)
2534 AC_MSG_CHECKING(Magnavox MX4200 GPS receiver)
2535 AC_ARG_ENABLE(MX4200,
2536 AC_HELP_STRING([--enable-MX4200 ], [s Magnavox MX4200 GPS receiver]),
2537 [ntp_ok=$enableval],
2538 [case "$ac_cv_var_ppsclock" in
2539 yes) ntp_ok=$ntp_eac
2544 if test "$ntp_ok" = "yes"; then
2546 AC_DEFINE(CLOCK_MX4200, 1, [Magnavox MX4200 GPS receiver])
2548 AC_MSG_RESULT($ntp_ok)
2549 case "$ntp_ok$host" in
2550 yes*-*-ultrix*) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2553 AC_MSG_CHECKING(for NeoClock4X receiver)
2554 AC_ARG_ENABLE(NEOCLOCK4X,
2555 AC_HELP_STRING([--enable-NEOCLOCK4X], [+ NeoClock4X DCF77 / TDF receiver]),
2556 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2557 if test "$ntp_ok" = "yes"; then
2559 AC_DEFINE(CLOCK_NEOCLOCK4X, 1, [NeoClock4X])
2561 AC_MSG_RESULT($ntp_ok)
2563 AC_MSG_CHECKING(NMEA GPS receiver)
2565 AC_HELP_STRING([--enable-NMEA], [+ NMEA GPS receiver]),
2566 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2567 if test "$ntp_ok" = "yes"; then
2569 AC_DEFINE(CLOCK_NMEA, 1, [NMEA GPS receiver])
2571 AC_MSG_RESULT($ntp_ok)
2573 AC_MSG_CHECKING(for ONCORE Motorola VP/UT Oncore GPS)
2574 AC_ARG_ENABLE(ONCORE,
2575 AC_HELP_STRING([--enable-ONCORE], [s Motorola VP/UT Oncore GPS receiver]),
2576 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2577 case "$ac_cv_var_oncore_ok" in
2580 if test "$ntp_ok" = "yes"; then
2582 AC_DEFINE(CLOCK_ONCORE, 1, [Motorola UT Oncore GPS])
2584 AC_MSG_RESULT($ntp_ok)
2586 AC_MSG_CHECKING(for Palisade clock)
2587 AC_ARG_ENABLE(PALISADE,
2588 AC_HELP_STRING([--enable-PALISADE], [s Palisade clock]),
2589 [ntp_ok=$enableval],
2590 [case "$ac_cv_header_termios_h" in
2598 if test "$ntp_ok" = "yes"; then
2600 AC_DEFINE(CLOCK_PALISADE, 1, [Palisade clock])
2602 AC_MSG_RESULT($ntp_ok)
2604 AC_MSG_CHECKING(Conrad parallel port radio clock)
2606 AC_HELP_STRING([--enable-PCF ], [+ Conrad parallel port radio clock]),
2607 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2608 if test "$ntp_ok" = "yes"; then
2610 AC_DEFINE(CLOCK_PCF, 1, [Conrad parallel port radio clock])
2612 AC_MSG_RESULT($ntp_ok)
2614 AC_MSG_CHECKING(PST/Traconex 1020 WWV/WWVH receiver)
2616 AC_HELP_STRING([--enable-PST], [+ PST/Traconex 1020 WWV/WWVH receiver]),
2617 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2618 if test "$ntp_ok" = "yes"; then
2620 AC_DEFINE(CLOCK_PST, 1, [PST/Traconex 1020 WWV/WWVH receiver])
2622 AC_MSG_RESULT($ntp_ok)
2624 AC_MSG_CHECKING(RIPENCC specific Trimble driver)
2625 AC_ARG_ENABLE(RIPENCC,
2626 AC_HELP_STRING([--enable-RIPENCC], [- RIPENCC specific Trimble driver]),
2627 [ntp_ok=$enableval], [ntp_ok=no])
2628 # 020629: HMS: s/$ntp_eac -> -/no because of ptr += sprintf(ptr, ...) usage
2629 case "$ac_cv_var_ripe_ncc_ok" in
2632 if test "$ntp_ok" = "yes"; then
2634 AC_DEFINE(CLOCK_RIPENCC, ,[RIPE NCC Trimble clock])
2636 AC_MSG_RESULT($ntp_ok)
2638 # Danny Meyer says SHM compiles (with a few warnings) under Win32.
2639 # For *IX, we need sys/ipc.h and sys/shm.h.
2640 AC_MSG_CHECKING(for SHM clock attached thru shared memory)
2642 AC_HELP_STRING([--enable-SHM], [s SHM clock attached thru shared memory]),
2643 [ntp_ok=$enableval],
2644 [case "$ntp_eac$ntp_canshm" in
2648 if test "$ntp_ok" = "yes"; then
2650 AC_DEFINE(CLOCK_SHM, 1, [clock thru shared memory])
2652 AC_MSG_RESULT($ntp_ok)
2654 AC_MSG_CHECKING(Spectracom 8170/Netclock/2 WWVB receiver)
2655 AC_ARG_ENABLE(SPECTRACOM,
2656 AC_HELP_STRING([--enable-SPECTRACOM], [+ Spectracom 8170/Netclock/2 WWVB receiver]),
2657 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2658 if test "$ntp_ok" = "yes"; then
2660 AC_DEFINE(CLOCK_SPECTRACOM, 1, [Spectracom 8170/Netclock/2 WWVB receiver])
2662 AC_MSG_RESULT($ntp_ok)
2664 AC_MSG_CHECKING(KSI/Odetics TPRO/S GPS receiver/IRIG interface)
2666 AC_HELP_STRING([--enable-TPRO], [s KSI/Odetics TPRO/S GPS receiver/IRIG interface]),
2667 [ntp_ok=$enableval],
2668 [case "$ac_cv_header_sys_tpro_h" in
2675 if test "$ntp_ok" = "yes"; then
2677 AC_DEFINE(CLOCK_TPRO, 1, [KSI/Odetics TPRO/S GPS receiver/IRIG interface])
2679 AC_MSG_RESULT($ntp_ok)
2680 case "$ntp_ok$ac_cv_header_sys_tpro" in
2681 yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2684 dnl Bug 342: longstanding unfixed bugs
2685 dnl AC_MSG_CHECKING(TRAK 8810 GPS receiver)
2686 dnl AC_ARG_ENABLE(TRAK,
2687 dnl AC_HELP_STRING([--enable-TRAK], [+ TRAK 8810 GPS receiver]),
2688 dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2689 dnl if test "$ntp_ok" = "yes"; then
2690 dnl ntp_refclock=yes
2691 dnl AC_DEFINE(CLOCK_TRAK, 1, [TRAK 8810 GPS receiver])
2693 dnl AC_MSG_RESULT($ntp_ok)
2695 # Not on a vax-dec-bsd
2696 AC_MSG_CHECKING(Kinemetrics/TrueTime receivers)
2697 AC_ARG_ENABLE(TRUETIME,
2698 AC_HELP_STRING([--enable-TRUETIME], [s Kinemetrics/TrueTime receivers]),
2699 [ntp_ok=$enableval],
2708 if test "$ntp_ok" = "yes"; then
2710 AC_DEFINE(CLOCK_TRUETIME, 1, [Kinemetrics/TrueTime receivers])
2712 AC_MSG_RESULT($ntp_ok)
2713 case "$ntp_ok$host" in
2714 yesvax-dec-bsd) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2717 AC_MSG_CHECKING(TrueTime 560 IRIG-B decoder)
2718 AC_ARG_ENABLE(TT560,
2719 AC_HELP_STRING([--enable-TT560], [- TrueTime 560 IRIG-B decoder]),
2720 [ntp_ok=$enableval], [ntp_ok=no])
2721 if test "$ntp_ok" = "yes"; then
2723 AC_DEFINE(CLOCK_TT560, , [TrueTime 560 IRIG-B decoder?])
2725 AC_MSG_RESULT($ntp_ok)
2727 AC_MSG_CHECKING(Ultralink M320 WWVB receiver)
2728 AC_ARG_ENABLE(ULINK,
2729 AC_HELP_STRING([--enable-ULINK], [+ Ultralink WWVB receiver]),
2730 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2731 if test "$ntp_ok" = "yes"; then
2733 AC_DEFINE(CLOCK_ULINK, 1, [Ultralink M320 WWVB receiver?])
2735 AC_MSG_RESULT($ntp_ok)
2737 AC_MSG_CHECKING(WWV receiver)
2739 AC_HELP_STRING([--enable-WWV], [s WWV Audio receiver]),
2740 [ntp_ok=$enableval],
2741 [case "$ntp_eac$ntp_canaudio" in
2745 if test "$ntp_ok" = "yes"; then
2747 AC_DEFINE(CLOCK_WWV, 1, [WWV audio driver])
2749 AC_MSG_RESULT($ntp_ok)
2750 case "$ntp_ok$ntp_canaudio" in
2751 yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;;
2754 AC_MSG_CHECKING(for Zyfer receiver)
2755 AC_ARG_ENABLE(ZYFER,
2756 AC_HELP_STRING([--enable-ZYFER], [+ Zyfer GPStarplus receiver]),
2757 [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2758 if test "$ntp_ok" = "yes"; then
2760 AC_DEFINE(CLOCK_ZYFER, 1, [Zyfer GPStarplus])
2762 AC_MSG_RESULT($ntp_ok)
2764 AC_MSG_CHECKING(for default inclusion of all suitable PARSE clocks)
2765 AC_ARG_ENABLE(parse-clocks,
2766 AC_HELP_STRING([--enable-parse-clocks], [- include all suitable PARSE clocks:]),
2767 [ntp_eapc=$enableval],
2769 yes) ntp_eapc=$ntp_canparse ;;
2772 # Delete the next line one of these days
2774 AC_MSG_RESULT($ntp_eapc)
2776 case "$ntp_eac$ntp_eapc$ntp_canparse" in
2778 AC_MSG_ERROR("--enable-parse-clocks" requires "--enable-all-clocks".)
2781 AC_MSG_ERROR(You said "--enable-parse-clocks" but PARSE isn't supported on this platform!)
2790 AC_MSG_CHECKING(Diem Computime Radio Clock)
2791 AC_ARG_ENABLE(COMPUTIME,
2792 AC_HELP_STRING([--enable-COMPUTIME], [s Diem Computime Radio Clock]),
2793 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2794 if test "$ntp_ok" = "yes"; then
2797 AC_DEFINE(CLOCK_COMPUTIME, 1, [Diems Computime Radio Clock?])
2799 AC_MSG_RESULT($ntp_ok)
2800 case "$ntp_ok$ntp_canparse" in
2802 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2806 AC_MSG_CHECKING(ELV/DCF7000 clock)
2807 AC_ARG_ENABLE(DCF7000,
2808 AC_HELP_STRING([--enable-DCF7000], [s ELV/DCF7000 clock]),
2809 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2810 if test "$ntp_ok" = "yes"; then
2813 AC_DEFINE(CLOCK_DCF7000, 1, [ELV/DCF7000 clock?])
2815 AC_MSG_RESULT($ntp_ok)
2816 case "$ntp_ok$ntp_canparse" in
2818 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2822 AC_MSG_CHECKING(HOPF 6021 clock)
2823 AC_ARG_ENABLE(HOPF6021,
2824 AC_HELP_STRING([--enable-HOPF6021 ], [s HOPF 6021 clock]),
2825 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2826 if test "$ntp_ok" = "yes"; then
2829 AC_DEFINE(CLOCK_HOPF6021, 1, [HOPF 6021 clock?])
2831 AC_MSG_RESULT($ntp_ok)
2832 case "$ntp_ok$ntp_canparse" in
2834 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2838 AC_MSG_CHECKING(Meinberg clocks)
2839 AC_ARG_ENABLE(MEINBERG,
2840 AC_HELP_STRING([--enable-MEINBERG], [s Meinberg clocks]),
2841 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2842 if test "$ntp_ok" = "yes"; then
2845 AC_DEFINE(CLOCK_MEINBERG, 1, [Meinberg clocks])
2847 AC_MSG_RESULT($ntp_ok)
2848 case "$ntp_ok$ntp_canparse" in
2850 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2854 AC_MSG_CHECKING(DCF77 raw time code)
2855 AC_ARG_ENABLE(RAWDCF,
2856 AC_HELP_STRING([--enable-RAWDCF], [s DCF77 raw time code]),
2857 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2858 if test "$ntp_ok" = "yes"; then
2863 AC_DEFINE(CLOCK_RAWDCF, 1, [DCF77 raw time code])
2865 AC_MSG_RESULT($ntp_ok)
2866 case "$ntp_ok$ntp_canparse" in
2868 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2872 case "$ntp_rawdcf" in
2874 AC_CACHE_CHECK(if we must enable parity for RAWDCF,
2875 ac_cv_var_rawdcf_parity,
2882 ac_cv_var_rawdcf_parity=$ans])
2883 case "$ac_cv_var_rawdcf_parity" in
2884 yes) AC_DEFINE(RAWDCF_NO_IGNPAR, 1, [Should we not IGNPAR (Linux)?]) ;;
2888 *) # HMS: Is this a good idea?
2889 ac_cv_var_rawdcf_parity=no
2893 AC_MSG_CHECKING(RCC 8000 clock)
2894 AC_ARG_ENABLE(RCC8000,
2895 AC_HELP_STRING([--enable-RCC8000], [s RCC 8000 clock]),
2896 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2897 if test "$ntp_ok" = "yes"; then
2900 AC_DEFINE(CLOCK_RCC8000, 1, [RCC 8000 clock])
2902 AC_MSG_RESULT($ntp_ok)
2903 case "$ntp_ok$ntp_canparse" in
2905 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2909 AC_MSG_CHECKING(Schmid DCF77 clock)
2910 AC_ARG_ENABLE(SCHMID,
2911 AC_HELP_STRING([--enable-SCHMID ], [s Schmid DCF77 clock]),
2912 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2913 if test "$ntp_ok" = "yes"; then
2916 AC_DEFINE(CLOCK_SCHMID, 1, [Schmid DCF77 clock])
2918 AC_MSG_RESULT($ntp_ok)
2919 case "$ntp_ok$ntp_canparse" in
2921 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2925 AC_MSG_CHECKING(Trimble GPS receiver/TAIP protocol)
2926 AC_ARG_ENABLE(TRIMTAIP,
2927 AC_HELP_STRING([--enable-TRIMTAIP], [s Trimble GPS receiver/TAIP protocol]),
2928 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2929 if test "$ntp_ok" = "yes"; then
2932 AC_DEFINE(CLOCK_TRIMTAIP, 1, [Trimble GPS receiver/TAIP protocol])
2934 AC_MSG_RESULT($ntp_ok)
2935 case "$ntp_ok$ntp_canparse" in
2937 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2941 AC_MSG_CHECKING(Trimble GPS receiver/TSIP protocol)
2942 AC_ARG_ENABLE(TRIMTSIP,
2943 AC_HELP_STRING([--enable-TRIMTSIP], [s Trimble GPS receiver/TSIP protocol]),
2944 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2945 if test "$ntp_ok" = "yes"; then
2948 AC_DEFINE(CLOCK_TRIMTSIP, 1, [Trimble GPS receiver/TSIP protocol])
2950 AC_MSG_RESULT($ntp_ok)
2951 case "$ntp_ok$ntp_canparse" in
2953 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2957 AC_MSG_CHECKING(WHARTON 400A Series clock)
2958 AC_ARG_ENABLE(WHARTON,
2959 AC_HELP_STRING([--enable-WHARTON], [s WHARTON 400A Series clock]),
2960 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2961 if test "$ntp_ok" = "yes"; then
2964 AC_DEFINE(CLOCK_WHARTON_400A, 1, [WHARTON 400A Series protocol])
2966 AC_MSG_RESULT($ntp_ok)
2967 case "$ntp_ok$ntp_canparse" in
2969 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2973 AC_MSG_CHECKING(VARITEXT clock)
2974 AC_ARG_ENABLE(VARITEXT,
2975 AC_HELP_STRING([--enable-VARITEXT], [s VARITEXT clock]),
2976 [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
2977 if test "$ntp_ok" = "yes"; then
2980 AC_DEFINE(CLOCK_VARITEXT, 1, [VARITEXT protocol])
2982 AC_MSG_RESULT($ntp_ok)
2983 case "$ntp_ok$ntp_canparse" in
2985 AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
2989 AC_SUBST(MAKE_LIBPARSE)
2990 AC_SUBST(MAKE_LIBPARSE_KERNEL)
2991 AC_SUBST(MAKE_CHECK_Y2K)
2992 AC_MSG_CHECKING(if we need to make and use the parse libraries)
2994 case "$ntp_libparse" in
2997 AC_DEFINE(CLOCK_PARSE, 1, [PARSE driver interface])
2998 LIBPARSE=../libparse/libparse.a
2999 MAKE_LIBPARSE=libparse.a
3000 # HMS: check_y2k trips the 34 year problem now...
3001 false && MAKE_CHECK_Y2K=check_y2k
3002 AC_DEFINE(PPS_SAMPLE, 1, [PPS auxiliary interface for ATOM?])
3003 AC_DEFINE(CLOCK_ATOM)
3012 # AC_SUBST(LIBRSAREF)
3013 # AC_SUBST(MAKE_LIBRSAREF)
3016 AC_SUBST(OPENSSL_INC)
3017 AC_SUBST(OPENSSL_LIB)
3019 AC_MSG_CHECKING(for openssl library directory)
3020 AC_ARG_WITH(openssl-libdir,
3021 AC_HELP_STRING([--with-openssl-libdir], [+ =/something/reasonable]),
3030 ans="/usr/lib /usr/lib/openssl /usr/sfw/lib /usr/local/lib /usr/local/ssl/lib"
3032 *) # Look where they said
3037 *) # Look for libcrypto.a and libssl.a:
3042 test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
3045 test -f $i/libcrypto.so -a -f $i/libssl.so && break
3046 test -f $i/libcrypto.a -a -f $i/libssl.a && break
3063 AC_MSG_CHECKING(for openssl include directory)
3064 AC_ARG_WITH(openssl-incdir,
3065 AC_HELP_STRING([--with-openssl-incdir], [+ =/something/reasonable]),
3074 ans="/usr/include /usr/sfw/include /usr/local/include /usr/local/ssl/include"
3076 *) # Look where they said
3081 *) # look for openssl/opensslconf.h:
3084 test -f $i/openssl/opensslconf.h && break
3100 AC_HELP_STRING([--with-crypto], [+ =openssl]),
3101 [ans=$withval], [ans=yes])
3105 if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INC"
3109 # We have OpenSSL inc/lib - use them.
3111 CPPFLAGS="$CPPFLAGS -I$OPENSSL_INC"
3112 LDFLAGS="$LDFLAGS -L$OPENSSL_LIB"
3113 case "$need_dash_r" in
3114 1) LDFLAGS="$LDFLAGS -R$OPENSSL_LIB"
3117 AC_SUBST(LCRYPTO, [-lcrypto])
3118 AC_DEFINE(OPENSSL, , [Use OpenSSL?])
3119 AC_CHECK_FUNCS(EVP_md2 EVP_mdc2)
3123 AC_MSG_CHECKING(for the level of crypto support)
3126 AC_MSG_CHECKING(if we want to compile with ElectricFence)
3127 AC_ARG_WITH(electricfence,
3128 AC_HELP_STRING([--with-electricfence], [- compile with ElectricFence malloc debugger]),
3129 [ans=$withval], [ans=no])
3133 LIBS="$LIBS \${top_builddir}/ElectricFence/libefence.a"
3134 EF_PROGS="eftest tstheap"
3143 AC_SUBST(MAKE_CHECK_LAYOUT)
3144 AC_MSG_CHECKING(if we want to run check-layout)
3145 case "$cross_compiling$PATH_PERL" in
3147 MAKE_CHECK_LAYOUT=check-layout
3159 AC_MSG_CHECKING(if we can make dcf parse utilities)
3161 if test "$ntp_parseutil" = "yes"; then
3163 *-*-sunos4*|*-*-solaris2*|*-*-linux*|*-*-netbsd*)
3172 AC_SUBST(MAKE_PARSEKMODULE)
3173 AC_MSG_CHECKING(if we can build kernel streams modules for parse)
3175 case "$ntp_parseutil$ac_cv_header_sys_stropts_h" in
3179 case "$ac_cv_var_kernel_pll" in
3181 AC_DEFINE(PPS_SYNC, 1, [PARSE kernel PLL PPS support])
3185 MAKE_PARSEKMODULE=parsestreams.loadable_module.o
3189 MAKE_PARSEKMODULE=parse
3196 AC_MSG_CHECKING(if we need basic refclock support)
3197 if test "$ntp_refclock" = "yes"; then
3198 AC_DEFINE(REFCLOCK, 1, [Basic refclock support?])
3200 AC_MSG_RESULT($ntp_refclock)
3202 dnl Things that can be made in clockstuff/
3203 AC_SUBST(PROPDELAY) dnl Set to "propdelay"
3204 AC_SUBST(CHUTEST) dnl Set to "chutest"
3205 AC_SUBST(CLKTEST) dnl Set to "clktest"
3207 AC_SUBST(MAKE_ADJTIMED)
3208 AC_MSG_CHECKING(if we want HP-UX adjtimed support)
3216 if test "$ans" = "yes"; then
3217 MAKE_ADJTIMED=adjtimed
3218 AC_DEFINE(NEED_HPUX_ADJTIME, 1, [Do we need HPUX adjtime() library support?])
3222 AC_MSG_CHECKING(if we want QNX adjtime support)
3230 if test "$ans" = "yes"; then
3231 AC_DEFINE(NEED_QNX_ADJTIME, 1, [Do we need the qnx adjtime call?])
3235 AC_CACHE_CHECK(if we can read kmem, ac_cv_var_can_kmem,
3236 [AC_ARG_ENABLE(kmem,
3237 AC_HELP_STRING([--enable-kmem], [s read /dev/kmem for tick and/or tickadj]),
3239 [case "$ac_cv_func_nlist$ac_cv_func_K_open$ac_cv_func_kvm_open" in
3250 *-*-domainos) # Won't be found...
3270 ac_cv_var_can_kmem=$ans])
3272 case "$ac_cv_var_can_kmem" in
3274 *) AC_DEFINE(NOKMEM, 1, [Should we NOT read /dev/kmem?]) ;;
3277 AC_CACHE_CHECK(if adjtime is accurate, ac_cv_var_adjtime_is_accurate,
3278 [AC_ARG_ENABLE(accurate-adjtime,
3279 AC_HELP_STRING([--enable-accurate-adjtime], [s the adjtime() call is accurate]),
3288 mips-sgi-irix[[456]]*)
3300 *-*-solaris2.[[01]])
3313 ac_cv_var_adjtime_is_accurate=$ans])
3314 case "$ac_cv_var_adjtime_is_accurate" in
3315 yes) AC_DEFINE(ADJTIME_IS_ACCURATE, 1, [Is adjtime() accurate?]) ;;
3318 AC_CACHE_CHECK([the name of 'tick' in the kernel],
3319 ac_cv_var_nlist_tick,
3322 m68*-hp-hpux*) # HP9000/300?
3350 ac_cv_var_nlist_tick=$ans])
3351 case "$ac_cv_var_nlist_tick" in
3352 ''|no) ;; # HMS: I think we can only get 'no' here...
3353 *) AC_DEFINE_UNQUOTED(K_TICK_NAME, "$ac_cv_var_nlist_tick", [What is the name of TICK in the kernel?]) ;;
3356 AC_CACHE_CHECK([for the units of 'tick'],
3357 ac_cv_var_tick_nano,
3364 ac_cv_var_tick_nano=$ans])
3365 case "$ac_cv_var_tick_nano" in
3367 AC_DEFINE(TICK_NANO, 1, [Is K_TICK_NAME in nanoseconds?])
3371 AC_CACHE_CHECK([the name of 'tickadj' in the kernel],
3372 ac_cv_var_nlist_tickadj,
3375 m68*-hp-hpux*) # HP9000/300?
3406 ans=no # hrestime_adj
3412 ac_cv_var_nlist_tickadj=$ans])
3413 case "$ac_cv_var_nlist_tickadj" in
3414 ''|no) ;; # HMS: I think we can only get 'no' here...
3415 *) AC_DEFINE_UNQUOTED(K_TICKADJ_NAME, "$ac_cv_var_nlist_tickadj", [What is the name of TICKADJ in the kernel?]) ;;
3418 AC_CACHE_CHECK([for the units of 'tickadj'],
3419 ac_cv_var_tickadj_nano,
3426 ac_cv_var_tickadj_nano=$ans])
3427 case "$ac_cv_var_tickadj_nano" in
3429 AC_DEFINE(TICKADJ_NANO, 1, [Is K_TICKADJ_NAME in nanoseconds?])
3433 AC_CACHE_CHECK([half-heartedly for 'dosynctodr' in the kernel],
3434 ac_cv_var_nlist_dosynctodr,
3473 ac_cv_var_nlist_dosynctodr=$ans])
3474 case "$ac_cv_var_nlist_dosynctodr" in
3476 *) AC_DEFINE_UNQUOTED(K_DOSYNCTODR_NAME, "$ac_cv_var_nlist_dosynctodr", [What is (probably) the name of DOSYNCTODR in the kernel?])
3480 AC_CACHE_CHECK([half-heartedly for 'noprintf' in the kernel],
3481 ac_cv_var_nlist_noprintf,
3514 ac_cv_var_nlist_noprintf=$ans])
3515 case "$ac_cv_var_nlist_noprintf" in
3517 *) AC_DEFINE_UNQUOTED(K_NOPRINTF_NAME, "$ac_cv_var_nlist_noprintf", [What is (probably) the name of NOPRINTF in the kernel?])
3521 dnl The tick/tickadj sections were written by Skippy, who never learned
3522 dnl that it's impolite (horridly gross) to show your guts in public.
3525 dnl 10000 80 Unixware
3526 dnl 1000000L/hz tick/16 (Solaris,UXPV,HPUX) && ADJTIME_IS_ACCURATE
3527 dnl 10000 150 sgi IRIX
3528 dnl 1000000L/hz 1000 RS6000 && NOKMEM
3529 dnl 1000000L/hz 668 DOMAINOS && NOKMEM
3530 dnl 1000000L/hz 500/HZ other && NOKMEM
3531 dnl txc.tick 1 Linux
3532 dnl (every / 10) 50 WinNT - tickadj is roughly 500/hz
3533 dnl 1000000L/hz (nlist) (Solaris && !ADJTIME_IS_ACCURATE),
3534 dnl (RS6000 && !NOKMEM), SINIX MIPS
3536 dnl But we'll only use these "values" if we can't find anything else.
3538 AC_CACHE_CHECK(for a default value for 'tick', ac_cv_var_tick,
3539 [AC_ARG_ENABLE(tick,
3540 AC_HELP_STRING([--enable-tick=VALUE], [s force a value for 'tick']),
3568 ac_cv_var_tick=$ans])
3569 case "$ac_cv_var_tick" in
3570 ''|no) ;; # HMS: I think we can only get 'no' here...
3571 *) AC_DEFINE_UNQUOTED(PRESET_TICK, $ac_cv_var_tick, [Preset a value for 'tick'?]) ;;
3574 AC_CACHE_CHECK(for a default value for 'tickadj', ac_cv_var_tickadj,
3575 [AC_ARG_ENABLE(tickadj,
3576 AC_HELP_STRING([--enable-tickadj=VALUE], [s force a value for 'tickadj']),
3581 case "$ac_cv_var_adjtime_is_accurate" in
3582 yes) ans='tick/16' ;;
3592 case "$ac_cv_var_can_kmem" in
3596 *-*-domainos) # Skippy: won't be found...
3597 case "$ac_cv_var_can_kmem" in
3602 case "$ac_cv_var_adjtime_is_accurate" in
3603 yes) ans='tick/16' ;;
3616 case "$ac_cv_var_adjtime_is_accurate" in
3629 ac_cv_var_tickadj=$ans])
3630 case "$ac_cv_var_tickadj" in
3631 ''|no) ;; # HMS: I think we can only get 'no' here...
3632 *) AC_DEFINE_UNQUOTED(PRESET_TICKADJ, $ac_cv_var_tickadj, [Preset a value for 'tickadj'?]) ;;
3635 # Newer versions of ReliantUNIX round adjtime() values down to
3636 # 1/100s (system tick). Sigh ...
3637 # Unfortunately, there is no easy way to know if particular release
3638 # has this "feature" or any obvious way to test for it.
3640 mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX_CLOCK, 1, [Do we want the ReliantUNIX clock hacks?]) ;;
3644 *-*-sco3.2v5*) AC_DEFINE(SCO5_CLOCK, 1, [Do we want the SCO clock hacks?]) ;;
3647 ac_cv_make_tickadj=yes
3648 case "$ac_cv_var_can_kmem$ac_cv_var_tick$ac_cv_var_tickadj" in
3649 nonono) # Don't read KMEM, no presets. Bogus.
3650 AC_MSG_WARN(Can't read kmem, no PRESET_TICK or PRESET_TICKADJ. No tickadj.)
3651 ac_cv_make_tickadj=no
3653 nono*) # Don't read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus.
3654 AC_MSG_WARN(Can't read kmem but no PRESET_TICK. No tickadj.)
3655 ac_cv_make_tickadj=no
3657 no*no) # Don't read KMEM, PRESET_TICK but no PRESET_TICKADJ. Bogus.
3658 AC_MSG_WARN(Can't read kmem but no PRESET_TICKADJ. No tickadj.)
3659 ac_cv_make_tickadj=no
3661 no*) # Don't read KMEM, PRESET_TICK and PRESET_TICKADJ. Cool.
3663 yesnono) # Read KMEM, no presets. Cool.
3665 yesno*) # Read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus.
3666 AC_MSG_WARN(PRESET_TICKADJ is defined but not PRESET_TICK. Please report this.)
3668 yes*no) # Read KMEM, PRESET_TICK but no PRESET_TICKADJ. Cool.
3670 yes*) # READ KMEM, PRESET_TICK and PRESET_TICKADJ.
3672 *) # Generally bogus.
3673 AC_MSG_ERROR(This shouldn't happen.)
3677 AC_SUBST(MAKE_NTPTIME)
3678 AC_CACHE_CHECK(if we want and can make the ntptime utility, ac_cv_make_ntptime,
3680 *) case "$ac_cv_struct_ntptimeval$ac_cv_var_kernel_pll" in
3690 ac_cv_make_ntptime=$ans])
3691 case "$ac_cv_make_ntptime" in
3693 MAKE_NTPTIME=ntptime
3697 AC_SUBST(MAKE_TICKADJ)
3700 # tickadj is pretty useless on newer versions of ReliantUNIX
3702 ac_cv_make_tickadj=no
3705 ac_cv_make_tickadj=no
3708 # DLM says tickadj is a no-no starting with solaris2.5
3710 *-*-solaris2.1[[0-9]]*)
3711 ac_cv_make_tickadj=no
3713 *-*-solaris2.[[0-4]]*) ;;
3714 *) ac_cv_make_tickadj=no ;;
3718 ac_cv_make_tickadj=no
3721 AC_CACHE_CHECK(if we want and can make the tickadj utility, ac_cv_make_tickadj,
3722 ac_cv_make_tickadj=yes)
3723 case "$ac_cv_make_tickadj" in
3725 MAKE_TICKADJ=tickadj
3729 AC_SUBST(MAKE_TIMETRIM)
3730 AC_CACHE_CHECK(if we want and can make the timetrim utility, ac_cv_make_timetrim,
3733 ac_cv_make_timetrim=yes
3736 ac_cv_make_timetrim=yes
3739 ac_cv_make_timetrim=no
3742 case "$ac_cv_make_timetrim" in
3744 MAKE_TIMETRIM=timetrim
3748 AC_SUBST(MAKE_LIBNTPSIM)
3749 AC_SUBST(MAKE_NTPDSIM)
3750 AC_CACHE_CHECK([if we want to build the NTPD simulator], ac_cv_var_ntpd_sim,
3751 [AC_ARG_ENABLE(simulator,
3752 AC_HELP_STRING([--enable-simulator], [- build/install the NTPD simulator?]),
3753 [ans=$enableval], [ans=no])
3754 ac_cv_var_ntpd_sim=$ans])
3755 case "$ac_cv_var_ntpd_sim" in
3757 MAKE_NTPDSIM=ntpdsim
3758 MAKE_LIBNTPSIM=libntpsim.a
3767 LDFLAGS="$LDFLAGS -r"
3773 AC_CACHE_CHECK(if we should always slew the time, ac_cv_var_slew_always,
3774 [AC_ARG_ENABLE(slew-always,
3775 AC_HELP_STRING([--enable-slew-always], [s always slew the time]),
3787 *-*-openvms*) # HMS: won't be found
3794 ac_cv_var_slew_always=$ans])
3795 case "$ac_cv_var_slew_always" in
3796 yes) AC_DEFINE(SLEWALWAYS, 1, [Slew always?]) ;;
3799 AC_CACHE_CHECK(if we should step and slew the time, ac_cv_var_step_slew,
3800 [AC_ARG_ENABLE(step-slew,
3801 AC_HELP_STRING([--enable-step-slew], [s step and slew the time]),
3813 *-*-solaris2.1[[0-9]]*)
3816 *-*-solaris2.[[012]]*)
3819 *-*-sysv4*) # HMS: Does this catch Fujitsu UXP?
3826 ac_cv_var_step_slew=$ans])
3827 case "$ac_cv_var_step_slew" in
3828 yes) AC_DEFINE(STEP_SLEW, 1, [Step, then slew the clock?]) ;;
3831 AC_CACHE_CHECK(if ntpdate should step the time, ac_cv_var_ntpdate_step,
3832 [AC_ARG_ENABLE(ntpdate-step,
3833 AC_HELP_STRING([--enable-ntpdate-step], [s if ntpdate should step the time]),
3843 ac_cv_var_ntpdate_step=$ans])
3844 case "$ac_cv_var_ntpdate_step" in
3845 yes) AC_DEFINE(FORCE_NTPDATE_STEP, 1, [force ntpdate to step the clock if !defined(STEP_SLEW) ?]) ;;
3848 AC_CACHE_CHECK(if we should sync TODR clock every hour, ac_cv_var_sync_todr,
3849 [AC_ARG_ENABLE(hourly-todr-sync,
3850 AC_HELP_STRING([--enable-hourly-todr-sync],
3851 [s if we should sync TODR hourly]),
3857 *-*-openvms*) # HMS: won't be found
3863 ac_cv_var_sync_todr=$ans])
3864 case "$ac_cv_var_sync_todr" in
3865 yes) AC_DEFINE(DOSYNCTODR, 1, [synch TODR hourly?]) ;;
3868 AC_CACHE_CHECK(if we should avoid kernel FLL bug, ac_cv_var_kernel_fll_bug,
3869 [AC_ARG_ENABLE(kernel-fll-bug,
3870 AC_HELP_STRING([--enable-kernel-fll-bug],
3871 [s if we should avoid a kernel FLL bug]),
3884 # Generic_105181-17 and higher
3904 # Generic_106541-07 and higher
3918 ac_cv_var_kernel_fll_bug=$ans])
3919 case "$ac_cv_var_kernel_fll_bug" in
3920 yes) AC_DEFINE(KERNEL_FLL_BUG, 1, [Does the kernel have an FLL bug?]) ;;
3923 AC_CACHE_CHECK(if we should use the IRIG sawtooth filter, ac_cv_var_irig_sucks,
3924 [AC_ARG_ENABLE(irig-sawtooth,
3925 AC_HELP_STRING([--enable-irig-sawtooth],
3926 [s if we should enable the IRIG sawtooth filter]),
3929 *-*-solaris2.[[89]])
3932 *-*-solaris2.1[[0-9]]*)
3939 ac_cv_var_irig_sucks=$ans])
3940 case "$ac_cv_var_irig_sucks" in
3941 yes) AC_DEFINE(IRIG_SUCKS, 1, [Should we use the IRIG sawtooth filter?]) ;;
3944 AC_CACHE_CHECK(if we should enable NIST lockclock scheme, ac_cv_var_nist_lockclock,
3945 [AC_ARG_ENABLE(nist,
3946 AC_HELP_STRING([--enable-nist],
3947 [- if we should enable the NIST lockclock scheme]),
3948 [ans=$enableval],[ans=no])
3949 ac_cv_var_nist_lockclock=$ans])
3950 case "$ac_cv_var_nist_lockclock" in
3951 yes) AC_DEFINE(LOCKCLOCK, 1, [Should we align with the NIST lockclock scheme?]) ;;
3958 if test $ac_cv_struct_sockaddr_has_sa_len = yes; then
3959 AC_DEFINE(ISC_PLATFORM_HAVESALEN, ,[ISC: struct sockaddr as sa_len?])
3962 AC_ARG_ENABLE(ipv6, AC_HELP_STRING([--enable-ipv6], [s use IPv6?]))
3964 case "$enable_ipv6" in
3967 powerpc-ibm-aix4*) ;;
3969 AC_DEFINE(WANT_IPV6, ,[ISC: Want IPv6?])
3977 AC_MSG_CHECKING(for IPv6 structures)
3979 #include <sys/types.h>
3980 #include <sys/socket.h>
3981 #include <netinet/in.h>],
3982 [struct sockaddr_in6 sin6; return (0);],
3989 # See whether IPv6 support is provided via a Kame add-on.
3990 # This is done before other IPv6 linking tests so LIBS is properly set.
3992 AC_MSG_CHECKING(for Kame IPv6 support)
3994 AC_HELP_STRING([--with-kame], [- =/usr/local/v6]),
3995 use_kame="$withval", use_kame="no")
4001 kame_path=/usr/local/v6
4004 kame_path="$use_kame"
4013 if test -f $kame_path/lib/libinet6.a; then
4014 AC_MSG_RESULT($kame_path/lib/libinet6.a)
4015 LIBS="-L$kame_path/lib -linet6 $LIBS"
4017 AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
4019 Please choose the proper path with the following command:
4021 configure --with-kame=PATH
4028 # Whether netinet6/in6.h is needed has to be defined in isc/platform.h.
4029 # Including it on Kame-using platforms is very bad, though, because
4030 # Kame uses #error against direct inclusion. So include it on only
4031 # the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
4032 # This is done before the in6_pktinfo check because that's what
4033 # netinet6/in6.h is needed for.
4037 ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
4038 LWRES_PLATFORM_NEEDNETINET6IN6H="#define LWRES_PLATFORM_NEEDNETINET6IN6H 1"
4039 isc_netinet6in6_hack="#include <netinet6/in6.h>"
4042 ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
4043 LWRES_PLATFORM_NEEDNETINET6IN6H="#undef LWRES_PLATFORM_NEEDNETINET6IN6H"
4044 isc_netinet6in6_hack=""
4049 # This is similar to the netinet6/in6.h issue.
4052 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
4054 # ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
4055 # LWRES_PLATFORM_NEEDNETINETIN6H="#define LWRES_PLATFORM_NEEDNETINETIN6H 1"
4056 AC_DEFINE(ISC_PLATFORM_FIXIN6ISADDR, 1,[Do we need to fix in6isaddr?])
4057 isc_netinetin6_hack="#include <netinet/in6.h>"
4060 # ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
4061 # LWRES_PLATFORM_NEEDNETINETIN6H="#undef LWRES_PLATFORM_NEEDNETINETIN6H"
4062 # ISC_PLATFORM_FIXIN6ISADDR="#undef ISC_PLATFORM_FIXIN6ISADDR"
4063 isc_netinetin6_hack=""
4068 AC_MSG_CHECKING([for struct if_laddrconf])
4070 #include <sys/types.h>
4071 #include <net/if6.h>
4072 ],[ struct if_laddrconf a; ],
4074 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRCONF, ,
4075 [ISC: have struct if_laddrconf?])],
4076 [AC_MSG_RESULT(no)])
4078 AC_MSG_CHECKING([for struct if_laddrreq])
4080 #include <sys/types.h>
4081 #include <net/if6.h>
4082 ],[ struct if_laddrreq a; ],
4084 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRREQ, ,
4085 [ISC: have struct if_laddrreq?])],
4086 [AC_MSG_RESULT(no)])
4088 case "$found_ipv6" in
4090 AC_DEFINE(ISC_PLATFORM_HAVEIPV6, ,[ISC: Have IPv6?])
4092 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], , ,
4094 #include <sys/types.h>
4095 #include <sys/socket.h>
4096 #include <netinet/in.h>
4097 $isc_netinetin6_hack
4098 $isc_netinet6in6_hack
4101 AC_MSG_CHECKING(for in6_pktinfo)
4103 #include <sys/types.h>
4104 #include <sys/socket.h>
4105 #include <netinet/in.h>
4106 $isc_netinetin6_hack
4107 $isc_netinet6in6_hack
4109 [struct in6_pktinfo xyzzy; return (0);],
4111 AC_DEFINE(ISC_PLATFORM_HAVEIN6PKTINFO, ,
4112 [ISC: Have struct in6_pktinfo?])],
4113 [AC_MSG_RESULT(no -- disabling runtime ipv6 support)])
4115 # HMS: Use HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead?
4116 AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
4118 #include <sys/types.h>
4119 #include <sys/socket.h>
4120 #include <netinet/in.h>
4121 $isc_netinetin6_hack
4122 $isc_netinet6in6_hack
4124 [struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
4126 AC_DEFINE(ISC_PLATFORM_HAVESCOPEID, ,
4127 [ISC: Have sin6_scope_id?])],
4128 result="#define LWRES_HAVE_SIN6_SCOPE_ID 1"],
4130 ISC_PLATFORM_HAVESCOPEID="#undef ISC_PLATFORM_HAVESCOPEID"
4131 result="#undef LWRES_HAVE_SIN6_SCOPE_ID"])
4132 LWRES_HAVE_SIN6_SCOPE_ID="$result"
4137 # We need this check run all the time...
4138 AC_MSG_CHECKING(for in6addr_any)
4140 #include <sys/types.h>
4141 #include <sys/socket.h>
4142 #include <netinet/in.h>
4143 $isc_netinetin6_hack
4144 $isc_netinet6in6_hack
4147 [[struct in6_addr in6; in6 = in6addr_any; return (in6.s6_addr[0]);]],
4148 [AC_MSG_RESULT(yes)],
4150 AC_DEFINE(ISC_PLATFORM_NEEDIN6ADDRANY, ,
4151 [ISC: Need in6addr_any?])]
4155 # Look for a sysctl call to get the list of network interfaces.
4157 AC_MSG_CHECKING(for interface list sysctl)
4158 AC_EGREP_CPP(found_rt_iflist, [
4159 #include <sys/param.h>
4160 #include <sys/sysctl.h>
4161 #include <sys/socket.h>
4162 #ifdef NET_RT_IFLIST
4167 AC_DEFINE(HAVE_IFLIST_SYSCTL,1,[ISC: Use iflist_sysctl?])],
4168 [AC_MSG_RESULT(no)])
4172 AC_DEFINE_DIR(NTP_KEYSDIR, sysconfdir, [Default location of crypto key info])
4174 AC_CONFIG_FILES(Makefile)
4175 AC_CONFIG_FILES(ElectricFence/Makefile)
4176 AC_CONFIG_FILES(adjtimed/Makefile)
4177 AC_CONFIG_FILES(clockstuff/Makefile)
4178 AC_CONFIG_FILES(include/Makefile)
4179 AC_CONFIG_FILES(include/isc/Makefile)
4180 AC_CONFIG_FILES(kernel/Makefile)
4181 AC_CONFIG_FILES(kernel/sys/Makefile)
4182 AC_CONFIG_FILES(libntp/Makefile)
4183 AC_CONFIG_FILES(libparse/Makefile)
4184 AC_CONFIG_FILES(ntpd/Makefile)
4185 AC_CONFIG_FILES(ntpdate/Makefile)
4186 AC_CONFIG_FILES(ntpdc/Makefile)
4187 AC_CONFIG_FILES(ntpdc/nl.pl, [chmod +x ntpdc/nl.pl])
4188 AC_CONFIG_FILES(ntpq/Makefile)
4189 AC_CONFIG_FILES(parseutil/Makefile)
4190 AC_CONFIG_FILES(scripts/Makefile)
4191 AC_CONFIG_FILES(scripts/calc_tickadj, [chmod +x scripts/calc_tickadj])
4192 AC_CONFIG_FILES(scripts/checktime, [chmod +x scripts/checktime])
4193 AC_CONFIG_FILES(scripts/freq_adj, [chmod +x scripts/freq_adj])
4194 AC_CONFIG_FILES(scripts/html2man, [chmod +x scripts/html2man])
4195 AC_CONFIG_FILES(scripts/mkver, [chmod +x scripts/mkver])
4196 AC_CONFIG_FILES(scripts/ntp-wait, [chmod +x scripts/ntp-wait])
4197 AC_CONFIG_FILES(scripts/ntpsweep, [chmod +x scripts/ntpsweep])
4198 AC_CONFIG_FILES(scripts/ntptrace, [chmod +x scripts/ntptrace])
4199 AC_CONFIG_FILES(scripts/ntpver, [chmod +x scripts/ntpver])
4200 AC_CONFIG_FILES(scripts/plot_summary, [chmod +x scripts/plot_summary])
4201 AC_CONFIG_FILES(scripts/summary, [chmod +x scripts/summary])
4202 AC_CONFIG_FILES(util/Makefile)
4204 AC_CONFIG_SUBDIRS(sntp)