xref: /freebsd/contrib/ntp/configure.ac (revision f5f40dd6)
12b15cb3dSCy Schubertdnl NTP top-level configure.ac				-*- Autoconf -*-
22b15cb3dSCy Schubertdnl
32b15cb3dSCy Schubertm4_include([sntp/m4/version.m4])
42d4e511cSCy SchubertAC_PREREQ([2.68])
52b15cb3dSCy SchubertAC_INIT(
62b15cb3dSCy Schubert    [ntp],
72b15cb3dSCy Schubert    [VERSION_NUMBER],
8a466cc55SCy Schubert    [https://bugs.ntp.org/],
92b15cb3dSCy Schubert    [],
10a466cc55SCy Schubert    [https://www.ntp.org/]dnl
112b15cb3dSCy Schubert)
122b15cb3dSCy SchubertAC_CONFIG_MACRO_DIR([sntp/m4])
132b15cb3dSCy SchubertAC_CONFIG_AUX_DIR([sntp/libevent/build-aux])
149034852cSGleb SmirnoffAC_LANG([C])
152b15cb3dSCy Schubert
162b15cb3dSCy SchubertAC_PRESERVE_HELP_ORDER
172b15cb3dSCy Schubert
182b15cb3dSCy Schubert# Bump ntp_configure_cache_version for each change to configure.ac or
192b15cb3dSCy Schubert# .m4 files which invalidates cached values from previous configure
202b15cb3dSCy Schubert# runs.
212b15cb3dSCy Schubert#
222b15cb3dSCy Schubert# If the change affects cache variables used only by the main NTP
232b15cb3dSCy Schubert# configure.ac, then only its version number should be bumped, while
242b15cb3dSCy Schubert# the subdir configure.ac version numbers should be unchanged.  The
252b15cb3dSCy Schubert# same is true for a test/variable that is used only by one subdir
262b15cb3dSCy Schubert# being changed incompatibly; only that subdir's cache version needs
272b15cb3dSCy Schubert# bumping.
282b15cb3dSCy Schubert#
292b15cb3dSCy Schubert# If a change affects variables shared by all NTP configure scripts,
302b15cb3dSCy Schubert# please bump the version numbers of each.  If you are not sure, the
312b15cb3dSCy Schubert# safe choice is to bump all on any cache-invalidating change.
322b15cb3dSCy Schubert#
332b15cb3dSCy Schubert# In order to avoid the risk of version stamp collision between -stable
342b15cb3dSCy Schubert# and -dev branches, do not simply increment the version, instead use
352b15cb3dSCy Schubert# the date YYYYMMDD optionally with -HHMM if there is more than one
362b15cb3dSCy Schubert# bump in a day.
372b15cb3dSCy Schubert
38*f5f40dd6SCy Schubertntp_configure_cache_version=20240218
392b15cb3dSCy Schubert
402b15cb3dSCy Schubert# When the cache version of config.cache and configure do not
412b15cb3dSCy Schubert# match, NTP_CACHEVERSION will flush the cache.
422b15cb3dSCy Schubert
432b15cb3dSCy SchubertNTP_CACHEVERSION([main], [$ntp_configure_cache_version])
442b15cb3dSCy Schubert
45a466cc55SCy SchubertAM_INIT_AUTOMAKE([1.15 foreign subdir-objects -Wall -Wno-gnu])
462b15cb3dSCy Schubert
472d4e511cSCy SchubertAM_SILENT_RULES([yes])
482d4e511cSCy Schubert
492b15cb3dSCy SchubertAC_CANONICAL_BUILD
50ea906c41SOllivier RobertAC_CANONICAL_HOST
51ea906c41SOllivier Robertdnl the 'build' machine is where we run configure and compile
52ea906c41SOllivier Robertdnl the 'host' machine is where the resulting stuff runs.
532b15cb3dSCy SchubertAC_DEFINE_UNQUOTED([STR_SYSTEM], ["$host"],
542b15cb3dSCy Schubert    [canonical system (cpu-vendor-os) of where we should run])
552b15cb3dSCy SchubertAC_CONFIG_HEADERS([config.h])
56ea906c41SOllivier Robertdnl AC_ARG_PROGRAM
57ea906c41SOllivier Robert
58*f5f40dd6SCy SchubertAC_MSG_CHECKING([if we should enable build framework help])
59*f5f40dd6SCy SchubertAC_ARG_ENABLE(
60*f5f40dd6SCy Schubert    [build-framework-help],
61*f5f40dd6SCy Schubert    [AS_HELP_STRING(
62*f5f40dd6SCy Schubert	[--enable-build-framework-help],
63*f5f40dd6SCy Schubert	[+ enable build framework help]
64*f5f40dd6SCy Schubert    )],
65*f5f40dd6SCy Schubert    [ntp_ok=$enableval],
66*f5f40dd6SCy Schubert    [ntp_ok=yes]
67*f5f40dd6SCy Schubert)
68*f5f40dd6SCy Schubertcase "$ntp_ok" in
69*f5f40dd6SCy Schubert yes)
70*f5f40dd6SCy Schubert    ntp_cv_build_framework_help=yes ;;
71*f5f40dd6SCy Schubert *) ntp_cv_build_framework_help=no ;;
72*f5f40dd6SCy Schubertesac
73*f5f40dd6SCy SchubertAC_MSG_RESULT([$ntp_ok])
74*f5f40dd6SCy Schubert
752b15cb3dSCy Schubertntp_atom_ok=${ntp_atom_ok=no}
762b15cb3dSCy Schubertntp_oncore_ok=${ntp_oncore_ok=no}
772b15cb3dSCy Schubertntp_parse_ok=${ntp_parse_ok=no}
782b15cb3dSCy Schubertntp_ripe_ncc_ok=${ntp_parse_ok=no}
792b15cb3dSCy Schubertntp_jupiter_ok=${ntp_jupiter_ok=no}
80ea906c41SOllivier Robert
812b15cb3dSCy SchubertNTP_PROG_CC
82f0574f5cSXin LINTP_COMPILER
83f0574f5cSXin LI
842b15cb3dSCy SchubertAC_PROG_YACC
85f0574f5cSXin LIdnl AC_PROG_CC_C_O 	# called by NTP_COMPILER
86a25439b6SCy SchubertAX_C99_STRUCT_INIT
87ea906c41SOllivier Robert
88f0574f5cSXin LINTP_HARDEN([sntp])
89f0574f5cSXin LI
90*f5f40dd6SCy SchubertNTP_VPATH_HACK		dnl used by ntpd/Makefile.am libparse/Makefile.am
912b15cb3dSCy Schubert
922b15cb3dSCy SchubertNTP_LOCINFO([sntp])	dnl takes over from NTP_BINDIR, in NTP_LIBNTP
932b15cb3dSCy Schubert
94a466cc55SCy SchubertAM_PROG_AR
95ea906c41SOllivier Robert
96eb6d21b4SOllivier Robert# So far, the only shared library we might use is libopts.
97eb6d21b4SOllivier Robert# It's a small library - we might as well use a static version of it.
98*f5f40dd6SCy SchubertLT_INIT([disable-shared])
992b15cb3dSCy SchubertAC_SUBST([LIBTOOL_DEPS])
100eb6d21b4SOllivier Robert
1012b15cb3dSCy Schubert# NTP has (so far) been relying on leading-edge autogen, which
1022b15cb3dSCy Schubert# means we need the appropriate corresponding libopts as well.
103ea906c41SOllivier Robert# Therefore, by default:
1042b15cb3dSCy Schubert# - use the version of libopts we ship with
105ea906c41SOllivier Robert# - do not install it
106*f5f40dd6SCy Schubert# - build a static copy (disable-shared - done earlier)
107ea906c41SOllivier Robertcase "${enable_local_libopts+set}" in
108ea906c41SOllivier Robert set) ;;
109ea906c41SOllivier Robert *) enable_local_libopts=yes ;;
110ea906c41SOllivier Robertesac
111ea906c41SOllivier Robertcase "${enable_libopts_install+set}" in
112ea906c41SOllivier Robert set) ;;
113ea906c41SOllivier Robert *) enable_libopts_install=no ;;
114ea906c41SOllivier Robertesac
1152b15cb3dSCy Schubertenable_nls=no
1162b15cb3dSCy SchubertLIBOPTS_CHECK_NOBUILD([sntp/libopts])
117ea906c41SOllivier Robert
1182b15cb3dSCy SchubertNTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent])
119ea906c41SOllivier Robert
1202b15cb3dSCy SchubertNTP_LIBNTP
121ea906c41SOllivier Robert
122ea906c41SOllivier Robertdnl  we need to check for cross compile tools for vxWorks here
123ea906c41SOllivier RobertAC_PROG_AWK
1242b15cb3dSCy SchubertAS_UNSET([ac_cv_prog_AWK])
1252b15cb3dSCy SchubertAC_SUBST([AWK])				dnl scripts/ntpver.in
126ea906c41SOllivier RobertAC_PROG_MAKE_SET
127ea906c41SOllivier Robert
128ea906c41SOllivier RobertAC_PROG_LN_S
129ea906c41SOllivier Robert
1302b15cb3dSCy Schubert
1312b15cb3dSCy SchubertAC_PATH_PROG([PATH_PERL], [perl])
1322b15cb3dSCy Schubertdnl  Saving cached hardcoded paths rather than searching $PATH during a
1332b15cb3dSCy Schubertdnl  cached configure run is an optimization not worth the the cost of
1342b15cb3dSCy Schubertdnl  preventing newly-installed tools from being found.  Short-circuit
1352b15cb3dSCy Schubertdnl  the caching after the tests so preset overrides still work.
1362b15cb3dSCy SchubertAS_UNSET([ac_cv_path_PATH_PERL])
1372b15cb3dSCy SchubertAC_PATH_PROG([PATH_TEST], [test])
1382b15cb3dSCy SchubertAS_UNSET([ac_cv_path_PATH_TEST])
1392b15cb3dSCy Schuberttest -z "$CONFIG_SHELL" && CONFIG_SHELL=/bin/sh
1402b15cb3dSCy SchubertAC_SUBST([CONFIG_SHELL])		dnl for scripts #!/path/to/sh
1412b15cb3dSCy Schubert
1422b15cb3dSCy SchubertAC_ARG_WITH(
1432b15cb3dSCy Schubert    [net-snmp-config],
1442b15cb3dSCy Schubert    [AS_HELP_STRING(
1452b15cb3dSCy Schubert	[--with-net-snmp-config],
1462b15cb3dSCy Schubert	[+ =net-snmp-config]
1472b15cb3dSCy Schubert    )],
1482b15cb3dSCy Schubert    [ans=$withval],
1492b15cb3dSCy Schubert    [ans=yes]
1502b15cb3dSCy Schubert)
1512b15cb3dSCy Schubertcase "$ans" in
1522b15cb3dSCy Schubert no)
1532b15cb3dSCy Schubert    ;;
1542b15cb3dSCy Schubert yes)
1552b15cb3dSCy Schubert    ans=net-snmp-config
1562b15cb3dSCy Schubert    ;;
1572b15cb3dSCy Schubert /*)
1582b15cb3dSCy Schubert    ;;
1592b15cb3dSCy Schubert */*)
1602b15cb3dSCy Schubert    AC_MSG_ERROR([--with-net-snmp-config takes either a name or an absolute path])
1612b15cb3dSCy Schubert    ;;
1622b15cb3dSCy Schubert *)
1632b15cb3dSCy Schubert    ;;
1642b15cb3dSCy Schubertesac
1652b15cb3dSCy SchubertPROG_NET_SNMP_CONFIG=$ans
1662b15cb3dSCy Schubertcase "$PROG_NET_SNMP_CONFIG" in
1672b15cb3dSCy Schubert no) ;;
1682b15cb3dSCy Schubert /*)
1692b15cb3dSCy Schubert    PATH_NET_SNMP_CONFIG=$PROG_NET_SNMP_CONFIG
1702b15cb3dSCy Schubert    ;;
1712b15cb3dSCy Schubert *)
1722b15cb3dSCy Schubert    AC_PATH_PROG([PATH_NET_SNMP_CONFIG], [$PROG_NET_SNMP_CONFIG])
1732b15cb3dSCy Schubert    AS_UNSET([ac_cv_path_PATH_NET_SNMP_CONFIG])
1742b15cb3dSCy Schubert;;
1752b15cb3dSCy Schubertesac
176f0574f5cSXin LIAC_MSG_CHECKING([for net-snmp-config path])
1772b15cb3dSCy SchubertAC_MSG_RESULT([$PATH_NET_SNMP_CONFIG])
178ea906c41SOllivier Robert
179276da39aSCy Schubertcase "$PATH_NET_SNMP_CONFIG" in
180276da39aSCy Schubert /*)	AC_CACHE_CHECK(
181276da39aSCy Schubert	    [for net-snmp version],
182276da39aSCy Schubert	    [ntp_cv_net_snmp_version],
183276da39aSCy Schubert	    [ntp_cv_net_snmp_version=`$PATH_NET_SNMP_CONFIG --version`]
184276da39aSCy Schubert	)
185276da39aSCy Schubert	;;
186276da39aSCy Schubertesac
187276da39aSCy Schubert
188ea906c41SOllivier Robertcase "$host" in
189ea906c41SOllivier Robert *-*-vxworks*)
190ea906c41SOllivier Robert    ac_link="$ac_link $VX_KERNEL"
191ea906c41SOllivier Robert    ;;
192ea906c41SOllivier Robertesac
193ea906c41SOllivier Robert
1942b15cb3dSCy Schubert# HMS: a check for -lnsl used to be here - now being done in NTP_LIBNTP
1952b15cb3dSCy SchubertAC_SEARCH_LIBS([openlog], [gen syslog])
1962b15cb3dSCy Schubert# XXX library list will be in ac_cv_search_openlog
197ea906c41SOllivier Robert
1982b15cb3dSCy Schubert# LIBSECCOMP is off by default -- needs testing with all the features
1992b15cb3dSCy Schubert# Please send bug reports to loganaden@gmail.com
2002b15cb3dSCy SchubertAC_MSG_CHECKING([if we want to use libseccomp sandboxing (EXPERIMENTAL)])
2012b15cb3dSCy SchubertAC_ARG_ENABLE(
2022b15cb3dSCy Schubert    [libseccomp],
2032b15cb3dSCy Schubert    [AS_HELP_STRING(
2042b15cb3dSCy Schubert	[--enable-libseccomp],
2052b15cb3dSCy Schubert	[EXPERIMENTAL: enable support for libseccomp sandboxing (default is no) ]
2062b15cb3dSCy Schubert    )],
2072b15cb3dSCy Schubert    [ntp_ok=$enableval],
2082b15cb3dSCy Schubert    [ntp_ok=no]
2092b15cb3dSCy Schubert)
2102b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2112b15cb3dSCy Schubertcase "$ntp_ok" in
2122b15cb3dSCy Schubert yes)
2132b15cb3dSCy Schubert    AC_SEARCH_LIBS(
2142b15cb3dSCy Schubert	[seccomp_init],
2152b15cb3dSCy Schubert	[seccomp],
2162b15cb3dSCy Schubert	[AC_DEFINE([LIBSECCOMP], [1],
2172b15cb3dSCy Schubert	    [Define to any value to include libseccomp sandboxing.])]
2182b15cb3dSCy Schubert    )
2192b15cb3dSCy Schubert    AC_TRY_RUN([
2202b15cb3dSCy Schubert	#include <stdio.h>
2212b15cb3dSCy Schubert	#include <stdlib.h>
2222b15cb3dSCy Schubert	#include <errno.h>
2232b15cb3dSCy Schubert	#include <sys/prctl.h>
2242b15cb3dSCy Schubert	#include <linux/seccomp.h>
2252b15cb3dSCy Schubert
2262b15cb3dSCy Schubert	int main(void)
2272b15cb3dSCy Schubert	{
2282b15cb3dSCy Schubert		int ret;
2292b15cb3dSCy Schubert		ret = prctl(PR_GET_SECCOMP, 0, 0, 0, 0);
2302b15cb3dSCy Schubert		if (ret < 0) {
2312b15cb3dSCy Schubert			switch (errno) {
2322b15cb3dSCy Schubert			case ENOSYS:
2332b15cb3dSCy Schubert				return 1;
2342b15cb3dSCy Schubert			case EINVAL:
2352b15cb3dSCy Schubert				return 1;
2362b15cb3dSCy Schubert			default:
2372b15cb3dSCy Schubert				return 1;
2382b15cb3dSCy Schubert			}
2392b15cb3dSCy Schubert		}
2402b15cb3dSCy Schubert		ret =
2412b15cb3dSCy Schubert		prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL, 0, 0);
2422b15cb3dSCy Schubert		if (ret < 0) {
2432b15cb3dSCy Schubert			switch (errno) {
2442b15cb3dSCy Schubert			case EINVAL:
2452b15cb3dSCy Schubert				return 1;
2462b15cb3dSCy Schubert			case EFAULT:
2472b15cb3dSCy Schubert				return 0;
2482b15cb3dSCy Schubert			default:
2492b15cb3dSCy Schubert				return 1;
2502b15cb3dSCy Schubert		}
2512b15cb3dSCy Schubert	}
2522b15cb3dSCy Schubertreturn 1;
2532b15cb3dSCy Schubert}
2542b15cb3dSCy Schubert]
2552b15cb3dSCy Schubert, AC_DEFINE([KERN_SECCOMP], 1,
2562b15cb3dSCy Schubert[Define to use libseccomp system call filtering.])
2572b15cb3dSCy Schubert, []
2582b15cb3dSCy Schubert)
259ea906c41SOllivier Robert    ;;
260ea906c41SOllivier Robertesac
261ea906c41SOllivier Robert
2622b15cb3dSCy SchubertNTP_FACILITYNAMES
263ea906c41SOllivier Robert
264ea906c41SOllivier Robertdnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt
265ea906c41SOllivier Robertdnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt,
266ea906c41SOllivier Robertdnl so only use one of them.  Linux (glibc-2.1.2 and -2.2.2, at least)
267ea906c41SOllivier Robertdnl does Strange Things with extra processes using the Posix-compatibility
268ea906c41SOllivier Robertdnl real-time library, so we don't want to use it.
2692b15cb3dSCy Schubertdnl
2702b15cb3dSCy Schubertdnl 081118 Harlan got tired of looking for a way to get the sched*()
2712b15cb3dSCy Schubertdnl functions to link OK with either cc or gcc.
272ea906c41SOllivier Robert
273ea906c41SOllivier Robertcase "$host" in
274eb6d21b4SOllivier Robert *-*-*linux*) ;;
2752b15cb3dSCy Schubert *-*-osf4*) ;;
2762b15cb3dSCy Schubert *-*-osf5*) ;;
277ea906c41SOllivier Robert *)
2782b15cb3dSCy Schubert    # HMS: Make sure we check for -lrt for clock_* before this...
2792b15cb3dSCy Schubert    case "$ac_cv_search_clock_gettime" in
280*f5f40dd6SCy Schubert     '') AC_MSG_FAILURE([Internal Error: Haven't looked for clock_gettime() yet!]) ;;
2812b15cb3dSCy Schubert    esac
2822b15cb3dSCy Schubert    AC_SEARCH_LIBS([sched_setscheduler], [rt posix4])
283ea906c41SOllivier Robert    ;;
284ea906c41SOllivier Robertesac
285ea906c41SOllivier Robert
286*f5f40dd6SCy SchubertAC_CHECK_HEADERS([bstring.h sys/procctl.h])
2872b15cb3dSCy SchubertAC_CHECK_HEADER(
2882b15cb3dSCy Schubert    [dns_sd.h],
2892b15cb3dSCy Schubert    [AC_SEARCH_LIBS(
2902b15cb3dSCy Schubert	[DNSServiceRegister],
2912b15cb3dSCy Schubert	[dns_sd],
2922b15cb3dSCy Schubert	[AC_DEFINE([HAVE_DNSREGISTRATION], [1],
2932b15cb3dSCy Schubert	    [Use Rendezvous/DNS-SD registration])]
2942b15cb3dSCy Schubert    )]
2952b15cb3dSCy Schubert)
2962b15cb3dSCy SchubertAC_CHECK_HEADERS([fcntl.h fnmatch.h ieeefp.h inttypes.h kvm.h math.h])
297ea906c41SOllivier Robert
2982b15cb3dSCy SchubertAC_CHECK_HEADERS([memory.h netdb.h poll.h])
2994990d495SXin LIAC_CHECK_HEADERS([sgtty.h stdatomic.h])
3004990d495SXin LIAC_HEADER_STDBOOL
3014990d495SXin LIAC_CHECK_HEADERS([stdlib.h string.h termio.h])
3022b15cb3dSCy SchubertAC_CHECK_HEADERS([termios.h timepps.h timex.h unistd.h])
303ea906c41SOllivier Robert
304ea906c41SOllivier Robertcase "$host" in
305ea906c41SOllivier Robert *-*-aix*)
3062b15cb3dSCy Schubert    AC_CHECK_HEADERS([utmpx.h])
307ea906c41SOllivier Robert    case "$ac_cv_header_utmpx_h" in
3082b15cb3dSCy Schubert     yes)
3092b15cb3dSCy Schubert	;;
3102b15cb3dSCy Schubert     *)
3112b15cb3dSCy Schubert	AC_CHECK_HEADERS([utmp.h])
3122b15cb3dSCy Schubert	;;
313ea906c41SOllivier Robert    esac
314ea906c41SOllivier Robert    ;;
3152b15cb3dSCy Schubert *)
3162b15cb3dSCy Schubert    AC_CHECK_HEADERS([utmp.h utmpx.h])
3172b15cb3dSCy Schubert    ;;
318ea906c41SOllivier Robertesac
3192b15cb3dSCy Schubert
3202b15cb3dSCy Schubert#
3212b15cb3dSCy Schubert# On Suns only (so far) getpass() truncates the typed password to 8
3222b15cb3dSCy Schubert# characters, but getpassphrase() allows up to 257.  Most systems'
3232b15cb3dSCy Schubert# getpass() does not truncate, at least not so as to affect ntpq and
3242b15cb3dSCy Schubert# ntpdc password prompts.
3252b15cb3dSCy Schubert#
3262b15cb3dSCy Schubert# So check for getpassphrase(), but only on Sun operating systems.
3272b15cb3dSCy Schubert#
3282b15cb3dSCy Schubertcase "$host" in
3292b15cb3dSCy Schubert *-*-sunos*|*-*-solaris*)
3302b15cb3dSCy Schubert    AC_CHECK_FUNCS([getpassphrase])
3312b15cb3dSCy Schubertesac
3322b15cb3dSCy Schubert
3332b15cb3dSCy Schubert
3342b15cb3dSCy SchubertAC_CHECK_HEADERS([net/if6.h])
3352b15cb3dSCy SchubertAC_CHECK_HEADERS([net/route.h], [], [], [
336ea906c41SOllivier Robert    #include <sys/types.h>
337ea906c41SOllivier Robert    #include <sys/socket.h>
338ea906c41SOllivier Robert    #include <net/if.h>
339ea906c41SOllivier Robert])
340eb6d21b4SOllivier Robert
3412b15cb3dSCy SchubertAC_CHECK_HEADERS([netinfo/ni.h])
3422b15cb3dSCy Schubertcase "$ac_cv_header_netinfo_ni_h" in
343eb6d21b4SOllivier Robert yes)
3442b15cb3dSCy Schubert    AC_DEFINE([HAVE_NETINFO], [1], [NetInfo support?])
345eb6d21b4SOllivier Robertesac
3462b15cb3dSCy SchubertAC_CHECK_HEADERS([sun/audioio.h sys/audioio.h sys/file.h])
347ea906c41SOllivier Robertcase "$host" in
3482b15cb3dSCy Schubert *-*-sunos4*)
3492b15cb3dSCy Schubert    ;;
3502b15cb3dSCy Schubert *)
3512b15cb3dSCy Schubert    AC_CHECK_HEADERS([sys/ioctl.h])
352ea906c41SOllivier Robert    ;;
353ea906c41SOllivier Robertesac
3542b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/ipc.h sys/lock.h sys/mman.h])
355ea906c41SOllivier Robert# HMS: Check sys/proc.h and sys/resource.h after some others
3562b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/modem.h sys/ppsclock.h sys/ppstime.h sched.h])
357ea906c41SOllivier Robertcase "$ac_cv_header_sched_h" in
3582b15cb3dSCy Schubert yes)
3592b15cb3dSCy Schubert    ;;
3602b15cb3dSCy Schubert *)
3612b15cb3dSCy Schubert    AC_CHECK_HEADERS([sys/sched.h])
362ea906c41SOllivier Robert    ;;
363ea906c41SOllivier Robertesac
364ea906c41SOllivier Robert# HMS: Check sys/shm.h after some others
3652b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/select.h sys/signal.h sys/sockio.h])
366ea906c41SOllivier Robert# HMS: Checked sys/socket.h earlier
367ea906c41SOllivier Robertcase "$host" in
3682b15cb3dSCy Schubert *-*-netbsd*)
3692b15cb3dSCy Schubert    ;;
3702b15cb3dSCy Schubert *)
3712b15cb3dSCy Schubert    AC_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h])
372ea906c41SOllivier Robert    ;;
373ea906c41SOllivier Robertesac
3742b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/stat.h sys/stream.h stropts.h sys/stropts.h sys/syssgi.h])
3752b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/systune.h sys/termios.h sys/tpro.h sys/wait.h])
3762d4e511cSCy SchubertAC_CHECK_FUNCS([waitpid])
377ea906c41SOllivier Robertcase "$host" in
378ea906c41SOllivier Robert*-convex-*)
3792b15cb3dSCy Schubert    AC_CHECK_HEADERS([/sys/sync/queue.h /sys/sync/sema.h])
380ea906c41SOllivier Robert    ;;
381ea906c41SOllivier Robert*-*-bsdi*)
3822b15cb3dSCy Schubert    AC_CHECK_HEADERS([machine/inline.h sys/pcl720.h sys/i8253.h])
3832b15cb3dSCy Schubert    ;;
3842b15cb3dSCy Schubertesac
3852b15cb3dSCy Schubert
386276da39aSCy Schubertcase "$ac_cv_header_stdatomic_h" in
387276da39aSCy Schubert yes)
388276da39aSCy Schubert	AC_CHECK_FUNCS([atomic_thread_fence])
389276da39aSCy Schubert	AC_CACHE_CHECK(
390276da39aSCy Schubert	    [for atomic_thread_fence()],
391276da39aSCy Schubert	    [ntp_cv_func_atomic_thread_fence],
392276da39aSCy Schubert	    [AC_COMPILE_IFELSE(
393276da39aSCy Schubert		[AC_LANG_PROGRAM(
394276da39aSCy Schubert		    [[
395276da39aSCy Schubert			#include <stdatomic.h>
396276da39aSCy Schubert		    ]],
397276da39aSCy Schubert		    [[
398276da39aSCy Schubert			atomic_thread_fence(memory_order_seq_cst);
399276da39aSCy Schubert		    ]]
400a466cc55SCy Schubert		)],
401276da39aSCy Schubert		[ntp_cv_func_atomic_thread_fence=yes],
402276da39aSCy Schubert		[ntp_cv_func_atomic_thread_fence=no]
403276da39aSCy Schubert	    )]
404276da39aSCy Schubert	)
405276da39aSCy Schubert    ;;
406276da39aSCy Schubertesac
407276da39aSCy Schubert
4082b15cb3dSCy Schubertcase "$host" in
4092b15cb3dSCy Schubert *-*-solaris2.6)
4102b15cb3dSCy Schubert    # Broken...
4112b15cb3dSCy Schubert    ;;
4122b15cb3dSCy Schubert *)
4132b15cb3dSCy Schubert    AC_CHECK_FUNCS([ntp_adjtime ntp_gettime])
414ea906c41SOllivier Robert    ;;
415ea906c41SOllivier Robertesac
416ea906c41SOllivier Robert
417ea906c41SOllivier Robertcase "$host" in
418eb6d21b4SOllivier Robert *-*-*linux*)
4192b15cb3dSCy Schubert    case "$ac_cv_func_ntp_gettime" in
4202b15cb3dSCy Schubert     yes)
421ea906c41SOllivier Robert	;;
422ea906c41SOllivier Robert     *)
4232b15cb3dSCy Schubert	AC_CHECK_FUNCS([__ntp_gettime])
4242b15cb3dSCy Schubert	case "$ac_cv_func___ntp_gettime" in
4252b15cb3dSCy Schubert	 yes)
4262b15cb3dSCy Schubert	    AC_DEFINE([ntp_gettime], [__ntp_gettime], [deviant])
4272b15cb3dSCy Schubert		    AC_DEFINE([HAVE_NTP_GETTIME], [1], [via __ntp_gettime])
4282b15cb3dSCy Schubert	esac
429ea906c41SOllivier Robert	;;
430ea906c41SOllivier Robert    esac
4312b15cb3dSCy Schubert    AC_CHECK_FUNCS([adjtimex])
4322b15cb3dSCy Schubert    case "$ac_cv_func_adjtimex" in
4332b15cb3dSCy Schubert     yes)
4342b15cb3dSCy Schubert	AC_DEFINE([ntp_adjtime], [adjtimex], [deviant])
4352b15cb3dSCy Schubert	AC_DEFINE([HAVE_NTP_ADJTIME], [1], [via adjtimex])
4362b15cb3dSCy Schubert	have_adjtimex=1
4372b15cb3dSCy Schubert	;;
4382b15cb3dSCy Schubert     *)
4392b15cb3dSCy Schubert	AC_CHECK_FUNCS([__adjtimex])
4402b15cb3dSCy Schubert	case "$ac_cv_func___adjtimex" in
4412b15cb3dSCy Schubert	 yes)
4422b15cb3dSCy Schubert	    AC_DEFINE([ntp_adjtime], [__adjtimex], [deviant])
4432b15cb3dSCy Schubert	    AC_DEFINE([HAVE_NTP_ADJTIME], [1], [via __adjtimex])
4442b15cb3dSCy Schubert	    AC_DEFINE([adjtimex], [__adjtimex], [deviant])
4452b15cb3dSCy Schubert	    AC_DEFINE([HAVE_ADJTIMEX], [1], [via __adjtimex])
4462b15cb3dSCy Schubert	    have_adjtimex=1
4472b15cb3dSCy Schubert	esac
4482b15cb3dSCy Schubert	;;
4492b15cb3dSCy Schubert    esac
4502b15cb3dSCy Schubertesac
4512b15cb3dSCy Schubertcase "$have_adjtimex" in
4522b15cb3dSCy Schubert '')
4532b15cb3dSCy Schubert    # nlist stuff is only needed for tickadj.
4542b15cb3dSCy Schubert    saved_LIBS="$LIBS"
4552b15cb3dSCy Schubert    LIBS=
4562b15cb3dSCy Schubert    AC_SEARCH_LIBS([nlist], [elf ld mld])
4572b15cb3dSCy Schubert    # XXX ac_cv_search_nlist will be 'none required', 'no', or '-l...'
4582b15cb3dSCy Schubert    AC_SEARCH_LIBS([kvm_open], [kvm])	dnl We already know about -lelf here...
4592b15cb3dSCy Schubert    # XXX ac_cv_search_kvm_open will be 'none required', 'no', or '-l...'
4602b15cb3dSCy Schubert    AC_CHECK_HEADERS([nlist.h sys/var.h])
4612b15cb3dSCy Schubert    case "$ac_cv_header_nlist_h" in
4622b15cb3dSCy Schubert     yes)
4632b15cb3dSCy Schubert	AC_DEFINE([NLIST_STRUCT], [1], [nlist stuff])
4642b15cb3dSCy Schubert	AC_CACHE_CHECK(
4652b15cb3dSCy Schubert	    [for n_un in struct nlist],
4662b15cb3dSCy Schubert	    [ntp_cv_struct_nlist_n_un],
4672b15cb3dSCy Schubert	    [AC_COMPILE_IFELSE(
4682b15cb3dSCy Schubert		[AC_LANG_PROGRAM(
4692b15cb3dSCy Schubert		    [[
4702b15cb3dSCy Schubert			#include <nlist.h>
4712b15cb3dSCy Schubert		    ]],
4722b15cb3dSCy Schubert		    [[
4732b15cb3dSCy Schubert			struct nlist n;
4742b15cb3dSCy Schubert			n.n_un.n_name = 0;
4752b15cb3dSCy Schubert		    ]]
476a466cc55SCy Schubert		)],
4772b15cb3dSCy Schubert		[ntp_cv_struct_nlist_n_un=yes],
4782b15cb3dSCy Schubert		[ntp_cv_struct_nlist_n_un=no]
4792b15cb3dSCy Schubert	    )]
4802b15cb3dSCy Schubert	)
4812b15cb3dSCy Schubert	case "$ntp_cv_struct_nlist_n_un" in
4822b15cb3dSCy Schubert	 yes)
4832b15cb3dSCy Schubert	    AC_DEFINE([NLIST_NAME_UNION], [1],
4842b15cb3dSCy Schubert		[does struct nlist use a name union?])
4852b15cb3dSCy Schubert	esac
4862b15cb3dSCy Schubert    esac
4872b15cb3dSCy Schubert    AC_SUBST([LDADD_NLIST])
4882b15cb3dSCy Schubert    LDADD_NLIST="$LIBS"
4892b15cb3dSCy Schubert    LIBS="$saved_LIBS"
4902b15cb3dSCy Schubert    AS_UNSET([saved_LIBS])
4912b15cb3dSCy Schubertesac
492ea906c41SOllivier Robert
4932b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/proc.h], [], [], [
4942b15cb3dSCy Schubert    #ifdef HAVE_SYS_TYPES_H
495ea906c41SOllivier Robert    # include <sys/types.h>
496ea906c41SOllivier Robert    #endif
4972b15cb3dSCy Schubert    #ifdef HAVE_SYS_TIME_H
498ea906c41SOllivier Robert    # include <sys/time.h>
499ea906c41SOllivier Robert    #endif
500ea906c41SOllivier Robert])
501ea906c41SOllivier Robert
5022b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/resource.h], [], [], [
5032b15cb3dSCy Schubert    #ifdef HAVE_SYS_TIME_H
504ea906c41SOllivier Robert    # include <sys/time.h>
505ea906c41SOllivier Robert    #endif
506ea906c41SOllivier Robert])
507ea906c41SOllivier Robert
5082b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/shm.h], [], [], [
5092b15cb3dSCy Schubert    #ifdef HAVE_SYS_TYPES_H
510ea906c41SOllivier Robert    # include <sys/types.h>
511ea906c41SOllivier Robert    #endif
5122b15cb3dSCy Schubert    #ifdef HAVE_SYS_IPC_H
513ea906c41SOllivier Robert    # include <sys/ipc.h>
514ea906c41SOllivier Robert    #endif
515ea906c41SOllivier Robert])
516ea906c41SOllivier Robert
5172b15cb3dSCy SchubertAC_CHECK_HEADERS([sys/timex.h], [], [], [
5182b15cb3dSCy Schubert    #ifdef HAVE_SYS_TIME_H
519ea906c41SOllivier Robert    # include <sys/time.h>
520ea906c41SOllivier Robert    #endif
521ea906c41SOllivier Robert])
522ea906c41SOllivier Robert
52309100258SXin LINTP_AF_UNSPEC
52409100258SXin LI
525ea906c41SOllivier RobertAC_TYPE_SIGNAL
526ea906c41SOllivier RobertAC_TYPE_OFF_T
5272b15cb3dSCy SchubertAC_STRUCT_TM	dnl defines TM_IN_SYS_TIME used by refclock_parse.c
528ea906c41SOllivier Robert
5292b15cb3dSCy SchubertAC_CACHE_CHECK(
5302b15cb3dSCy Schubert    [for a fallback value for HZ],
5312b15cb3dSCy Schubert    [ntp_cv_default_hz],
5322b15cb3dSCy Schubert    [
5332b15cb3dSCy Schubert	ntp_cv_default_hz=100
534ea906c41SOllivier Robert	case "$host" in
535ea906c41SOllivier Robert	 alpha*-dec-osf4*|alpha*-dec-osf5*)
5362b15cb3dSCy Schubert	    ntp_cv_default_hz=1024
537ea906c41SOllivier Robert	    ;;
538ea906c41SOllivier Robert	 mips-dec-ultrix4*)
5392b15cb3dSCy Schubert	    ntp_cv_default_hz=256
540ea906c41SOllivier Robert	    ;;
5412b15cb3dSCy Schubert	esac
5422b15cb3dSCy Schubert    ]
5432b15cb3dSCy Schubert)
5442b15cb3dSCy SchubertAC_DEFINE_UNQUOTED([DEFAULT_HZ], [$ntp_cv_default_hz],
5452b15cb3dSCy Schubert    [What is the fallback value for HZ?])
546ea906c41SOllivier Robert
5472b15cb3dSCy SchubertAC_CACHE_CHECK(
5482b15cb3dSCy Schubert    [if we need to override the system's value for HZ],
5492b15cb3dSCy Schubert    [ntp_cv_override_hz],
5502b15cb3dSCy Schubert    [
5512b15cb3dSCy Schubert	ntp_cv_override_hz=no
552ea906c41SOllivier Robert	case "$host" in
553ea906c41SOllivier Robert	 alpha*-dec-osf4*|alpha*-dec-osf5*)
5542b15cb3dSCy Schubert	    ntp_cv_override_hz=yes
555ea906c41SOllivier Robert	    ;;
556ea906c41SOllivier Robert	 mips-dec-ultrix4*)
5572b15cb3dSCy Schubert	    ntp_cv_override_hz=yes
558ea906c41SOllivier Robert	    ;;
559ea906c41SOllivier Robert	 *-*-freebsd*)
5602b15cb3dSCy Schubert	    ntp_cv_override_hz=yes
561ea906c41SOllivier Robert	    ;;
562ea906c41SOllivier Robert	 *-*-sunos4*)
5632b15cb3dSCy Schubert	    ntp_cv_override_hz=yes
564ea906c41SOllivier Robert	    ;;
5652b15cb3dSCy Schubert	 *-*-kfreebsd*)
5662b15cb3dSCy Schubert	    ntp_cv_override_hz=yes
5672b15cb3dSCy Schubert	    ;;
5682b15cb3dSCy Schubert	esac
5692b15cb3dSCy Schubert    ]
5702b15cb3dSCy Schubert)
5712b15cb3dSCy Schubertcase "$ntp_cv_override_hz" in
572ea906c41SOllivier Robert yes)
5732b15cb3dSCy Schubert    AC_DEFINE([OVERRIDE_HZ], [1],
5742b15cb3dSCy Schubert	[Do we need to override the system's idea of HZ?])
575ea906c41SOllivier Robertesac
576ea906c41SOllivier Robert
577ea906c41SOllivier Robertdnl AC_CACHE_CHECK(ut_host in struct utmp, ac_cv_func_ut_host_in_utmp,
578ea906c41SOllivier Robertdnl [AC_TRY_LINK([#include <sys/types.h>
579ea906c41SOllivier Robertdnl #include <utmp.h>], [struct utmp ut; ut.ut_host;],
580ea906c41SOllivier Robertdnl ac_cv_func_ut_host_in_utmp=yes, ac_cv_func_ut_host_in_utmp=no)])
581ea906c41SOllivier Robertdnl if test $su_cv_func_ut_host_in_utmp = yes; then
582ea906c41SOllivier Robertdnl   AC_DEFINE(HAVE_UT_HOST)
583ea906c41SOllivier Robertdnl fi
584ea906c41SOllivier Robert
585ea906c41SOllivier Robertdnl AC_MSG_CHECKING(if we can get the system boot time)
586ea906c41SOllivier Robertdnl AC_CACHE_VAL(su_cv_have_boot_time,
587ea906c41SOllivier Robertdnl [AC_EGREP_CPP(yes,
588ea906c41SOllivier Robertdnl [#ifdef HAVE_UTMPX_H
589ea906c41SOllivier Robertdnl #include <utmpx.h>
590ea906c41SOllivier Robertdnl #else
591ea906c41SOllivier Robertdnl #include <utmp.h>
592ea906c41SOllivier Robertdnl #endif
593ea906c41SOllivier Robertdnl #ifdef BOOT_TIME
594ea906c41SOllivier Robertdnl yes
595ea906c41SOllivier Robertdnl #endif
596ea906c41SOllivier Robertdnl ], su_cv_have_boot_time=yes, su_cv_have_boot_time=no)])
597ea906c41SOllivier Robertdnl AC_MSG_RESULT($su_cv_have_boot_time)
598ea906c41SOllivier Robert
5992b15cb3dSCy SchubertAC_CACHE_CHECK(
6002b15cb3dSCy Schubert    [for struct rt_msghdr],
6012b15cb3dSCy Schubert    [ntp_cv_struct_rt_msghdr],
6022b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
6032b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
6042b15cb3dSCy Schubert	    [[
605ea906c41SOllivier Robert		#include <sys/types.h>
606ea906c41SOllivier Robert		#include <sys/socket.h>
607ea906c41SOllivier Robert		#include <net/if.h>
6082b15cb3dSCy Schubert		#include <net/route.h>
6092b15cb3dSCy Schubert	    ]],
6102b15cb3dSCy Schubert	    [[
6112b15cb3dSCy Schubert		struct rt_msghdr p;
6122b15cb3dSCy Schubert	    ]]
6132b15cb3dSCy Schubert	)],
6142b15cb3dSCy Schubert	[ntp_cv_struct_rt_msghdr=yes],
6152b15cb3dSCy Schubert	[ntp_cv_struct_rt_msghdr=no]
6162b15cb3dSCy Schubert    )]
6172b15cb3dSCy Schubert)
618eb6d21b4SOllivier Robert
6192b15cb3dSCy SchubertAC_CACHE_CHECK(
6202b15cb3dSCy Schubert    [for struct rtattr],
6212b15cb3dSCy Schubert    [ntp_cv_rtattr],
6222b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
6232b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
6242b15cb3dSCy Schubert	    [[
6252b15cb3dSCy Schubert		#include <stddef.h>
6262b15cb3dSCy Schubert		#include <sys/socket.h>
6272b15cb3dSCy Schubert		#include <linux/rtnetlink.h>
6282b15cb3dSCy Schubert	    ]],
6292b15cb3dSCy Schubert	    [[
6302b15cb3dSCy Schubert		struct rtattr p;
6312b15cb3dSCy Schubert	    ]]
6322b15cb3dSCy Schubert	)],
6332b15cb3dSCy Schubert	[ntp_cv_rtattr=yes],
6342b15cb3dSCy Schubert	[ntp_cv_rtattr=no]
6352b15cb3dSCy Schubert    )]
6362b15cb3dSCy Schubert)
6372b15cb3dSCy Schubert
6382b15cb3dSCy Schubertcase "$ntp_cv_struct_rt_msghdr$ntp_cv_rtattr" in
6392b15cb3dSCy Schubert *yes*)
6402b15cb3dSCy Schubert    AC_DEFINE([HAS_ROUTING_SOCKET], [1],
6412b15cb3dSCy Schubert	[Do we have a routing socket (rt_msghdr or rtattr)?])
6422b15cb3dSCy Schubert    case "$ntp_cv_rtattr" in
6432b15cb3dSCy Schubert     yes)
6442b15cb3dSCy Schubert	AC_DEFINE([HAVE_RTNETLINK], [1],
6452b15cb3dSCy Schubert	    [Do we have Linux routing socket?])
6462b15cb3dSCy Schubert    esac
6472b15cb3dSCy Schubertesac
648ea906c41SOllivier Robert
649ea906c41SOllivier RobertAC_CACHE_CHECK(
650eb6d21b4SOllivier Robert    [struct sigaction for sa_sigaction],
6512b15cb3dSCy Schubert    [ntp_cv_struct_sigaction_has_sa_sigaction],
6522b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
6532b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
6542b15cb3dSCy Schubert	    [[
6552b15cb3dSCy Schubert		#include <signal.h>
6562b15cb3dSCy Schubert	    ]],
6572b15cb3dSCy Schubert	    [[
6582b15cb3dSCy Schubert		struct sigaction act;
6592b15cb3dSCy Schubert		act.sa_sigaction = 0;
6602b15cb3dSCy Schubert	    ]]
6612b15cb3dSCy Schubert	)],
6622b15cb3dSCy Schubert	[ntp_cv_struct_sigaction_has_sa_sigaction=yes],
6632b15cb3dSCy Schubert	[ntp_cv_struct_sigaction_has_sa_sigaction=no]
6642b15cb3dSCy Schubert    )]
665ea906c41SOllivier Robert)
6662b15cb3dSCy Schubertcase "$ntp_cv_struct_sigaction_has_sa_sigaction" in
6672b15cb3dSCy Schubert yes)
6682b15cb3dSCy Schubert    AC_DEFINE([HAVE_SA_SIGACTION_IN_STRUCT_SIGACTION], [1], [Obvious])
6692b15cb3dSCy Schubertesac
670ea906c41SOllivier Robert
6712b15cb3dSCy SchubertAC_CACHE_CHECK(
6722b15cb3dSCy Schubert    [for struct ppsclockev],
6732b15cb3dSCy Schubert    [ntp_cv_struct_ppsclockev],
6742b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
6752b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
6762b15cb3dSCy Schubert	    [[
6772b15cb3dSCy Schubert		#ifdef HAVE_SYS_TYPES_H
678ea906c41SOllivier Robert		# include <sys/types.h>
6792b15cb3dSCy Schubert		#endif
680ea906c41SOllivier Robert		#ifdef HAVE_SYS_TERMIOS_H
681ea906c41SOllivier Robert		# include <sys/termios.h>
682ea906c41SOllivier Robert		#endif
683ea906c41SOllivier Robert		#ifdef HAVE_SYS_TIME_H
684ea906c41SOllivier Robert		# include <sys/time.h>
685ea906c41SOllivier Robert		#endif
686ea906c41SOllivier Robert		#ifdef HAVE_SYS_PPSCLOCK_H
687ea906c41SOllivier Robert		# include <sys/ppsclock.h>
6882b15cb3dSCy Schubert		#endif
6892b15cb3dSCy Schubert	    ]],
6902b15cb3dSCy Schubert	    [[
691ea906c41SOllivier Robert		extern struct ppsclockev *pce;
6922b15cb3dSCy Schubert		return pce->serial;
6932b15cb3dSCy Schubert	    ]]
6942b15cb3dSCy Schubert	)],
6952b15cb3dSCy Schubert	[ntp_cv_struct_ppsclockev=yes],
6962b15cb3dSCy Schubert	[ntp_cv_struct_ppsclockev=no]
6972b15cb3dSCy Schubert    )]
698ea906c41SOllivier Robert)
6992b15cb3dSCy Schubertcase "$ntp_cv_struct_ppsclockev" in
7002b15cb3dSCy Schubert yes)
7012b15cb3dSCy Schubert    AC_DEFINE([HAVE_STRUCT_PPSCLOCKEV], [1],
7022b15cb3dSCy Schubert	[Does a system header define struct ppsclockev?])
703ea906c41SOllivier Robertesac
704ea906c41SOllivier Robert
705ea906c41SOllivier Robertcase "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in
706ea906c41SOllivier Robert  *yes*)
7072b15cb3dSCy Schubert    AC_CACHE_CHECK(
7082b15cb3dSCy Schubert	[for struct snd_size],
7092b15cb3dSCy Schubert	[ntp_cv_struct_snd_size],
7102b15cb3dSCy Schubert	[AC_COMPILE_IFELSE(
7112b15cb3dSCy Schubert	    [AC_LANG_PROGRAM(
7122b15cb3dSCy Schubert		[[
713ea906c41SOllivier Robert		    #ifdef HAVE_MACHINE_SOUNDCARD_H
714ea906c41SOllivier Robert		    # include <machine/soundcard.h>
715ea906c41SOllivier Robert		    #endif
716ea906c41SOllivier Robert		    #ifdef HAVE_SYS_SOUNDCARD_H
717ea906c41SOllivier Robert		    # include <sys/soundcard.h>
718ea906c41SOllivier Robert		    #endif
7192b15cb3dSCy Schubert		]],
7202b15cb3dSCy Schubert		[[
7212b15cb3dSCy Schubert		    extern struct snd_size *ss;
7222b15cb3dSCy Schubert		    return ss->rec_size;
7232b15cb3dSCy Schubert		]]
7242b15cb3dSCy Schubert	    )],
7252b15cb3dSCy Schubert	    [ntp_cv_struct_snd_size=yes],
7262b15cb3dSCy Schubert	    [ntp_cv_struct_snd_size=no]
7272b15cb3dSCy Schubert        )]
7282b15cb3dSCy Schubert    )
7292b15cb3dSCy Schubert    case "$ntp_cv_struct_snd_size" in
7302b15cb3dSCy Schubert     yes)
7312b15cb3dSCy Schubert	AC_DEFINE([HAVE_STRUCT_SND_SIZE], [1],
7322b15cb3dSCy Schubert	    [Do we have struct snd_size?])
7332b15cb3dSCy Schubert    esac
7342b15cb3dSCy Schubertesac
735ea906c41SOllivier Robert
7362b15cb3dSCy SchubertAC_CACHE_CHECK(
7372b15cb3dSCy Schubert    [struct clockinfo for hz],
7382b15cb3dSCy Schubert    [ntp_cv_struct_clockinfo_has_hz],
7392b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
7402b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
7412b15cb3dSCy Schubert	    [[
742ea906c41SOllivier Robert		#include <sys/time.h>
7432b15cb3dSCy Schubert	    ]],
7442b15cb3dSCy Schubert	    [[
7452b15cb3dSCy Schubert		extern struct clockinfo *pc;
7462b15cb3dSCy Schubert		return pc->hz;
7472b15cb3dSCy Schubert	    ]]
7482b15cb3dSCy Schubert	)],
7492b15cb3dSCy Schubert	[ntp_cv_struct_clockinfo_has_hz=yes],
7502b15cb3dSCy Schubert	[ntp_cv_struct_clockinfo_has_hz=no]
7512b15cb3dSCy Schubert    )]
7522b15cb3dSCy Schubert)
7532b15cb3dSCy Schubertcase "$ntp_cv_struct_clockinfo_has_hz" in
7542b15cb3dSCy Schubert yes)
7552b15cb3dSCy Schubert    AC_DEFINE([HAVE_HZ_IN_STRUCT_CLOCKINFO], [1], [Obvious])
7562b15cb3dSCy Schubertesac
757ea906c41SOllivier Robert
7582b15cb3dSCy SchubertAC_CACHE_CHECK(
7592b15cb3dSCy Schubert    [struct clockinfo for tickadj],
7602b15cb3dSCy Schubert    [ntp_cv_struct_clockinfo_has_hz],
7612b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
7622b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
7632b15cb3dSCy Schubert	    [[
7642b15cb3dSCy Schubert		#include <sys/time.h>
7652b15cb3dSCy Schubert	    ]],
7662b15cb3dSCy Schubert	    [[
7672b15cb3dSCy Schubert		extern struct clockinfo *pc;
7682b15cb3dSCy Schubert		return pc->tickadj;
7692b15cb3dSCy Schubert	    ]]
7702b15cb3dSCy Schubert	)],
7712b15cb3dSCy Schubert	[ntp_cv_struct_clockinfo_has_hz=yes],
7722b15cb3dSCy Schubert	[ntp_cv_struct_clockinfo_has_hz=no]
7732b15cb3dSCy Schubert    )]
7742b15cb3dSCy Schubert)
7752b15cb3dSCy Schubertcase "$ntp_cv_struct_clockinfo_has_hz" in
7762b15cb3dSCy Schubert yes)
7772b15cb3dSCy Schubert    AC_DEFINE([HAVE_TICKADJ_IN_STRUCT_CLOCKINFO], [1], [Obvious])
7782b15cb3dSCy Schubertesac
7792b15cb3dSCy Schubert
7802b15cb3dSCy Schubertcase "$ntp_cv_struct_ntptimeval" in
7812b15cb3dSCy Schubert yes)
7822b15cb3dSCy Schubert    AC_CHECK_MEMBERS(
7832b15cb3dSCy Schubert	[struct ntptimeval.time.tv_nsec],
7842b15cb3dSCy Schubert	[],
7852b15cb3dSCy Schubert	[],
7862b15cb3dSCy Schubert	[
7872b15cb3dSCy Schubert	    #ifdef HAVE_SYS_TIME_H
788ea906c41SOllivier Robert	    # include <sys/time.h>
789ea906c41SOllivier Robert	    #else
790ea906c41SOllivier Robert	    # ifdef HAVE_TIME_H
791ea906c41SOllivier Robert	    #  include <time.h>
792ea906c41SOllivier Robert	    # endif
793ea906c41SOllivier Robert	    #endif
794ea906c41SOllivier Robert	    #ifdef HAVE_SYS_TIMEX_H
795ea906c41SOllivier Robert	    # include <sys/timex.h>
796ea906c41SOllivier Robert	    #else
797ea906c41SOllivier Robert	    # ifdef HAVE_TIMEX_H
798ea906c41SOllivier Robert	    #  include <timex.h>
799ea906c41SOllivier Robert	    # endif
8002b15cb3dSCy Schubert	    #endif
8012b15cb3dSCy Schubert	]
8022b15cb3dSCy Schubert    )
803eb6d21b4SOllivier Robertesac
804eb6d21b4SOllivier Robert
8052b15cb3dSCy Schubert####
806ea906c41SOllivier Robert
8072b15cb3dSCy SchubertAC_CHECK_FUNCS([arc4random_buf])
808ea906c41SOllivier Robert
8092b15cb3dSCy Schubert####
8102b15cb3dSCy Schubert
8112b15cb3dSCy Schubertsaved_LIBS="$LIBS"
8122b15cb3dSCy SchubertLIBS="$LIBS $LDADD_LIBNTP"
8132b15cb3dSCy SchubertAC_CHECK_FUNCS([daemon])
8142b15cb3dSCy Schubert# XXX if we keep everything in LIBS and also keep separate lists, this simplifies.
8152b15cb3dSCy SchubertLIBS="$saved_LIBS"
8162b15cb3dSCy SchubertAS_UNSET([saved_LIBS])
8172b15cb3dSCy Schubert
8182b15cb3dSCy SchubertAC_CHECK_FUNCS(
8192b15cb3dSCy Schubert    [finite],
8202b15cb3dSCy Schubert    [],
8212b15cb3dSCy Schubert    [AC_CHECK_FUNCS(
8222b15cb3dSCy Schubert	[isfinite],
8232b15cb3dSCy Schubert	[],
8242b15cb3dSCy Schubert	[
8252b15cb3dSCy Schubert	    AC_MSG_CHECKING([for isfinite with <math.h>])
826ea906c41SOllivier Robert	    _libs=$LIBS
8272b15cb3dSCy Schubert	    # XXX
828ea906c41SOllivier Robert	    LIBS="$LIBS -lm"
8292b15cb3dSCy Schubert	    AC_LINK_IFELSE(
8302b15cb3dSCy Schubert		[AC_LANG_PROGRAM(
8312b15cb3dSCy Schubert		    [[
8322b15cb3dSCy Schubert			#include <math.h>
8332b15cb3dSCy Schubert		    ]],
8342b15cb3dSCy Schubert		    [[
8352b15cb3dSCy Schubert			float f = 0.0;
8362b15cb3dSCy Schubert			isfinite(f);
8372b15cb3dSCy Schubert		    ]]
8382b15cb3dSCy Schubert		)],
8392b15cb3dSCy Schubert		[ans=yes],
8402b15cb3dSCy Schubert		[ans=no]
8412b15cb3dSCy Schubert	    )
8422b15cb3dSCy Schubert	    LIBS=$_libs
8432b15cb3dSCy Schubert	    AC_MSG_RESULT([$ans])
8442b15cb3dSCy Schubert	    case "$ans" in
845ea906c41SOllivier Robert	     yes)
8462b15cb3dSCy Schubert		AC_DEFINE([HAVE_ISFINITE], [1])
8472b15cb3dSCy Schubert	    esac
8482b15cb3dSCy Schubert	]
8492b15cb3dSCy Schubert    )]
8502b15cb3dSCy Schubert)
8512b15cb3dSCy Schubert
852a466cc55SCy SchubertAC_CHECK_FUNCS([fnmatch getbootfile getuid getrusage nanosleep strsignal ]dnl
853a466cc55SCy Schubert	       [strsignal closefrom getdtablesize])
854a466cc55SCy Schubert
8552b15cb3dSCy Schubert
8562b15cb3dSCy Schubert# kvm_open() is only used by tickadj.  Also see above.
8572b15cb3dSCy Schubertcase "$ac_cv_header_kvm_h" in
8582b15cb3dSCy Schubert yes)
8592b15cb3dSCy Schubert    AC_CHECK_FUNCS([kvm_open])
860ea906c41SOllivier Robert    ;;
861ea906c41SOllivier Robertesac
862ea906c41SOllivier Robert
863ea906c41SOllivier Robertcase "$host" in
864ea906c41SOllivier Robert *-*-sco3.2v5.0.*)
8652b15cb3dSCy Schubert    # Just stubs.  Sigh.
866ea906c41SOllivier Robert    ;;
8672b15cb3dSCy Schubert *) AC_CHECK_FUNCS([mkstemp])
868ea906c41SOllivier Robert    ;;
869ea906c41SOllivier Robertesac
8702b15cb3dSCy SchubertAC_CHECK_FUNCS([mktime])
871ea906c41SOllivier Robertcase "$host" in
8722b15cb3dSCy Schubert *-*-aix[[4-9]]*)
8732b15cb3dSCy Schubert    # XXX only verified thru AIX6.
8742b15cb3dSCy Schubert    # Just a stub.  Sigh.
875ea906c41SOllivier Robert    ;;
876ea906c41SOllivier Robert *-*-irix[[45]]*)
8772b15cb3dSCy Schubert    # Just a stub in "old" Irix.  Sigh.
878ea906c41SOllivier Robert    ;;
8792b15cb3dSCy Schubert# In the belief that the fix for bug 1223 fixes mlockall() under linux...
8802b15cb3dSCy Schubert# *-*-*linux*)
8812b15cb3dSCy Schubert#    # there, but more trouble than it is worth for now (resolver problems)
8822b15cb3dSCy Schubert#    ;;
883ea906c41SOllivier Robert *-*-qnx*)
8842b15cb3dSCy Schubert    # Apparently there but not working in QNX.  Sigh?
885ea906c41SOllivier Robert    ;;
886ea906c41SOllivier Robert *-*-sco3.2v5.0.*)
8872b15cb3dSCy Schubert    # Just a stub.  Sigh.
888ea906c41SOllivier Robert    ;;
889ea906c41SOllivier Robert alpha*-dec-osf4*|alpha*-dec-osf5*)
890ea906c41SOllivier Robert    # mlockall is there, as a #define calling memlk via <sys/mman.h>
891ea906c41SOllivier Robert    # Not easy to test for - cheat.
8922b15cb3dSCy Schubert    AC_CHECK_FUNCS([memlk], [ac_cv_func_mlockall=yes])
8932b15cb3dSCy Schubert    AC_CHECK_FUNCS([mlockall])
894ea906c41SOllivier Robert    ;;
8952b15cb3dSCy Schubert *) AC_CHECK_FUNCS([mlockall])
896ea906c41SOllivier Robert    ;;
897ea906c41SOllivier Robertesac
8982b15cb3dSCy SchubertAC_CHECK_FUNCS([nice plock pututline pututxline readlink rtprio])
899a466cc55SCy SchubertNTP_FUNC_REALPATH
900ea906c41SOllivier Robertcase "$host" in
9012b15cb3dSCy Schubert *-*-aix[[4-9]]*)
9022b15cb3dSCy Schubert    # XXX only verified thru AIX6.
9032b15cb3dSCy Schubert    # Just a stub in AIX 4.  Sigh.
904ea906c41SOllivier Robert    ;;
905ea906c41SOllivier Robert *-*-solaris2.5*)
9062b15cb3dSCy Schubert    # Just stubs in solaris2.5.  Sigh.
907ea906c41SOllivier Robert    ;;
9082b15cb3dSCy Schubert *) AC_CHECK_FUNCS([sched_setscheduler])
909ea906c41SOllivier Robert    ;;
910ea906c41SOllivier Robertesac
9112b15cb3dSCy SchubertAC_CHECK_FUNCS([setlinebuf setpgid setpriority setsid setvbuf])
912767173ceSCy SchubertAC_CHECK_FUNCS([strdup strnlen memchr strerror setrlimit strchr])
913ea906c41SOllivier Robertcase "$host" in
9142b15cb3dSCy Schubert *-*-aix[[4-9]]*)
9152b15cb3dSCy Schubert    # XXX only verified thru AIX6.
9162b15cb3dSCy Schubert    # Just stubs.  Sigh.
917ea906c41SOllivier Robert    ;;
918ea906c41SOllivier Robert *-*-netbsd1*)
9192b15cb3dSCy Schubert    # Just stubs.  Sigh.
920ea906c41SOllivier Robert    ;;
921ea906c41SOllivier Robert *-*-netbsdelf1*)
9222b15cb3dSCy Schubert    # Just stubs.  Sigh.
923ea906c41SOllivier Robert    ;;
924ea906c41SOllivier Robert *-*-openbsd*)
9252b15cb3dSCy Schubert    # Just stubs.  Sigh.
926ea906c41SOllivier Robert    ;;
9272b15cb3dSCy Schubert *)
9282b15cb3dSCy Schubert    AC_CHECK_FUNCS([timer_create])
929ea906c41SOllivier Robert    ;;
930ea906c41SOllivier Robertesac
9312b15cb3dSCy Schubert
9322b15cb3dSCy SchubertNTP_RLIMIT_ITEMS
9332b15cb3dSCy Schubert
9342b15cb3dSCy Schubert# some OSes prefer _exit() in forked children to exit()
9352b15cb3dSCy SchubertAC_CHECK_FUNCS([_exit])
9362b15cb3dSCy Schubertntp_worker_child_exit=exit
9372b15cb3dSCy Schubertcase "$ac_cv_func__exit::$host_os" in
9382b15cb3dSCy Schubert yes::netbsd*)
9392b15cb3dSCy Schubert    ntp_worker_child_exit=_exit
9402b15cb3dSCy Schubert    ;;
9412b15cb3dSCy Schubert yes::openbsd*)
9422b15cb3dSCy Schubert    ntp_worker_child_exit=_exit
9432b15cb3dSCy Schubert    ;;
9442b15cb3dSCy Schubertesac
9452b15cb3dSCy SchubertAC_DEFINE_UNQUOTED([WORKER_CHILD_EXIT], [$ntp_worker_child_exit],
9462b15cb3dSCy Schubert		   [routine worker child proc uses to exit.])
9472b15cb3dSCy Schubert
9482b15cb3dSCy SchubertAC_CHECK_FUNCS([umask uname updwtmp updwtmpx])
949ea906c41SOllivier Robert
950ea906c41SOllivier Robert###
951ea906c41SOllivier Robert
952eb6d21b4SOllivier Robert# http://bugs.ntp.org/737
953ea906c41SOllivier Robertcase "$ac_cv_func_recvmsg" in
954ea906c41SOllivier Robert yes)
9552b15cb3dSCy Schubert    AC_CACHE_CHECK(
9562b15cb3dSCy Schubert	[if we need extra help to define struct iovec],
9572b15cb3dSCy Schubert	[ntp_cv_struct_iovec_help],
9582b15cb3dSCy Schubert	[
9592b15cb3dSCy Schubert	    compiled=no
9602b15cb3dSCy Schubert	    for ntp_cv_struct_iovec_help in '0' '1'; do
9612b15cb3dSCy Schubert		AC_COMPILE_IFELSE(
9622b15cb3dSCy Schubert		    [AC_LANG_PROGRAM(
9632b15cb3dSCy Schubert			[[
9642b15cb3dSCy Schubert			    #ifdef HAVE_SYS_TYPES_H
965ea906c41SOllivier Robert			    # include <sys/types.h>
966ea906c41SOllivier Robert			    #endif
967ea906c41SOllivier Robert			    #ifdef HAVE_SYS_SOCKET_H
968ea906c41SOllivier Robert			    # include <sys/socket.h>
969ea906c41SOllivier Robert			    #endif
9702b15cb3dSCy Schubert			    #if $ntp_cv_struct_iovec_help
971ea906c41SOllivier Robert			    # include <sys/uio.h>
972ea906c41SOllivier Robert			    #endif
9732b15cb3dSCy Schubert			]],
9742b15cb3dSCy Schubert			[[
9752b15cb3dSCy Schubert			    void foo(void) {
976ea906c41SOllivier Robert				ssize_t x;
977ea906c41SOllivier Robert				int s = 0;
978ea906c41SOllivier Robert				struct iovec iov;
979ea906c41SOllivier Robert				struct msghdr mh;
980ea906c41SOllivier Robert				int flags = 0;
981ea906c41SOllivier Robert
982ea906c41SOllivier Robert				mh.msg_iov = &iov;
983ea906c41SOllivier Robert				x = recvmsg(s, &mh, flags);
9842b15cb3dSCy Schubert			    }
9852b15cb3dSCy Schubert			]]
9862b15cb3dSCy Schubert		    )],
9872b15cb3dSCy Schubert		    [compiled=yes ; break 1],
9882b15cb3dSCy Schubert		    []
9892b15cb3dSCy Schubert		)
990ea906c41SOllivier Robert	    done
9912b15cb3dSCy Schubert	    case "$compiled" in
9922b15cb3dSCy Schubert	     no)
9932b15cb3dSCy Schubert		ntp_cv_struct_iovec_help=0
994ea906c41SOllivier Robert	    esac
9952b15cb3dSCy Schubert	    AS_UNSET([compiled])
9962b15cb3dSCy Schubert	]
9972b15cb3dSCy Schubert    )
9982b15cb3dSCy Schubert    case "$ntp_cv_struct_iovec_help" in
9992b15cb3dSCy Schubert     1)
10002b15cb3dSCy Schubert	AC_DEFINE([HAVE_SYS_UIO_H], [1],
10012b15cb3dSCy Schubert	    [Use sys/uio.h for struct iovec help])
10022b15cb3dSCy Schubert    esac
1003ea906c41SOllivier Robertesac
1004ea906c41SOllivier Robert
10052b15cb3dSCy SchubertAC_CACHE_CHECK(
10062b15cb3dSCy Schubert    [number of arguments taken by setpgrp()],
10072b15cb3dSCy Schubert    [ntp_cv_func_setpgrp_nargs],
10082b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
10092b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
10102b15cb3dSCy Schubert	    [[
1011ea906c41SOllivier Robert		#ifdef HAVE_SYS_TYPES_H
1012ea906c41SOllivier Robert		# include <sys/types.h>
1013ea906c41SOllivier Robert		#endif
1014ea906c41SOllivier Robert		#ifdef HAVE_UNISTD_H
1015ea906c41SOllivier Robert		# include <unistd.h>
1016ea906c41SOllivier Robert		#endif
10172b15cb3dSCy Schubert	    ]],
10182b15cb3dSCy Schubert	    [[
10192b15cb3dSCy Schubert		setpgrp(0, 0);
10202b15cb3dSCy Schubert	    ]]
10212b15cb3dSCy Schubert	)],
10222b15cb3dSCy Schubert	[ntp_cv_func_setpgrp_nargs=2],
10232b15cb3dSCy Schubert	[ntp_cv_func_setpgrp_nargs=0]
10242b15cb3dSCy Schubert    )]
10252b15cb3dSCy Schubert)
10262b15cb3dSCy Schubertcase "$ntp_cv_func_setpgrp_nargs" in
10272b15cb3dSCy Schubert 0)
10282b15cb3dSCy Schubert    AC_DEFINE([HAVE_SETPGRP_0], [1],
10292b15cb3dSCy Schubert	      [define if setpgrp takes 0 arguments])
1030ea906c41SOllivier Robertesac
1031ea906c41SOllivier Robert
10322b15cb3dSCy SchubertAC_CACHE_CHECK(
10332b15cb3dSCy Schubert    [if we need to declare 'errno'],
10342b15cb3dSCy Schubert    [ntp_cv_decl_errno],
10352b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
10362b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
10372b15cb3dSCy Schubert	    [[
10382b15cb3dSCy Schubert		#ifdef HAVE_ERRNO_H
1039ea906c41SOllivier Robert		# include <errno.h>
10402b15cb3dSCy Schubert		#endif
10412b15cb3dSCy Schubert	    ]],
10422b15cb3dSCy Schubert	    [[
10432b15cb3dSCy Schubert		errno = 0;
10442b15cb3dSCy Schubert	    ]]
10452b15cb3dSCy Schubert	)],
10462b15cb3dSCy Schubert	[ntp_cv_decl_errno=no],
10472b15cb3dSCy Schubert	[ntp_cv_decl_errno=yes]
10482b15cb3dSCy Schubert    )]
10492b15cb3dSCy Schubert)
10502b15cb3dSCy Schubertcase "$ntp_cv_decl_errno" in
10512b15cb3dSCy Schubert yes)
10522b15cb3dSCy Schubert    AC_DEFINE([DECL_ERRNO], [1], [Declare errno?])
1053ea906c41SOllivier Robertesac
1054ea906c41SOllivier Robert
1055ea906c41SOllivier Robertdnl (prr) aix 4.3 defines h_errno as (*(int *)h_errno_which()) for
1056ea906c41SOllivier Robertdnl MT purposes.  This makes the line "extern int h_errno" choke
1057ea906c41SOllivier Robertdnl the compiler.  Hopefully adding !defined(h_errno) fixes this
1058ea906c41SOllivier Robertdnl without breaking any other platforms.
1059ea906c41SOllivier Robertdnl
10602b15cb3dSCy SchubertAC_CACHE_CHECK(
10612b15cb3dSCy Schubert    [if we may declare 'h_errno'],
10622b15cb3dSCy Schubert    [ntp_cv_decl_h_errno],
10632b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
10642b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
10652b15cb3dSCy Schubert	    [[
10662b15cb3dSCy Schubert		#include <sys/types.h>
1067ea906c41SOllivier Robert		#ifdef HAVE_NETINET_IN_H
1068ea906c41SOllivier Robert		# include <netinet/in.h>
1069ea906c41SOllivier Robert		#endif
1070ea906c41SOllivier Robert		#ifdef HAVE_ARPA_NAMESER_H
1071ea906c41SOllivier Robert		# include <arpa/nameser.h>
1072ea906c41SOllivier Robert		#endif
1073ea906c41SOllivier Robert		#ifdef HAVE_NETDB_H
1074ea906c41SOllivier Robert		# include <netdb.h>
1075ea906c41SOllivier Robert		#endif
1076ea906c41SOllivier Robert		#ifdef HAVE_RESOLV_H
1077ea906c41SOllivier Robert		# include <resolv.h>
10782b15cb3dSCy Schubert		#endif
10792b15cb3dSCy Schubert	    ]],
10802b15cb3dSCy Schubert	    [[
10812b15cb3dSCy Schubert		extern int h_errno;
10822b15cb3dSCy Schubert	    ]]
10832b15cb3dSCy Schubert	)],
10842b15cb3dSCy Schubert	[ntp_cv_decl_h_errno=yes],
10852b15cb3dSCy Schubert	[ntp_cv_decl_h_errno=no]
10862b15cb3dSCy Schubert    )]
10872b15cb3dSCy Schubert)
10882b15cb3dSCy Schubertcase "$ntp_cv_decl_h_errno" in
10892b15cb3dSCy Schubert yes)
10902b15cb3dSCy Schubert    AC_DEFINE([DECL_H_ERRNO], [1], [Declare h_errno?])
1091ea906c41SOllivier Robertesac
1092ea906c41SOllivier Robert
10932b15cb3dSCy SchubertAC_CACHE_CHECK(
10942b15cb3dSCy Schubert    [if declaring 'syscall()' is ok],
10952b15cb3dSCy Schubert    [ntp_cv_decl_syscall],
10962b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
10972b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
10982b15cb3dSCy Schubert	    [[
1099ea906c41SOllivier Robert		#ifdef HAVE_SYS_TYPES_H
1100ea906c41SOllivier Robert		# include <sys/types.h>
1101ea906c41SOllivier Robert		#endif
1102ea906c41SOllivier Robert		#ifdef HAVE_UNISTD_H
1103ea906c41SOllivier Robert		# include <unistd.h>
1104ea906c41SOllivier Robert		#endif
11052b15cb3dSCy Schubert	    ]],
11062b15cb3dSCy Schubert	    [[
11072b15cb3dSCy Schubert		extern int syscall (int, ...);
11082b15cb3dSCy Schubert	    ]]
1109a466cc55SCy Schubert	)],
11102b15cb3dSCy Schubert	[ntp_cv_decl_syscall=yes],
11112b15cb3dSCy Schubert	[ntp_cv_decl_syscall=no]
11122b15cb3dSCy Schubert    )]
11132b15cb3dSCy Schubert)
11142b15cb3dSCy Schubertcase "$ntp_cv_decl_syscall" in
11152b15cb3dSCy Schubert yes)
11162b15cb3dSCy Schubert    AC_DEFINE([DECL_SYSCALL], [1], [Declare syscall()?])
1117ea906c41SOllivier Robertesac
1118ea906c41SOllivier Robert
1119ea906c41SOllivier Robertcase "$host" in
1120ea906c41SOllivier Robert *-*-aix4.3.*)
11212b15cb3dSCy Schubert    AC_DEFINE([DECL_HSTRERROR_0], [1], [Declaration style])		# Needed for XLC under AIX 4.3.2
1122ea906c41SOllivier Robert    ;;
1123ea906c41SOllivier Robert *-*-mpeix*)
11242b15cb3dSCy Schubert    AC_DEFINE([DECL_ADJTIME_0], [1], [Declaration style])
11252b15cb3dSCy Schubert    AC_DEFINE([DECL_INET_NTOA_0], [1], [Declaration style])
11262b15cb3dSCy Schubert    AC_DEFINE([DECL_MKTEMP_0], [1], [Declaration style])
11272b15cb3dSCy Schubert    AC_DEFINE([DECL_SELECT_0], [1], [Declaration style])
11282b15cb3dSCy Schubert    AC_DEFINE([DECL_SETITIMER_0], [1], [Declaration style])
11292b15cb3dSCy Schubert    AC_DEFINE([DECL_SYSLOG_0], [1], [Declaration style])
11302b15cb3dSCy Schubert    AC_DEFINE([DECL_TIMEOFDAY_0], [1], [Declaration style])
1131ea906c41SOllivier Robert    ;;
1132ea906c41SOllivier Robert *-*-osf[[45]]*)
11332b15cb3dSCy Schubert    AC_DEFINE([DECL_PLOCK_0], [1], [Declaration style])
11342b15cb3dSCy Schubert    AC_DEFINE([DECL_STIME_1], [1], [Declaration style])
1135ea906c41SOllivier Robert    ;;
1136ea906c41SOllivier Robert *-*-qnx*)
11372b15cb3dSCy Schubert    AC_DEFINE([DECL_ADJTIME_0], [1], [Declaration style])
1138ea906c41SOllivier Robert    ;;
1139ea906c41SOllivier Robert *-*-riscos4*)
11402b15cb3dSCy Schubert    AC_DEFINE([DECL_ADJTIME_0], [1], [Declaration style])
11412b15cb3dSCy Schubert    AC_DEFINE([DECL_BZERO_0], [1], [Declaration style])
11422b15cb3dSCy Schubert    AC_DEFINE([DECL_IOCTL_0], [1], [Declaration style])
11432b15cb3dSCy Schubert    AC_DEFINE([DECL_IPC_0], [1], [Declaration style])
11442b15cb3dSCy Schubert    AC_DEFINE([DECL_MEMMOVE_0], [1], [Declaration style])
11452b15cb3dSCy Schubert    AC_DEFINE([DECL_MKTEMP_0], [1], [Declaration style])
11462b15cb3dSCy Schubert    AC_DEFINE([DECL_RENAME_0], [1], [Declaration style])
11472b15cb3dSCy Schubert    AC_DEFINE([DECL_SELECT_0], [1], [Declaration style])
11482b15cb3dSCy Schubert    AC_DEFINE([DECL_SETITIMER_0], [1], [Declaration style])
11492b15cb3dSCy Schubert    AC_DEFINE([DECL_SETPRIORITY_0], [1], [Declaration style])
11502b15cb3dSCy Schubert    AC_DEFINE([DECL_STDIO_0], [1], [Declaration style])
11512b15cb3dSCy Schubert    AC_DEFINE([DECL_STRTOL_0], [1], [Declaration style])
11522b15cb3dSCy Schubert    AC_DEFINE([DECL_SYSLOG_0], [1], [Declaration style])
11532b15cb3dSCy Schubert    AC_DEFINE([DECL_TIME_0], [1], [Declaration style])
11542b15cb3dSCy Schubert    AC_DEFINE([DECL_TIMEOFDAY_0], [1], [Declaration style])
11552b15cb3dSCy Schubert    AC_DEFINE([DECL_TOLOWER_0], [1], [Declaration style])
1156ea906c41SOllivier Robert    ;;
1157ea906c41SOllivier Robert *-*-solaris2*)
11582b15cb3dSCy Schubert    AC_DEFINE([DECL_MKSTEMP_0], [1], [Declaration style])
11592b15cb3dSCy Schubert    AC_DEFINE([DECL_SETPRIORITY_1], [1], [Declaration style])
1160ea906c41SOllivier Robert    case "$host" in
1161ea906c41SOllivier Robert     *-*-solaris2.4)
11622b15cb3dSCy Schubert        AC_DEFINE([DECL_TIMEOFDAY_0], [1], [Declaration style])
1163ea906c41SOllivier Robert	;;
1164ea906c41SOllivier Robert    esac
1165ea906c41SOllivier Robert    ;;
1166ea906c41SOllivier Robert *-*-sunos4*)
11672b15cb3dSCy Schubert    AC_DEFINE([DECL_ADJTIME_0], [1], [Declaration style])
11682b15cb3dSCy Schubert    AC_DEFINE([DECL_BCOPY_0], [1], [Declaration style])
11692b15cb3dSCy Schubert    AC_DEFINE([DECL_BZERO_0], [1], [Declaration style])
11702b15cb3dSCy Schubert    AC_DEFINE([DECL_IOCTL_0], [1], [Declaration style])
11712b15cb3dSCy Schubert    AC_DEFINE([DECL_IPC_0], [1], [Declaration style])
11722b15cb3dSCy Schubert    AC_DEFINE([DECL_MEMMOVE_0], [1], [Declaration style])
11732b15cb3dSCy Schubert    AC_DEFINE([DECL_MKTEMP_0], [1], [Declaration style])
11742b15cb3dSCy Schubert    AC_DEFINE([DECL_MKSTEMP_0], [1], [Declaration style])
11752b15cb3dSCy Schubert    AC_DEFINE([DECL_RENAME_0], [1], [Declaration style])
11762b15cb3dSCy Schubert    AC_DEFINE([DECL_SELECT_0], [1], [Declaration style])
11772b15cb3dSCy Schubert    AC_DEFINE([DECL_SETITIMER_0], [1], [Declaration style])
11782b15cb3dSCy Schubert    AC_DEFINE([DECL_SETPRIORITY_0], [1], [Declaration style])
11792b15cb3dSCy Schubert    AC_DEFINE([DECL_SIGVEC_0], [1], [Declaration style])
1180ea906c41SOllivier Robert    case "`basename $ac_cv_prog_CC`" in
1181ea906c41SOllivier Robert     acc*) ;;
11822b15cb3dSCy Schubert     *) AC_DEFINE([DECL_STDIO_0], [1], [Declaration style])
1183ea906c41SOllivier Robert	;;
1184ea906c41SOllivier Robert    esac
11852b15cb3dSCy Schubert    AC_DEFINE([DECL_STRTOL_0], [1], [Declaration style])
11862b15cb3dSCy Schubert    AC_DEFINE([DECL_SYSLOG_0], [1], [Declaration style])
11872b15cb3dSCy Schubert    AC_DEFINE([DECL_TIME_0], [1], [Declaration style])
11882b15cb3dSCy Schubert    AC_DEFINE([DECL_TIMEOFDAY_0], [1], [Declaration style])
11892b15cb3dSCy Schubert    AC_DEFINE([DECL_TOLOWER_0], [1], [Declaration style])
11902b15cb3dSCy Schubert    AC_DEFINE([DECL_TOUPPER_0], [1], [Declaration style])
11912b15cb3dSCy Schubert    AC_DEFINE([DECL_STRERROR_0], [1], [Declaration style])
1192ea906c41SOllivier Robert    ;;
1193ea906c41SOllivier Robert *-*-ultrix4*)
11942b15cb3dSCy Schubert    AC_DEFINE([DECL_ADJTIME_0], [1], [Declaration style])
11952b15cb3dSCy Schubert    AC_DEFINE([DECL_BZERO_0], [1], [Declaration style])
11962b15cb3dSCy Schubert    AC_DEFINE([DECL_CFSETISPEED_0], [1], [Declaration style])
11972b15cb3dSCy Schubert    AC_DEFINE([DECL_IOCTL_0], [1], [Declaration style])
11982b15cb3dSCy Schubert    AC_DEFINE([DECL_IPC_0], [1], [Declaration style])
11992b15cb3dSCy Schubert    AC_DEFINE([DECL_MKTEMP_0], [1], [Declaration style])
12002b15cb3dSCy Schubert    AC_DEFINE([DECL_NLIST_0], [1], [Declaration style])
12012b15cb3dSCy Schubert    AC_DEFINE([DECL_PLOCK_0], [1], [Declaration style])
12022b15cb3dSCy Schubert    AC_DEFINE([DECL_SELECT_0], [1], [Declaration style])
12032b15cb3dSCy Schubert    AC_DEFINE([DECL_SETITIMER_0], [1], [Declaration style])
12042b15cb3dSCy Schubert    AC_DEFINE([DECL_SETPRIORITY_0], [1], [Declaration style])
12052b15cb3dSCy Schubert    AC_DEFINE([DECL_STIME_0], [1], [Declaration style])
12062b15cb3dSCy Schubert    AC_DEFINE([DECL_SYSLOG_0], [1], [Declaration style])
12072b15cb3dSCy Schubert    AC_DEFINE([DECL_TIMEOFDAY_0], [1], [Declaration style])
1208ea906c41SOllivier Robert    ;;
1209ea906c41SOllivier Robertesac
1210ea906c41SOllivier Robert
1211ea906c41SOllivier Robertcase "$host" in
1212ea906c41SOllivier Robert *-*-sco3.2*)
12132b15cb3dSCy Schubert    AC_DEFINE([TERMIOS_NEEDS__SVID3], [1],
12142b15cb3dSCy Schubert	[Do we need to #define _SVID3 when we #include <termios.h>?])
1215ea906c41SOllivier Robert    ;;
1216ea906c41SOllivier Robertesac
1217ea906c41SOllivier Robert
1218ea906c41SOllivier Robertcase "$host" in
1219ea906c41SOllivier Robert *-*-hpux[[567]]*)
12202b15cb3dSCy Schubert    AC_DEFINE([NEED_RCVBUF_SLOP], [1],
12212b15cb3dSCy Schubert	[Do we need extra room for SO_RCVBUF? (HPUX < 8)])
1222ea906c41SOllivier Robertesac
1223ea906c41SOllivier Robert
12242b15cb3dSCy Schubertdnl Using AC_CACHE_CHECK to honor preset ntp_cv_var_open_bcast_socket
12252b15cb3dSCy SchubertAC_CACHE_CHECK(
12262b15cb3dSCy Schubert    [if we will open the broadcast socket],
12272b15cb3dSCy Schubert    [ntp_cv_var_open_bcast_socket],
12282b15cb3dSCy Schubert    [
12292b15cb3dSCy Schubert	ans=yes
1230ea906c41SOllivier Robert	case "$host" in
1231ea906c41SOllivier Robert	 *-*-domainos)
1232ea906c41SOllivier Robert	    ans=no
1233ea906c41SOllivier Robert	esac
12342b15cb3dSCy Schubert	ntp_cv_var_open_bcast_socket=$ans
12352b15cb3dSCy Schubert    ]
12362b15cb3dSCy Schubert)
12372b15cb3dSCy Schubertcase "$ntp_cv_var_open_bcast_socket" in
12382b15cb3dSCy Schubert yes)
12392b15cb3dSCy Schubert    AC_DEFINE([OPEN_BCAST_SOCKET], [1],
12402b15cb3dSCy Schubert	[Should we open the broadcast socket?])
1241ea906c41SOllivier Robertesac
1242ea906c41SOllivier Robert
1243ea906c41SOllivier Robertcase "$host" in
1244ea906c41SOllivier Robert *-*-hpux*)
12452b15cb3dSCy Schubert    AC_DEFINE([NEED_HPUX_FINDCONFIG], [1],
12462b15cb3dSCy Schubert	[Do we want the HPUX FindConfig()?])
1247ea906c41SOllivier Robertesac
1248ea906c41SOllivier Robert
12492b15cb3dSCy Schubertdnl using AC_CACHE_CHECK to honor preset $ntp_cv_arg_setpgrp_negpid
12502b15cb3dSCy SchubertAC_CACHE_CHECK(
12512b15cb3dSCy Schubert    [if process groups are set with -pid],
12522b15cb3dSCy Schubert    [ntp_cv_arg_setpgrp_negpid],
12532b15cb3dSCy Schubert    [
12542b15cb3dSCy Schubert	case "$host" in
1255ea906c41SOllivier Robert	 *-*-hpux[[567]]*)
1256ea906c41SOllivier Robert	    ans=no
1257ea906c41SOllivier Robert	    ;;
1258ea906c41SOllivier Robert	 *-*-hpux*)
1259ea906c41SOllivier Robert	    ans=yes
1260ea906c41SOllivier Robert	    ;;
1261eb6d21b4SOllivier Robert	 *-*-*linux*)
1262ea906c41SOllivier Robert	    ans=yes
1263ea906c41SOllivier Robert	    ;;
1264ea906c41SOllivier Robert	 *-*-sunos3*)
1265ea906c41SOllivier Robert	    ans=yes
1266ea906c41SOllivier Robert	    ;;
1267ea906c41SOllivier Robert	 *-*-ultrix2*)
1268ea906c41SOllivier Robert	    ans=yes
1269ea906c41SOllivier Robert	    ;;
1270ea906c41SOllivier Robert	 *)
1271ea906c41SOllivier Robert	    ans=no
1272ea906c41SOllivier Robert	    ;;
1273ea906c41SOllivier Robert	esac
12742b15cb3dSCy Schubert	ntp_cv_arg_setpgrp_negpid=$ans
12752b15cb3dSCy Schubert    ]
12762b15cb3dSCy Schubert)
12772b15cb3dSCy Schubertcase "$ntp_cv_arg_setpgrp_negpid" in
12782b15cb3dSCy Schubert yes)
12792b15cb3dSCy Schubert    AC_DEFINE([UDP_BACKWARDS_SETOWN], [1],
12802b15cb3dSCy Schubert	[Do we set process groups with -pid?])
1281ea906c41SOllivier Robertesac
1282ea906c41SOllivier Robert
12832b15cb3dSCy SchubertAC_CACHE_CHECK(
12842b15cb3dSCy Schubert    [if we need a ctty for F_SETOWN],
12852b15cb3dSCy Schubert    [ntp_cv_func_ctty_for_f_setown],
12862b15cb3dSCy Schubert    [
12872b15cb3dSCy Schubert	case "$host" in
12882b15cb3dSCy Schubert	 *-*-bsdi[[23]]*)
1289ea906c41SOllivier Robert	    ans=yes
1290ea906c41SOllivier Robert	    ;;
1291ea906c41SOllivier Robert	 *-*-freebsd*)
1292ea906c41SOllivier Robert	    ans=yes
1293ea906c41SOllivier Robert	    ;;
12942b15cb3dSCy Schubert	# NetBSD versions prior to 3.99.8 require a CTTY for F_SETOWN,
12952b15cb3dSCy Schubert	# while later versions will fail a ioctl(TIOCSCTTY, 0) call in
12962b15cb3dSCy Schubert	# some cases and so should not have USE_FSETOWNCTTY.  "netbsd"
12972b15cb3dSCy Schubert	# in $host may be followed by "aout", "ecoff", or "elf".
12982b15cb3dSCy Schubert	 *-*-netbsd*[[a-z]]3.[[0-8]]*|*-*-netbsd*[[a-z]][[0-2]].*|*-*-netbsd*[[a-z]]3.99.[[0-7]])
12992b15cb3dSCy Schubert	    ans=yes
13002b15cb3dSCy Schubert	    ;;
13012b15cb3dSCy Schubert	 *-*-netbsd3.[[0-8]]*|*-*-netbsd[[0-2]].*|*-*-netbsd3.99.[[0-7]])
1302ea906c41SOllivier Robert	    ans=yes
1303ea906c41SOllivier Robert	    ;;
1304ea906c41SOllivier Robert	 *-*-openbsd*)
1305ea906c41SOllivier Robert	    ans=yes
1306ea906c41SOllivier Robert	    ;;
1307ea906c41SOllivier Robert	 *-*-osf*)
1308ea906c41SOllivier Robert	    ans=yes
1309ea906c41SOllivier Robert	    ;;
1310eb6d21b4SOllivier Robert	 *-*-darwin*)
1311eb6d21b4SOllivier Robert	    ans=yes
1312eb6d21b4SOllivier Robert	    ;;
13132b15cb3dSCy Schubert	 *)
13142b15cb3dSCy Schubert	    ans=no
1315ea906c41SOllivier Robert	    ;;
1316ea906c41SOllivier Robert	esac
13172b15cb3dSCy Schubert	ntp_cv_func_ctty_for_f_setown=$ans
13182b15cb3dSCy Schubert    ]
13192b15cb3dSCy Schubert)
13202b15cb3dSCy Schubertcase "$ntp_cv_func_ctty_for_f_setown" in
13212b15cb3dSCy Schubert yes)
13222b15cb3dSCy Schubert    AC_DEFINE([USE_FSETOWNCTTY], [1], [Must we have a CTTY for fsetown?])
1323ea906c41SOllivier Robertesac
1324ea906c41SOllivier Robert
13252b15cb3dSCy SchubertAC_CACHE_CHECK(
13262b15cb3dSCy Schubert    [if the OS clears cached routes when more specifics become available],
13272b15cb3dSCy Schubert    [ntp_cv_os_routeupdates],
13282b15cb3dSCy Schubert    [
13292b15cb3dSCy Schubert	case "$host" in
1330ea906c41SOllivier Robert	 *-*-netbsd*)
1331ea906c41SOllivier Robert	    ans=yes
1332ea906c41SOllivier Robert	    ;;
1333ea906c41SOllivier Robert	 *)
13342b15cb3dSCy Schubert	    ans=no
1335ea906c41SOllivier Robert	    ;;
1336ea906c41SOllivier Robert	esac
13372b15cb3dSCy Schubert	ntp_cv_os_routeupdates=$ans
13382b15cb3dSCy Schubert    ]
13392b15cb3dSCy Schubert)
13402b15cb3dSCy Schubertcase "$ntp_cv_os_routeupdates" in
13412b15cb3dSCy Schubert yes)
13422b15cb3dSCy Schubert    AC_DEFINE([OS_MISSES_SPECIFIC_ROUTE_UPDATES], [1],
13432b15cb3dSCy Schubert	[need to recreate sockets on changed routing?])
1344ea906c41SOllivier Robertesac
1345ea906c41SOllivier Robert
13462b15cb3dSCy SchubertAC_CACHE_CHECK(
13472b15cb3dSCy Schubert    [if the wildcard socket needs REUSEADDR to bind other addresses],
13482b15cb3dSCy Schubert    [ntp_cv_os_wildcardreuse],
13492b15cb3dSCy Schubert    [
13502b15cb3dSCy Schubert	case "$host" in
13512b15cb3dSCy Schubert	 *-*-*linux*)
1352ea906c41SOllivier Robert	    ans=yes
1353ea906c41SOllivier Robert	    ;;
1354ea906c41SOllivier Robert	 *) ans=no
1355ea906c41SOllivier Robert	    ;;
1356ea906c41SOllivier Robert	esac
13572b15cb3dSCy Schubert	ntp_cv_os_wildcardreuse=$ans
13582b15cb3dSCy Schubert    ]
13592b15cb3dSCy Schubert)
13602b15cb3dSCy Schubertcase "$ntp_cv_os_wildcardreuse" in
1361ea906c41SOllivier Robert yes)
13622b15cb3dSCy Schubert    AC_DEFINE([OS_NEEDS_REUSEADDR_FOR_IFADDRBIND], [1],
13632b15cb3dSCy Schubert	[wildcard socket needs REUSEADDR to bind interface addresses])
1364ea906c41SOllivier Robertesac
1365ea906c41SOllivier Robert
1366ea906c41SOllivier Robertcase "$host" in
1367ea906c41SOllivier Robert *-*-aix*)
13682b15cb3dSCy Schubert    AC_DEFINE([NLIST_EXTRA_INDIRECTION], [1],
13692b15cb3dSCy Schubert	[Might nlist() values require an extra level of indirection (AIX)?])
1370ea906c41SOllivier Robertesac
1371ea906c41SOllivier Robert
13722b15cb3dSCy SchubertAC_CACHE_CHECK(
13732b15cb3dSCy Schubert    [for a minimum recommended value of tickadj],
13742b15cb3dSCy Schubert    [ntp_cv_var_min_rec_tickadj],
13752b15cb3dSCy Schubert    [
13762b15cb3dSCy Schubert	ans=no
1377ea906c41SOllivier Robert	case "$host" in
1378ea906c41SOllivier Robert	 *-*-aix*)
1379ea906c41SOllivier Robert	    ans=40
1380ea906c41SOllivier Robert	    ;;
1381ea906c41SOllivier Robert	esac
13822b15cb3dSCy Schubert	ntp_cv_var_min_rec_tickadj=$ans
13832b15cb3dSCy Schubert    ]
13842b15cb3dSCy Schubert)
13852b15cb3dSCy Schubertcase "$ntp_cv_var_min_rec_tickadj" in
13862b15cb3dSCy Schubert ''|no)
13872b15cb3dSCy Schubert    ;;
13882b15cb3dSCy Schubert *)
13892b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([MIN_REC_TICKADJ], [$ntp_cv_var_min_rec_tickadj],
13902b15cb3dSCy Schubert	[Should we recommend a minimum value for tickadj?])
1391ea906c41SOllivier Robertesac
1392ea906c41SOllivier Robert
13932b15cb3dSCy SchubertAC_CACHE_CHECK(
13942b15cb3dSCy Schubert    [if the TTY code permits PARENB and IGNPAR],
13952b15cb3dSCy Schubert    [ntp_cv_no_parenb_ignpar],
13962b15cb3dSCy Schubert    [
13972b15cb3dSCy Schubert	ans=no
1398ea906c41SOllivier Robert	case "$host" in
1399eb6d21b4SOllivier Robert	 i?86-*-*linux*)
1400ea906c41SOllivier Robert	    ans=yes
1401ea906c41SOllivier Robert	    ;;
1402ea906c41SOllivier Robert	 mips-sgi-irix*)
1403ea906c41SOllivier Robert	    ans=yes
1404ea906c41SOllivier Robert	    ;;
1405ea906c41SOllivier Robert	 i?86-*-freebsd[[123]].*)
1406ea906c41SOllivier Robert	    ;;
1407ea906c41SOllivier Robert	 i?86-*-freebsd*)
1408ea906c41SOllivier Robert	    ans=yes
1409ea906c41SOllivier Robert	    ;;
1410ea906c41SOllivier Robert	 *-*-unicosmp*)
1411ea906c41SOllivier Robert	    ans=yes
1412ea906c41SOllivier Robert	    ;;
1413ea906c41SOllivier Robert	esac
14142b15cb3dSCy Schubert	ntp_cv_no_parenb_ignpar=$ans
14152b15cb3dSCy Schubert    ]
14162b15cb3dSCy Schubert)
14172b15cb3dSCy Schubertcase "$ntp_cv_no_parenb_ignpar" in
14182b15cb3dSCy Schubert yes)
14192b15cb3dSCy Schubert    AC_DEFINE([NO_PARENB_IGNPAR], [1],
14202b15cb3dSCy Schubert	[Is there a problem using PARENB and IGNPAR?])
1421ea906c41SOllivier Robertesac
1422ea906c41SOllivier Robert
14232b15cb3dSCy SchubertAC_MSG_CHECKING([if we're including processing time debugging code])
1424eb6d21b4SOllivier RobertAC_ARG_ENABLE(
14252b15cb3dSCy Schubert    [debug-timing],
14262b15cb3dSCy Schubert    [AS_HELP_STRING(
14272b15cb3dSCy Schubert	[--enable-debug-timing],
14282b15cb3dSCy Schubert	[- include processing time debugging code (costs performance)]
14292b15cb3dSCy Schubert    )],
14302b15cb3dSCy Schubert    [ntp_ok=$enableval],
14312b15cb3dSCy Schubert    [ntp_ok=no]
14322b15cb3dSCy Schubert)
14332b15cb3dSCy Schubertcase "$ntp_ok" in
14342b15cb3dSCy Schubert yes)
14352b15cb3dSCy Schubert    AC_DEFINE([DEBUG_TIMING], [1], [Enable processing time debugging?])
14362b15cb3dSCy Schubertesac
14372b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
14382b15cb3dSCy Schubert
14392b15cb3dSCy SchubertAC_MSG_CHECKING([for a the number of minutes in a DST adjustment])
14402b15cb3dSCy SchubertAC_ARG_ENABLE(
14412b15cb3dSCy Schubert    [dst-minutes],
14422b15cb3dSCy Schubert    [AS_HELP_STRING(
1443eb6d21b4SOllivier Robert	[--enable-dst-minutes],
14442b15cb3dSCy Schubert	[=60 minutes per DST adjustment])   dnl @<:@ is [, @:>@ is ]
14452b15cb3dSCy Schubert    ],
1446eb6d21b4SOllivier Robert    [ans=$enableval],
1447eb6d21b4SOllivier Robert    [ans=60]
1448eb6d21b4SOllivier Robert)
14492b15cb3dSCy SchubertAC_DEFINE_UNQUOTED([DSTMINUTES], [$ans],
14502b15cb3dSCy Schubert    [The number of minutes in a DST adjustment])
1451eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
1452ea906c41SOllivier Robert
14532b15cb3dSCy SchubertAC_MSG_CHECKING([if ntpd will retry permanent DNS failures])
1454eb6d21b4SOllivier RobertAC_ARG_ENABLE(
1455eb6d21b4SOllivier Robert    [ignore-dns-errors],
14562b15cb3dSCy Schubert    [AS_HELP_STRING(
1457eb6d21b4SOllivier Robert	[--enable-ignore-dns-errors],
1458eb6d21b4SOllivier Robert	[- retry DNS queries on any error]
14592b15cb3dSCy Schubert    )],
1460eb6d21b4SOllivier Robert    [ans=$enableval],
1461eb6d21b4SOllivier Robert    [ans=no]
1462eb6d21b4SOllivier Robert)
1463eb6d21b4SOllivier Robertcase "$ans" in
1464eb6d21b4SOllivier Robert yes)
14652b15cb3dSCy Schubert    AC_DEFINE([IGNORE_DNS_ERRORS], [1],
14662b15cb3dSCy Schubert	[Retry queries on _any_ DNS error?])
1467eb6d21b4SOllivier Robertesac
1468eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
1469eb6d21b4SOllivier Robert
14702b15cb3dSCy SchubertAC_CACHE_CHECK(
14712b15cb3dSCy Schubert    [availability of ntp_{adj,get}time()],
14722b15cb3dSCy Schubert    [ntp_cv_var_ntp_syscalls],
14732b15cb3dSCy Schubert    [
14742b15cb3dSCy Schubert	ntp_cv_var_ntp_syscalls=no
1475ea906c41SOllivier Robert	case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime$ac_cv_func___adjtimex" in
1476ea906c41SOllivier Robert	 yesyes*)
14772b15cb3dSCy Schubert	    ntp_cv_var_ntp_syscalls=libc
1478ea906c41SOllivier Robert	    ;;
1479ea906c41SOllivier Robert	 *yes)
14802b15cb3dSCy Schubert	    ntp_cv_var_ntp_syscalls=inline
1481ea906c41SOllivier Robert	    ;;
1482ea906c41SOllivier Robert	 *)
14832b15cb3dSCy Schubert	    AC_PREPROC_IFELSE(
1484a25439b6SCy Schubert		[AC_LANG_SOURCE(
14852b15cb3dSCy Schubert		    [
14862b15cb3dSCy Schubert			#include <sys/syscall.h>
14872b15cb3dSCy Schubert			#if !defined(SYS_ntp_gettime) || !defined(SYS_ntp_adjtime)
14882b15cb3dSCy Schubert			# error
1489ea906c41SOllivier Robert			#endif
1490a25439b6SCy Schubert		    ])],
14912b15cb3dSCy Schubert		[ntp_cv_var_ntp_syscalls=kernel]
14922b15cb3dSCy Schubert	    )
1493ea906c41SOllivier Robert	    ;;
14942b15cb3dSCy Schubert	 esac
14952b15cb3dSCy Schubert    ]
14962b15cb3dSCy Schubert)
14972b15cb3dSCy Schubertcase "$ntp_cv_var_ntp_syscalls" in
14982b15cb3dSCy Schubert libc)
14992b15cb3dSCy Schubert    AC_DEFINE([NTP_SYSCALLS_LIBC], [1],
15002b15cb3dSCy Schubert	[Do we have ntp_{adj,get}time in libc?])
1501ea906c41SOllivier Robert    ;;
15022b15cb3dSCy Schubert kernel)
15032b15cb3dSCy Schubert    AC_DEFINE([NTP_SYSCALLS_STD], [1],
15042b15cb3dSCy Schubert	[Do we have ntp_{adj,get}time in the kernel?])
1505ea906c41SOllivier Robert    ;;
1506ea906c41SOllivier Robertesac
1507ea906c41SOllivier Robert
15082b15cb3dSCy SchubertAC_CACHE_CHECK(
15092b15cb3dSCy Schubert    [if sys/timex.h has STA_FLL],
15102b15cb3dSCy Schubert    [ntp_cv_var_sta_fll],
15112b15cb3dSCy Schubert    [AC_PREPROC_IFELSE(
1512a25439b6SCy Schubert	[AC_LANG_SOURCE(
15132b15cb3dSCy Schubert	    [
15142b15cb3dSCy Schubert		#include <sys/timex.h>
15152b15cb3dSCy Schubert		#ifndef STA_FLL
15162b15cb3dSCy Schubert		# error
15172b15cb3dSCy Schubert		#endif
1518a25439b6SCy Schubert	    ])],
15192b15cb3dSCy Schubert	[ntp_cv_var_sta_fll=yes],
15202b15cb3dSCy Schubert	[ntp_cv_var_sta_fll=no]
15212b15cb3dSCy Schubert    )]
15222b15cb3dSCy Schubert)
15232b15cb3dSCy Schubert
15242b15cb3dSCy SchubertAC_CACHE_CHECK(
15252b15cb3dSCy Schubert    [if we have kernel PLL support],
15262b15cb3dSCy Schubert    [ntp_cv_var_kernel_pll],
15272b15cb3dSCy Schubert    [dnl ntp_cv_var_ntp_syscalls is {no,libc,kernel}
15282b15cb3dSCy Schubert	case "$ac_cv_header_sys_timex_h$ntp_cv_struct_ntptimeval$ntp_cv_var_sta_fll$ntp_cv_var_ntp_syscalls" in
15292b15cb3dSCy Schubert	 *no*)
15302b15cb3dSCy Schubert	    ntp_cv_var_kernel_pll=no
15312b15cb3dSCy Schubert	    ;;
15322b15cb3dSCy Schubert	 *) ntp_cv_var_kernel_pll=yes
15332b15cb3dSCy Schubert	    ;;
15342b15cb3dSCy Schubert	esac
15352b15cb3dSCy Schubert    ]
15362b15cb3dSCy Schubert)
15372b15cb3dSCy Schubertcase "$ntp_cv_var_kernel_pll" in
15382b15cb3dSCy Schubert yes)
15392b15cb3dSCy Schubert    AC_DEFINE([KERNEL_PLL], [1],
15402b15cb3dSCy Schubert	[Does the kernel support precision time discipline?])
15412b15cb3dSCy Schubertesac
15422b15cb3dSCy Schubert
15432b15cb3dSCy SchubertAC_CACHE_CHECK(
15442b15cb3dSCy Schubert    [if SIOCGIFCONF returns buffer size in the buffer],
15452b15cb3dSCy Schubert    [ntp_cv_size_returned_in_buffer],
15462b15cb3dSCy Schubert    [
15472b15cb3dSCy Schubert	ans=no
1548ea906c41SOllivier Robert	case "$host" in
1549ea906c41SOllivier Robert	 *-fujitsu-uxp*)
1550ea906c41SOllivier Robert	    ans=yes
1551ea906c41SOllivier Robert	    ;;
1552ea906c41SOllivier Robert	 *-ncr-sysv4*)
1553ea906c41SOllivier Robert	    ans=yes
1554ea906c41SOllivier Robert	    ;;
1555ea906c41SOllivier Robert	 *-univel-sysv*)
1556ea906c41SOllivier Robert	    ans=yes
1557ea906c41SOllivier Robert	    ;;
1558ea906c41SOllivier Robert	esac
15592b15cb3dSCy Schubert	ntp_cv_size_returned_in_buffer=$ans
15602b15cb3dSCy Schubert    ]
15612b15cb3dSCy Schubert)
15622b15cb3dSCy Schubertcase "$ntp_cv_size_returned_in_buffer" in
15632b15cb3dSCy Schubert yes)
15642b15cb3dSCy Schubert    AC_DEFINE([SIZE_RETURNED_IN_BUFFER], [1],
15652b15cb3dSCy Schubert	[Does SIOCGIFCONF return size in the buffer?])
1566ea906c41SOllivier Robertesac
1567ea906c41SOllivier Robert
1568ea906c41SOllivier Robert# Check for ioctls TIOCGPPSEV
15692b15cb3dSCy SchubertAC_MSG_CHECKING([for TTY PPS ioctl TIOCGPPSEV])
15702b15cb3dSCy Schubertcase "$ac_cv_header_termios_h" in
15712b15cb3dSCy Schubert yes)
15722b15cb3dSCy Schubert    AC_PREPROC_IFELSE(
1573a25439b6SCy Schubert	[AC_LANG_SOURCE([
15742b15cb3dSCy Schubert	    #include <termios.h>
15752b15cb3dSCy Schubert	    #ifndef TIOCGPPSEV
15762b15cb3dSCy Schubert	    # error
1577ea906c41SOllivier Robert	    #endif
1578a25439b6SCy Schubert	])],
15792b15cb3dSCy Schubert	[ntp_ok=yes],
15802b15cb3dSCy Schubert	[ntp_ok=no]
15812b15cb3dSCy Schubert    )
15822b15cb3dSCy Schubert    ;;
15832b15cb3dSCy Schubert *)
1584ea906c41SOllivier Robert    ntp_ok=no
15852b15cb3dSCy Schubert    ;;
15862b15cb3dSCy Schubertesac
15872b15cb3dSCy Schubertcase "$ntp_ok" in
15882b15cb3dSCy Schubert yes)
15892b15cb3dSCy Schubert    AC_DEFINE([HAVE_TIOCGPPSEV], [1],
15902b15cb3dSCy Schubert	[Do we have the TIOCGPPSEV ioctl (Solaris)?])
15912b15cb3dSCy Schubertesac
15922b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1593ea906c41SOllivier Robert
1594ea906c41SOllivier Robert# Check for ioctls TIOCSPPS
15952b15cb3dSCy SchubertAC_MSG_CHECKING([for TTY PPS ioctl TIOCSPPS])
15962b15cb3dSCy Schubertcase "$ac_cv_header_termios_h" in
15972b15cb3dSCy Schubert yes)
15982b15cb3dSCy Schubert    AC_PREPROC_IFELSE(
1599a25439b6SCy Schubert	[AC_LANG_SOURCE([
16002b15cb3dSCy Schubert	    #include <termios.h>
16012b15cb3dSCy Schubert	    #ifndef TIOCSPPS
16022b15cb3dSCy Schubert	    # error
1603ea906c41SOllivier Robert	    #endif
1604a25439b6SCy Schubert	 ])],
16052b15cb3dSCy Schubert	 [ntp_ok=yes],
16062b15cb3dSCy Schubert	 [ntp_ok=no]
16072b15cb3dSCy Schubert    )
16082b15cb3dSCy Schubert    ;;
16092b15cb3dSCy Schubert *)
1610ea906c41SOllivier Robert    ntp_ok=no
16112b15cb3dSCy Schubert    ;;
16122b15cb3dSCy Schubertesac
16132b15cb3dSCy Schubertcase "$ntp_ok" in
16142b15cb3dSCy Schubert yes)
16152b15cb3dSCy Schubert    AC_DEFINE([HAVE_TIOCSPPS], [1],
16162b15cb3dSCy Schubert	[Do we have the TIOCSPPS ioctl (Solaris)?])
16172b15cb3dSCy Schubertesac
16182b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1619ea906c41SOllivier Robert
1620ea906c41SOllivier Robert# Check for ioctls CIOGETEV
16212b15cb3dSCy SchubertAC_MSG_CHECKING([for TTY PPS ioctl CIOGETEV])
16222b15cb3dSCy Schubertcase "$ac_cv_header_sys_ppsclock_h" in
16232b15cb3dSCy Schubert yes)
16242b15cb3dSCy Schubert    AC_PREPROC_IFELSE(
1625a25439b6SCy Schubert	[AC_LANG_SOURCE([
16262b15cb3dSCy Schubert	    #include <sys/ppsclock.h>
16272b15cb3dSCy Schubert	    #ifndef CIOGETEV
16282b15cb3dSCy Schubert	    # error
1629ea906c41SOllivier Robert	    #endif
1630a25439b6SCy Schubert	])],
16312b15cb3dSCy Schubert	[ntp_ok=yes],
16322b15cb3dSCy Schubert	[ntp_ok=no]
16332b15cb3dSCy Schubert    )
16342b15cb3dSCy Schubert    ;;
16352b15cb3dSCy Schubert *)
1636ea906c41SOllivier Robert    ntp_ok=no
16372b15cb3dSCy Schubert    ;;
16382b15cb3dSCy Schubertesac
16392b15cb3dSCy Schubertcase "$ntp_ok" in
16402b15cb3dSCy Schubert yes)
16412b15cb3dSCy Schubert    AC_DEFINE([HAVE_CIOGETEV], [1],
16422b15cb3dSCy Schubert	[Do we have the CIOGETEV ioctl (SunOS, Linux)?])
16432b15cb3dSCy Schubertesac
16442b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1645ea906c41SOllivier Robert
1646ea906c41SOllivier Robert# ATOM/PPSAPI stuff.
1647ea906c41SOllivier Robert
16482b15cb3dSCy Schubertntp_atom_ok=yes
1649ea906c41SOllivier Robert
1650ea906c41SOllivier Robert# Check for header timepps.h, if found then we have PPS API (Draft RFC) stuff.
1651ea906c41SOllivier Robert
1652ea906c41SOllivier Robert# The PPSAPI headers need "inline" ($ac_cv_c_inline='inline')
1653ea906c41SOllivier Robert# The PPSAPI needs struct timespec.
1654ea906c41SOllivier Robert# The PPSAPI also needs a timepps header.
1655ea906c41SOllivier Robert
16562b15cb3dSCy Schubertcase "$ac_cv_c_inline$ntp_cv_struct_timespec" in
1657ea906c41SOllivier Robert inlineyes)
1658ea906c41SOllivier Robert    case "$ac_cv_header_timepps_h$ac_cv_header_sys_timepps_h$host_os" in
1659ea906c41SOllivier Robert     *yes* | *sunos* | *solaris* | *sco* | *netbsd* )
1660ea906c41SOllivier Robert	AC_DEFINE(HAVE_PPSAPI, 1, [Do we have the PPS API per the Draft RFC?])
16612b15cb3dSCy Schubert	ntp_jupiter_ok=yes
16622b15cb3dSCy Schubert	ntp_oncore_ok=yes
16632b15cb3dSCy Schubert	ntp_parse_ok=yes
16642b15cb3dSCy Schubert	ntp_ripe_ncc_ok=yes
1665ea906c41SOllivier Robert	;;
1666ea906c41SOllivier Robert    esac
1667ea906c41SOllivier Robert    ;;
1668ea906c41SOllivier Robertesac
1669ea906c41SOllivier Robert
1670ea906c41SOllivier Robert# Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG
16712b15cb3dSCy SchubertAC_CHECK_HEADER([linux/serial.h])
1672ea906c41SOllivier Robertcase "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in
1673ea906c41SOllivier Robert  yesyes)
16742b15cb3dSCy Schubert    AC_MSG_CHECKING([ioctl TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG])
16752b15cb3dSCy Schubert    AC_PREPROC_IFELSE(
1676a25439b6SCy Schubert	[AC_LANG_SOURCE([
16772b15cb3dSCy Schubert	    #include <sys/time.h>
1678ea906c41SOllivier Robert	    typedef int u_int;
1679ea906c41SOllivier Robert	    #include <sys/ppsclock.h>
1680ea906c41SOllivier Robert	    #include <linux/serial.h>
1681ea906c41SOllivier Robert
16822b15cb3dSCy Schubert	    #ifndef TIOCGSERIAL
16832b15cb3dSCy Schubert	    # error
1684ea906c41SOllivier Robert	    #endif
16852b15cb3dSCy Schubert	    #ifndef TIOCSSERIAL
16862b15cb3dSCy Schubert	    # error
1687ea906c41SOllivier Robert	    #endif
16882b15cb3dSCy Schubert	    #ifndef ASYNC_PPS_CD_POS
16892b15cb3dSCy Schubert	    # error
1690ea906c41SOllivier Robert	    #endif
16912b15cb3dSCy Schubert	    #ifndef ASYNC_PPS_CD_NEG
16922b15cb3dSCy Schubert	    # error
1693ea906c41SOllivier Robert	    #endif
16942b15cb3dSCy Schubert	    #ifndef CIOGETEV
16952b15cb3dSCy Schubert	    # error
1696ea906c41SOllivier Robert	    #endif
1697a25439b6SCy Schubert	])],
16982b15cb3dSCy Schubert	[ntp_ok=yes],
16992b15cb3dSCy Schubert	[ntp_ok=no]
17002b15cb3dSCy Schubert    )
17012b15cb3dSCy Schubert    AC_MSG_RESULT([$ntp_ok])
1702ea906c41SOllivier Robert    ;;
1703ea906c41SOllivier Robert  *)
1704ea906c41SOllivier Robert    ntp_ok=no
1705ea906c41SOllivier Robert    ;;
1706ea906c41SOllivier Robertesac
17072b15cb3dSCy Schubertcase "$ntp_ok" in
17082b15cb3dSCy Schubert yes)
17092b15cb3dSCy Schubert    AC_DEFINE([HAVE_TIO_SERIAL_STUFF], 1,
17102b15cb3dSCy Schubert	[Do we have the TIO serial stuff?])
17112b15cb3dSCy Schubertesac
1712ea906c41SOllivier Robert
1713ea906c41SOllivier Robert# Check for SHMEM_STATUS support
1714eb6d21b4SOllivier RobertAC_MSG_CHECKING([SHMEM_STATUS support])
1715ea906c41SOllivier Robertcase "$ac_cv_header_sys_mman_h" in
17162b15cb3dSCy Schubert yes)
17172b15cb3dSCy Schubert    ntp_ok=yes
17182b15cb3dSCy Schubert    ;;
17192b15cb3dSCy Schubert *)
17202b15cb3dSCy Schubert    ntp_ok=no
17212b15cb3dSCy Schubert    ;;
1722ea906c41SOllivier Robertesac
17232b15cb3dSCy Schubertcase "$ntp_ok" in
17242b15cb3dSCy Schubert yes)
17252b15cb3dSCy Schubert    AC_DEFINE([ONCORE_SHMEM_STATUS], [1],
17262b15cb3dSCy Schubert	[Do we have support for SHMEM_STATUS?])
17272b15cb3dSCy Schubertesac
17282b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1729ea906c41SOllivier Robert
1730ea906c41SOllivier Robertntp_refclock=no
1731ea906c41SOllivier Robert
1732ea906c41SOllivier Robert# HPUX only, and by explicit request
1733eb6d21b4SOllivier RobertAC_MSG_CHECKING([Datum/Bancomm bc635/VME interface])
17342b15cb3dSCy SchubertAC_ARG_ENABLE(
17352b15cb3dSCy Schubert    [BANCOMM],
17362b15cb3dSCy Schubert    [AS_HELP_STRING(
17372b15cb3dSCy Schubert	[--enable-BANCOMM],
17382b15cb3dSCy Schubert	[- Datum/Bancomm bc635/VME interface]
17392b15cb3dSCy Schubert    )],
17402b15cb3dSCy Schubert    [ntp_ok=$enableval],
17412b15cb3dSCy Schubert    [ntp_ok=no]
17422b15cb3dSCy Schubert)
17432b15cb3dSCy Schubertcase "$ntp_ok" in
17442b15cb3dSCy Schubert yes)
1745ea906c41SOllivier Robert    ntp_refclock=yes
17462b15cb3dSCy Schubert    AC_DEFINE([CLOCK_BANC], [1], [Datum/Bancomm bc635/VME interface?])
1747052d159aSCy Schubert    AC_SEARCH_LIBS([bcStartPci], [bcsdk], , , [])
17482b15cb3dSCy Schubert    ;;
17492b15cb3dSCy Schubertesac
17502b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1751ea906c41SOllivier Robertcase "$ntp_ok$host" in
1752ea906c41SOllivier Robert yes*-*-hpux*) ;;
1753eb6d21b4SOllivier Robert yes*) AC_MSG_WARN([*** But the expected answer is... no ***]) ;;
1754ea906c41SOllivier Robertesac
1755ea906c41SOllivier Robert
1756ea906c41SOllivier Robert#HPUX only, and only by explicit request
1757eb6d21b4SOllivier RobertAC_MSG_CHECKING([TrueTime GPS receiver/VME interface])
17582b15cb3dSCy SchubertAC_ARG_ENABLE(
17592b15cb3dSCy Schubert    [GPSVME],
17602b15cb3dSCy Schubert    [AS_HELP_STRING(
17612b15cb3dSCy Schubert	[--enable-GPSVME],
17622b15cb3dSCy Schubert	[- TrueTime GPS receiver/VME interface]
17632b15cb3dSCy Schubert    )],
17642b15cb3dSCy Schubert    [ntp_ok=$enableval],
17652b15cb3dSCy Schubert    [ntp_ok=no]
17662b15cb3dSCy Schubert)
17672b15cb3dSCy Schubertcase "$ntp_ok" in
17682b15cb3dSCy Schubert yes)
1769ea906c41SOllivier Robert    ntp_refclock=yes
17702b15cb3dSCy Schubert    AC_DEFINE([CLOCK_GPSVME], 1, [TrueTime GPS receiver/VME interface?])
17712b15cb3dSCy Schubert    ;;
17722b15cb3dSCy Schubertesac
17732b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1774ea906c41SOllivier Robertcase "$ntp_ok$host" in
1775ea906c41SOllivier Robert yes*-*-hpux*) ;;
1776eb6d21b4SOllivier Robert yes*) AC_MSG_WARN([*** But the expected answer is... no ***]) ;;
1777ea906c41SOllivier Robertesac
1778ea906c41SOllivier Robert
1779eb6d21b4SOllivier RobertAC_MSG_CHECKING([for PCL720 clock support])
1780ea906c41SOllivier Robertcase "$ac_cv_header_machine_inline_h$ac_cv_header_sys_pcl720_h$ac_cv_header_sys_i8253_h" in
1781ea906c41SOllivier Robert yesyesyes)
17822b15cb3dSCy Schubert    AC_DEFINE([CLOCK_PPS720], 1, [PCL 720 clock support])
1783ea906c41SOllivier Robert    ans=yes
1784ea906c41SOllivier Robert    ;;
1785ea906c41SOllivier Robert *)
1786ea906c41SOllivier Robert    ans=no
1787ea906c41SOllivier Robert    ;;
1788ea906c41SOllivier Robertesac
1789eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
1790ea906c41SOllivier Robert
1791eb6d21b4SOllivier RobertAC_MSG_CHECKING([for default inclusion of all suitable non-PARSE clocks])
17922b15cb3dSCy SchubertAC_ARG_ENABLE(
17932b15cb3dSCy Schubert    [all-clocks],
17942b15cb3dSCy Schubert    [AS_HELP_STRING(
17952b15cb3dSCy Schubert	[--enable-all-clocks],
17962b15cb3dSCy Schubert	[+ include all suitable non-PARSE clocks:]
17972b15cb3dSCy Schubert    )],
17982b15cb3dSCy Schubert    [ntp_eac=$enableval],
17992b15cb3dSCy Schubert    [ntp_eac=yes]
18002b15cb3dSCy Schubert)
18012b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_eac])
1802ea906c41SOllivier Robert
18032b15cb3dSCy Schubert# HMS: Should we also require ntp_parse_ok?
1804eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we have support for PARSE clocks])
18052b15cb3dSCy Schubertcase "$ntp_atom_ok$ac_cv_header_termio_h$ac_cv_header_termios_h" in
1806ea906c41SOllivier Robert yes*yes*)
1807ea906c41SOllivier Robert    ntp_canparse=yes
1808ea906c41SOllivier Robert    ;;
1809ea906c41SOllivier Robert *) ntp_canparse=no
1810ea906c41SOllivier Robert    ;;
1811ea906c41SOllivier Robertesac
18122b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_canparse])
1813ea906c41SOllivier Robert
1814ea906c41SOllivier RobertAC_MSG_CHECKING([if we have support for audio clocks])
1815ea906c41SOllivier Robertcase "$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
1816ea906c41SOllivier Robert *yes*)
1817ea906c41SOllivier Robert    ntp_canaudio=yes
18182b15cb3dSCy Schubert    AC_DEFINE([HAVE_AUDIO], [], [Do we have audio support?])
1819ea906c41SOllivier Robert    ;;
1820ea906c41SOllivier Robert *) ntp_canaudio=no ;;
1821ea906c41SOllivier Robertesac
18222b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_canaudio])
1823ea906c41SOllivier Robert
1824ea906c41SOllivier RobertAC_MSG_CHECKING([if we have support for the SHM refclock interface])
1825ea906c41SOllivier Robertcase "$ac_cv_header_sys_ipc_h$ac_cv_header_sys_shm_h" in
1826ea906c41SOllivier Robert yesyes)
1827ea906c41SOllivier Robert    ntp_canshm=yes
1828ea906c41SOllivier Robert    ;;
1829ea906c41SOllivier Robert *) ntp_canshm=no ;;
1830ea906c41SOllivier Robertesac
18312b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_canshm])
1832ea906c41SOllivier Robert
18332b15cb3dSCy Schubert# Test for termios TIOCMBIS modem control (ACTS, Heath, Palisade)
18342b15cb3dSCy SchubertAC_CACHE_CHECK(
18352b15cb3dSCy Schubert    [for termios modem control],
18362b15cb3dSCy Schubert    [ntp_cv_modem_control],
18372b15cb3dSCy Schubert    [AC_COMPILE_IFELSE(
18382b15cb3dSCy Schubert	[AC_LANG_PROGRAM(
18392b15cb3dSCy Schubert	    [[
18402b15cb3dSCy Schubert		#ifdef HAVE_UNISTD_H
18412b15cb3dSCy Schubert		# include <unistd.h>
18422b15cb3dSCy Schubert		#endif
18432b15cb3dSCy Schubert		#ifdef HAVE_TERMIOS_H
18442b15cb3dSCy Schubert		# include <termios.h>
18452b15cb3dSCy Schubert		#endif
1846ea906c41SOllivier Robert		#ifdef HAVE_SYS_IOCTL_H
1847ea906c41SOllivier Robert		# include <sys/ioctl.h>
1848ea906c41SOllivier Robert		#endif
18492b15cb3dSCy Schubert	    ]],
18502b15cb3dSCy Schubert	    [[
18512b15cb3dSCy Schubert		int	dtr = TIOCM_DTR;
18522b15cb3dSCy Schubert
18532b15cb3dSCy Schubert		ioctl(1, TIOCMBIS, (char *)&dtr);
18542b15cb3dSCy Schubert	    ]]
18552b15cb3dSCy Schubert	)],
18562b15cb3dSCy Schubert	[ntp_cv_modem_control=yes],
18572b15cb3dSCy Schubert	[ntp_cv_modem_control=no]
18582b15cb3dSCy Schubert    )]
18592b15cb3dSCy Schubert)
18602b15cb3dSCy Schubertcase "$ntp_eac::$ntp_cv_modem_control" in
18612b15cb3dSCy Schubert yes::yes)
18622b15cb3dSCy Schubert    ntp_enable_all_modem_control_clocks=yes
18632b15cb3dSCy Schubert    ;;
18642b15cb3dSCy Schubert *)
18652b15cb3dSCy Schubert    ntp_enable_all_modem_control_clocks=no
18662b15cb3dSCy Schubert    ;;
18672b15cb3dSCy Schubertesac
18682b15cb3dSCy Schubert
18692b15cb3dSCy Schubert# Requires modem control
18702b15cb3dSCy SchubertAC_MSG_CHECKING([ACTS modem service])
18712b15cb3dSCy SchubertAC_ARG_ENABLE(
18722b15cb3dSCy Schubert    [ACTS],
18732b15cb3dSCy Schubert    [AS_HELP_STRING(
18742b15cb3dSCy Schubert	[--enable-ACTS],
18752b15cb3dSCy Schubert	[s ACTS modem service]
18762b15cb3dSCy Schubert    )],
18772b15cb3dSCy Schubert    [ntp_ok=$enableval],
18782b15cb3dSCy Schubert    [ntp_ok=$ntp_enable_all_modem_control_clocks]
18792b15cb3dSCy Schubert)
18802b15cb3dSCy Schubertcase "$ntp_ok" in
18812b15cb3dSCy Schubert yes)
1882ea906c41SOllivier Robert    ntp_refclock=yes
18832b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ACTS], [1], [ACTS modem service])
18842b15cb3dSCy Schubert    ;;
18852b15cb3dSCy Schubertesac
18862b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1887ea906c41SOllivier Robert
1888eb6d21b4SOllivier RobertAC_MSG_CHECKING([Arbiter 1088A/B GPS receiver])
18892b15cb3dSCy SchubertAC_ARG_ENABLE(
18902b15cb3dSCy Schubert    [ARBITER],
18912b15cb3dSCy Schubert    [AS_HELP_STRING(
18922b15cb3dSCy Schubert	[--enable-ARBITER],
18932b15cb3dSCy Schubert	[+ Arbiter 1088A/B GPS receiver]
18942b15cb3dSCy Schubert    )],
18952b15cb3dSCy Schubert    [ntp_ok=$enableval],
18962b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
18972b15cb3dSCy Schubert)
18982b15cb3dSCy Schubertcase "$ntp_ok" in
18992b15cb3dSCy Schubert yes)
1900ea906c41SOllivier Robert    ntp_refclock=yes
19012b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ARBITER], [1], [Arbiter 1088A/B GPS receiver])
19022b15cb3dSCy Schubert    ;;
19032b15cb3dSCy Schubertesac
19042b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1905ea906c41SOllivier Robert
1906eb6d21b4SOllivier RobertAC_MSG_CHECKING([Arcron MSF receiver])
19072b15cb3dSCy SchubertAC_ARG_ENABLE(
19082b15cb3dSCy Schubert    [ARCRON_MSF],
19092b15cb3dSCy Schubert    [AS_HELP_STRING(
19102b15cb3dSCy Schubert	[--enable-ARCRON-MSF],
19112b15cb3dSCy Schubert	[+ Arcron MSF receiver]
19122b15cb3dSCy Schubert    )],
19132b15cb3dSCy Schubert    [ntp_ok=$enableval],
19142b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
19152b15cb3dSCy Schubert)
19162b15cb3dSCy Schubertcase "$ntp_ok" in
19172b15cb3dSCy Schubert yes)
1918ea906c41SOllivier Robert    ntp_refclock=yes
19192b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ARCRON_MSF], [1], [ARCRON support?])
19202b15cb3dSCy Schubert    ;;
19212b15cb3dSCy Schubertesac
19222b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1923ea906c41SOllivier Robert
1924eb6d21b4SOllivier RobertAC_MSG_CHECKING([Austron 2200A/2201A GPS receiver])
19252b15cb3dSCy SchubertAC_ARG_ENABLE(
19262b15cb3dSCy Schubert    [AS2201],
19272b15cb3dSCy Schubert    [AS_HELP_STRING(
19282b15cb3dSCy Schubert	[--enable-AS2201],
19292b15cb3dSCy Schubert	[+ Austron 2200A/2201A GPS receiver]
19302b15cb3dSCy Schubert    )],
19312b15cb3dSCy Schubert    [ntp_ok=$enableval],
19322b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
19332b15cb3dSCy Schubert)
19342b15cb3dSCy Schubertcase "$ntp_ok" in
19352b15cb3dSCy Schubert yes)
1936ea906c41SOllivier Robert    ntp_refclock=yes
19372b15cb3dSCy Schubert    AC_DEFINE([CLOCK_AS2201], [1], [Austron 2200A/2201A GPS receiver?])
19382b15cb3dSCy Schubert    ;;
19392b15cb3dSCy Schubertesac
19402b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1941ea906c41SOllivier Robert
1942eb6d21b4SOllivier RobertAC_MSG_CHECKING([ATOM PPS interface])
19432b15cb3dSCy SchubertAC_ARG_ENABLE(
19442b15cb3dSCy Schubert    [ATOM],
19452b15cb3dSCy Schubert    [AS_HELP_STRING(
19462b15cb3dSCy Schubert	[--enable-ATOM],
19472b15cb3dSCy Schubert	[s ATOM PPS interface]
19482b15cb3dSCy Schubert    )],
19492b15cb3dSCy Schubert    [ntp_ok=$enableval],
19502b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
19512b15cb3dSCy Schubert)
19522b15cb3dSCy Schubertcase "$ntp_atom_ok" in
1953ea906c41SOllivier Robert no) ntp_ok=no ;;
1954ea906c41SOllivier Robertesac
19552b15cb3dSCy Schubertcase "$ntp_ok" in
19562b15cb3dSCy Schubert yes)
1957ea906c41SOllivier Robert    ntp_refclock=yes
19582b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ATOM], [1], [PPS interface?])
19592b15cb3dSCy Schubert    ;;
19602b15cb3dSCy Schubertesac
19612b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1962ea906c41SOllivier Robert
1963eb6d21b4SOllivier RobertAC_MSG_CHECKING([Chrono-log K-series WWVB receiver])
19642b15cb3dSCy SchubertAC_ARG_ENABLE(
19652b15cb3dSCy Schubert    [CHRONOLOG],
19662b15cb3dSCy Schubert    [AS_HELP_STRING(
19672b15cb3dSCy Schubert	[--enable-CHRONOLOG],
19682b15cb3dSCy Schubert	[+ Chrono-log K-series WWVB receiver]
19692b15cb3dSCy Schubert    )],
19702b15cb3dSCy Schubert    [ntp_ok=$enableval],
19712b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
19722b15cb3dSCy Schubert)
19732b15cb3dSCy Schubertcase "$ntp_ok" in
19742b15cb3dSCy Schubert yes)
1975ea906c41SOllivier Robert    ntp_refclock=yes
19762b15cb3dSCy Schubert    AC_DEFINE([CLOCK_CHRONOLOG], [1], [Chronolog K-series WWVB receiver?])
19772b15cb3dSCy Schubert    ;;
19782b15cb3dSCy Schubertesac
19792b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
1980ea906c41SOllivier Robert
1981eb6d21b4SOllivier RobertAC_MSG_CHECKING([CHU modem/decoder])
19822b15cb3dSCy SchubertAC_ARG_ENABLE(
19832b15cb3dSCy Schubert    [CHU],
19842b15cb3dSCy Schubert    [AS_HELP_STRING(
19852b15cb3dSCy Schubert	[--enable-CHU],
19862b15cb3dSCy Schubert	[+ CHU modem/decoder]
19872b15cb3dSCy Schubert    )],
19882b15cb3dSCy Schubert    [ntp_ok=$enableval],
19892b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
19902b15cb3dSCy Schubert)
19912b15cb3dSCy Schubertcase "$ntp_ok" in
19922b15cb3dSCy Schubert yes)
1993ea906c41SOllivier Robert    ntp_refclock=yes
19942b15cb3dSCy Schubert    AC_DEFINE([CLOCK_CHU], [1], [CHU modem/decoder])
19952b15cb3dSCy Schubert    ;;
19962b15cb3dSCy Schubertesac
19972b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
19982b15cb3dSCy Schubertntp_refclock_chu=$ntp_ok
1999ea906c41SOllivier Robert
2000eb6d21b4SOllivier RobertAC_MSG_CHECKING([CHU audio/decoder])
20012b15cb3dSCy SchubertAC_ARG_ENABLE(
20022b15cb3dSCy Schubert    [AUDIO-CHU],
20032b15cb3dSCy Schubert    [AS_HELP_STRING(
20042b15cb3dSCy Schubert	[--enable-AUDIO-CHU],
20052b15cb3dSCy Schubert	[s CHU audio/decoder]
20062b15cb3dSCy Schubert    )],
2007ea906c41SOllivier Robert    [ntp_ok=$enableval],
20082b15cb3dSCy Schubert    [
20092b15cb3dSCy Schubert	case "$ntp_eac$ntp_refclock_chu$ntp_canaudio" in
2010ea906c41SOllivier Robert	 *no*)	ntp_ok=no  ;;
2011ea906c41SOllivier Robert	 *)	ntp_ok=yes ;;
20122b15cb3dSCy Schubert	esac
20132b15cb3dSCy Schubert    ]
20142b15cb3dSCy Schubert)
20152b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2016ea906c41SOllivier Robert# We used to check for sunos/solaris target...
20172b15cb3dSCy Schubertcase "$ntp_ok$ntp_refclock_chu$ntp_canaudio" in
20182b15cb3dSCy Schubert yes*no*) AC_MSG_WARN([*** But the expected answer is...no ***])
2019ea906c41SOllivier Robertesac
2020ea906c41SOllivier Robert
2021ea906c41SOllivier Robert# Not under HP-UX
2022eb6d21b4SOllivier RobertAC_MSG_CHECKING([Datum Programmable Time System])
20232b15cb3dSCy SchubertAC_ARG_ENABLE(
20242b15cb3dSCy Schubert    [DATUM],
20252b15cb3dSCy Schubert    [AS_HELP_STRING(
20262b15cb3dSCy Schubert	[--enable-DATUM],
20272b15cb3dSCy Schubert	[s Datum Programmable Time System]
20282b15cb3dSCy Schubert    )],
2029ea906c41SOllivier Robert    [ntp_ok=$enableval],
20302b15cb3dSCy Schubert    [
20312b15cb3dSCy Schubert	case "$ac_cv_header_termios_h" in
2032ea906c41SOllivier Robert	 yes)
2033ea906c41SOllivier Robert	    ntp_ok=$ntp_eac
2034ea906c41SOllivier Robert	    ;;
2035ea906c41SOllivier Robert	 *) ntp_ok=no
2036ea906c41SOllivier Robert	    ;;
20372b15cb3dSCy Schubert	esac
20382b15cb3dSCy Schubert    ]
20392b15cb3dSCy Schubert)
20402b15cb3dSCy Schubertcase "$ntp_ok" in
20412b15cb3dSCy Schubert yes)
2042ea906c41SOllivier Robert    ntp_refclock=yes
20432b15cb3dSCy Schubert    AC_DEFINE([CLOCK_DATUM], [1], [Datum Programmable Time System?])
20442b15cb3dSCy Schubert    ;;
20452b15cb3dSCy Schubertesac
20462b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2047ea906c41SOllivier Robert
2048eb6d21b4SOllivier RobertAC_MSG_CHECKING([Dumb generic hh:mm:ss local clock])
20492b15cb3dSCy SchubertAC_ARG_ENABLE(
20502b15cb3dSCy Schubert    [DUMBCLOCK],
20512b15cb3dSCy Schubert    [AS_HELP_STRING(
20522b15cb3dSCy Schubert	[--enable-DUMBCLOCK],
20532b15cb3dSCy Schubert	[+ Dumb generic hh:mm:ss local clock]
20542b15cb3dSCy Schubert    )],
20552b15cb3dSCy Schubert    [ntp_ok=$enableval],
20562b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
20572b15cb3dSCy Schubert)
20582b15cb3dSCy Schubertcase "$ntp_ok" in
20592b15cb3dSCy Schubert yes)
2060ea906c41SOllivier Robert    ntp_refclock=yes
20612b15cb3dSCy Schubert    AC_DEFINE([CLOCK_DUMBCLOCK], [1], [Dumb generic hh:mm:ss local clock?])
20622b15cb3dSCy Schubert    ;;
20632b15cb3dSCy Schubertesac
20642b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2065ea906c41SOllivier Robert
2066eb6d21b4SOllivier RobertAC_MSG_CHECKING([Forum Graphic GPS])
20672b15cb3dSCy SchubertAC_ARG_ENABLE(
20682b15cb3dSCy Schubert    [FG],
20692b15cb3dSCy Schubert    [AS_HELP_STRING(
20702b15cb3dSCy Schubert	[--enable-FG],
20712b15cb3dSCy Schubert	[+ Forum Graphic GPS]
20722b15cb3dSCy Schubert    )],
20732b15cb3dSCy Schubert    [ntp_ok=$enableval],
20742b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
20752b15cb3dSCy Schubert)
20762b15cb3dSCy Schubertcase "$ntp_ok" in
20772b15cb3dSCy Schubert yes)
2078ea906c41SOllivier Robert    ntp_refclock=yes
20792b15cb3dSCy Schubert    AC_DEFINE([CLOCK_FG], [1], [Forum Graphic GPS datating station driver?])
20802b15cb3dSCy Schubert    ;;
20812b15cb3dSCy Schubertesac
20822b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2083ea906c41SOllivier Robert
2084ea906c41SOllivier Robert# Requires modem control
2085eb6d21b4SOllivier RobertAC_MSG_CHECKING([Heath GC-1000 WWV/WWVH receiver])
20862b15cb3dSCy SchubertAC_ARG_ENABLE(
20872b15cb3dSCy Schubert    [HEATH],
20882b15cb3dSCy Schubert    [AS_HELP_STRING(
20892b15cb3dSCy Schubert	[--enable-HEATH],
20902b15cb3dSCy Schubert	[s Heath GC-1000 WWV/WWVH receiver]
20912b15cb3dSCy Schubert    )],
2092ea906c41SOllivier Robert    [ntp_ok=$enableval],
20932b15cb3dSCy Schubert    [ntp_ok=$ntp_enable_all_modem_control_clocks]
20942b15cb3dSCy Schubert)
20952b15cb3dSCy Schubertcase "$ntp_ok" in
20962b15cb3dSCy Schubert yes)
2097ea906c41SOllivier Robert    ntp_refclock=yes
20982b15cb3dSCy Schubert    AC_DEFINE([CLOCK_HEATH], [1], [Heath GC-1000 WWV/WWVH receiver?])
20992b15cb3dSCy Schubert    ;;
21002b15cb3dSCy Schubertesac
21012b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2102ea906c41SOllivier Robert
2103eb6d21b4SOllivier RobertAC_MSG_CHECKING([for hopf serial clock device])
21042b15cb3dSCy SchubertAC_ARG_ENABLE(
21052b15cb3dSCy Schubert    [HOPFSERIAL],
21062b15cb3dSCy Schubert    [AS_HELP_STRING(
21072b15cb3dSCy Schubert	[--enable-HOPFSERIAL],
21082b15cb3dSCy Schubert	[+ hopf serial clock device]
21092b15cb3dSCy Schubert    )],
21102b15cb3dSCy Schubert    [ntp_ok=$enableval],
21112b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
21122b15cb3dSCy Schubert)
21132b15cb3dSCy Schubertcase "$ntp_ok" in
21142b15cb3dSCy Schubert yes)
2115ea906c41SOllivier Robert    ntp_refclock=yes
21162b15cb3dSCy Schubert    AC_DEFINE([CLOCK_HOPF_SERIAL], [1], [HOPF serial clock device?])
21172b15cb3dSCy Schubert    ;;
21182b15cb3dSCy Schubertesac
21192b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2120ea906c41SOllivier Robert
2121eb6d21b4SOllivier RobertAC_MSG_CHECKING([for hopf PCI clock 6039])
21222b15cb3dSCy SchubertAC_ARG_ENABLE(
21232b15cb3dSCy Schubert    [HOPFPCI],
21242b15cb3dSCy Schubert    [AS_HELP_STRING(
21252b15cb3dSCy Schubert	[--enable-HOPFPCI],
21262b15cb3dSCy Schubert	[+ hopf 6039 PCI board]
21272b15cb3dSCy Schubert    )],
21282b15cb3dSCy Schubert    [ntp_ok=$enableval],
21292b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
21302b15cb3dSCy Schubert)
21312b15cb3dSCy Schubertcase "$ntp_ok" in
21322b15cb3dSCy Schubert yes)
2133ea906c41SOllivier Robert    ntp_refclock=yes
21342b15cb3dSCy Schubert    AC_DEFINE([CLOCK_HOPF_PCI], [1], [HOPF PCI clock device?])
21352b15cb3dSCy Schubert    ;;
21362b15cb3dSCy Schubertesac
21372b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2138ea906c41SOllivier Robert
2139eb6d21b4SOllivier RobertAC_MSG_CHECKING([HP 58503A GPS receiver])
21402b15cb3dSCy SchubertAC_ARG_ENABLE(
21412b15cb3dSCy Schubert    [HPGPS],
21422b15cb3dSCy Schubert    [AS_HELP_STRING(
21432b15cb3dSCy Schubert	[--enable-HPGPS],
21442b15cb3dSCy Schubert	[+ HP 58503A GPS receiver]
21452b15cb3dSCy Schubert    )],
21462b15cb3dSCy Schubert    [ntp_ok=$enableval],
21472b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
21482b15cb3dSCy Schubert)
21492b15cb3dSCy Schubertcase "$ntp_ok" in
21502b15cb3dSCy Schubert yes)
2151ea906c41SOllivier Robert    ntp_refclock=yes
21522b15cb3dSCy Schubert    AC_DEFINE([CLOCK_HPGPS], 1, [HP 58503A GPS receiver?])
21532b15cb3dSCy Schubert    ;;
21542b15cb3dSCy Schubertesac
21552b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2156ea906c41SOllivier Robert
2157eb6d21b4SOllivier RobertAC_MSG_CHECKING([IRIG audio decoder])
21582b15cb3dSCy SchubertAC_ARG_ENABLE(
21592b15cb3dSCy Schubert    [IRIG],
21602b15cb3dSCy Schubert    [AS_HELP_STRING(
21612b15cb3dSCy Schubert	[--enable-IRIG],
21622b15cb3dSCy Schubert	[s IRIG audio decoder]
21632b15cb3dSCy Schubert    )],
2164ea906c41SOllivier Robert    [ntp_ok=$enableval],
21652b15cb3dSCy Schubert    [
21662b15cb3dSCy Schubert	case "$ntp_eac$ntp_canaudio" in
2167ea906c41SOllivier Robert	 *no*)	ntp_ok=no  ;;
2168ea906c41SOllivier Robert	 *)	ntp_ok=yes ;;
21692b15cb3dSCy Schubert	esac
21702b15cb3dSCy Schubert    ]
21712b15cb3dSCy Schubert)
21722b15cb3dSCy Schubertcase "$ntp_ok" in
21732b15cb3dSCy Schubert yes)
2174ea906c41SOllivier Robert    ntp_refclock=yes
21752b15cb3dSCy Schubert    AC_DEFINE([CLOCK_IRIG], [1], [IRIG audio decoder?])
21762b15cb3dSCy Schubert    ;;
21772b15cb3dSCy Schubertesac
21782b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2179ea906c41SOllivier Robertcase "$ntp_ok$ntp_canaudio" in
21802b15cb3dSCy Schubert yesno) AC_MSG_WARN([*** But the expected answer is... no ***])
2181ea906c41SOllivier Robertesac
2182ea906c41SOllivier Robert
2183eb6d21b4SOllivier RobertAC_MSG_CHECKING([for JJY receiver])
21842b15cb3dSCy SchubertAC_ARG_ENABLE(
21852b15cb3dSCy Schubert    [JJY],
21862b15cb3dSCy Schubert    [AS_HELP_STRING(
21872b15cb3dSCy Schubert	[--enable-JJY],
21882b15cb3dSCy Schubert	[+ JJY receiver]
21892b15cb3dSCy Schubert    )],
21902b15cb3dSCy Schubert    [ntp_ok=$enableval],
21912b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
21922b15cb3dSCy Schubert)
21932b15cb3dSCy Schubertcase "$ntp_ok" in
21942b15cb3dSCy Schubert yes)
2195ea906c41SOllivier Robert    ntp_refclock=yes
21962b15cb3dSCy Schubert    AC_DEFINE([CLOCK_JJY], [1], [JJY receiver?])
21972b15cb3dSCy Schubert    ;;
21982b15cb3dSCy Schubertesac
21992b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2200ea906c41SOllivier Robert
2201eb6d21b4SOllivier RobertAC_MSG_CHECKING([Rockwell Jupiter GPS receiver])
22022b15cb3dSCy SchubertAC_ARG_ENABLE(
22032b15cb3dSCy Schubert    [JUPITER],
22042b15cb3dSCy Schubert    [AS_HELP_STRING(
22052b15cb3dSCy Schubert	[--enable-JUPITER],
22062b15cb3dSCy Schubert	[s Rockwell Jupiter GPS receiver]
22072b15cb3dSCy Schubert    )],
2208ea906c41SOllivier Robert    [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
22092b15cb3dSCy Schubertcase "$ntp_jupiter_ok" in
2210ea906c41SOllivier Robert no) ntp_ok=no ;;
2211ea906c41SOllivier Robertesac
22122b15cb3dSCy Schubertcase "$ntp_ok" in
22132b15cb3dSCy Schubert yes)
2214ea906c41SOllivier Robert    ntp_refclock=yes
22152b15cb3dSCy Schubert    AC_DEFINE([CLOCK_JUPITER], [1], [Rockwell Jupiter GPS clock?])
22162b15cb3dSCy Schubert    ;;
22172b15cb3dSCy Schubertesac
22182b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2219ea906c41SOllivier Robert
2220eb6d21b4SOllivier RobertAC_MSG_CHECKING([Leitch CSD 5300 Master Clock System Driver])
22212b15cb3dSCy SchubertAC_ARG_ENABLE(
22222b15cb3dSCy Schubert    [LEITCH],
22232b15cb3dSCy Schubert    [AS_HELP_STRING(
22242b15cb3dSCy Schubert	[--enable-LEITCH],
22252b15cb3dSCy Schubert	[+ Leitch CSD 5300 Master Clock System Driver]
22262b15cb3dSCy Schubert    )],
22272b15cb3dSCy Schubert    [ntp_ok=$enableval],
22282b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
22292b15cb3dSCy Schubert)
22302b15cb3dSCy Schubertcase "$ntp_ok" in
22312b15cb3dSCy Schubert yes)
2232ea906c41SOllivier Robert    ntp_refclock=yes
22332b15cb3dSCy Schubert    AC_DEFINE([CLOCK_LEITCH], [1],
22342b15cb3dSCy Schubert	[Leitch CSD 5300 Master Clock System Driver?])
22352b15cb3dSCy Schubert    ;;
22362b15cb3dSCy Schubertesac
22372b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2238ea906c41SOllivier Robert
2239eb6d21b4SOllivier RobertAC_MSG_CHECKING([local clock reference])
22402b15cb3dSCy SchubertAC_ARG_ENABLE(
22412b15cb3dSCy Schubert    [LOCAL-CLOCK],
22422b15cb3dSCy Schubert    [AS_HELP_STRING(
22432b15cb3dSCy Schubert	[--enable-LOCAL-CLOCK],
22442b15cb3dSCy Schubert	[+ local clock reference]
22452b15cb3dSCy Schubert    )],
22462b15cb3dSCy Schubert    [ntp_ok=$enableval],
22472b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
22482b15cb3dSCy Schubert)
22492b15cb3dSCy Schubertcase "$ntp_ok" in
22502b15cb3dSCy Schubert yes)
2251ea906c41SOllivier Robert    ntp_refclock=yes
22522b15cb3dSCy Schubert    AC_DEFINE([CLOCK_LOCAL], [1], [local clock reference?])
22532b15cb3dSCy Schubert    ;;
22542b15cb3dSCy Schubertesac
22552b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2256ea906c41SOllivier Robert
2257ea906c41SOllivier Robertdnl Bug 340: longstanding unfixed bugs
22582b15cb3dSCy Schubertdnl AC_MSG_CHECKING([EES M201 MSF receiver])
22592b15cb3dSCy Schubertdnl AC_ARG_ENABLE([MSFEES],
22602b15cb3dSCy Schubertdnl     [AS_HELP_STRING([--enable-MSFEES], [+ EES M201 MSF receiver])],
2261ea906c41SOllivier Robertdnl     [ntp_ok=$enableval], [ntp_ok=$ntp_eac])
2262ea906c41SOllivier Robertdnl if test "$ntp_ok" = "yes"; then
2263ea906c41SOllivier Robertdnl     ntp_refclock=yes
22642b15cb3dSCy Schubertdnl     AC_DEFINE([CLOCK_MSFEES], [1], [EES M201 MSF receiver])
2265ea906c41SOllivier Robertdnl fi
22662b15cb3dSCy Schubertdnl AC_MSG_RESULT([$ntp_ok])
2267ea906c41SOllivier Robert
2268ea906c41SOllivier Robert# Not Ultrix
2269eb6d21b4SOllivier RobertAC_MSG_CHECKING([Magnavox MX4200 GPS receiver])
22702b15cb3dSCy SchubertAC_ARG_ENABLE(
22712b15cb3dSCy Schubert    [MX4200],
22722b15cb3dSCy Schubert    [AS_HELP_STRING(
22732b15cb3dSCy Schubert	[--enable-MX4200 ],
22742b15cb3dSCy Schubert	[s Magnavox MX4200 GPS receiver]
22752b15cb3dSCy Schubert    )],
2276ea906c41SOllivier Robert    [ntp_ok=$enableval],
22772b15cb3dSCy Schubert    [
22782b15cb3dSCy Schubert	case "$ac_cv_var_ppsclock" in
2279ea906c41SOllivier Robert	 yes)
2280ea906c41SOllivier Robert	    ntp_ok=$ntp_eac
2281ea906c41SOllivier Robert	    ;;
22822b15cb3dSCy Schubert	 *)
22832b15cb3dSCy Schubert	    ntp_ok=no
2284ea906c41SOllivier Robert	    ;;
22852b15cb3dSCy Schubert	esac
22862b15cb3dSCy Schubert    ]
22872b15cb3dSCy Schubert)
22882b15cb3dSCy Schubertcase "$ntp_ok" in
22892b15cb3dSCy Schubert yes)
2290ea906c41SOllivier Robert    ntp_refclock=yes
22912b15cb3dSCy Schubert    AC_DEFINE([CLOCK_MX4200], [1], [Magnavox MX4200 GPS receiver])
22922b15cb3dSCy Schubert    ;;
22932b15cb3dSCy Schubertesac
22942b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
22952b15cb3dSCy Schubertcase "$ntp_ok$host" in
22962b15cb3dSCy Schubert yes*-*-ultrix*) AC_MSG_WARN([*** But the expected answer is... no ***])
22972b15cb3dSCy Schubertesac
2298ea906c41SOllivier Robert
22992b15cb3dSCy SchubertAC_MSG_CHECKING([for NeoClock4X receiver])
23002b15cb3dSCy SchubertAC_ARG_ENABLE(
23012b15cb3dSCy Schubert    [NEOCLOCK4X],
23022b15cb3dSCy Schubert    [AS_HELP_STRING(
23032b15cb3dSCy Schubert	[--enable-NEOCLOCK4X],
23042b15cb3dSCy Schubert	[+ NeoClock4X DCF77 / TDF receiver]
23052b15cb3dSCy Schubert    )],
23062b15cb3dSCy Schubert    [ntp_ok=$enableval],
23072b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
23082b15cb3dSCy Schubert)
23092b15cb3dSCy Schubertcase "$ntp_ok" in
23102b15cb3dSCy Schubert yes)
2311ea906c41SOllivier Robert    ntp_refclock=yes
23122b15cb3dSCy Schubert    AC_DEFINE([CLOCK_NEOCLOCK4X], [1], [NeoClock4X])
23132b15cb3dSCy Schubert    ;;
23142b15cb3dSCy Schubertesac
23152b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2316ea906c41SOllivier Robert
23172b15cb3dSCy SchubertAC_MSG_CHECKING([NMEA GPS receiver])
23182b15cb3dSCy SchubertAC_ARG_ENABLE(
23192b15cb3dSCy Schubert    [NMEA],
23202b15cb3dSCy Schubert    [AS_HELP_STRING(
23212b15cb3dSCy Schubert	[--enable-NMEA],
23222b15cb3dSCy Schubert	[+ NMEA GPS receiver]
23232b15cb3dSCy Schubert    )],
23242b15cb3dSCy Schubert    [ntp_ok=$enableval],
23252b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
23262b15cb3dSCy Schubert)
23272b15cb3dSCy Schubertcase "$ntp_ok" in
23282b15cb3dSCy Schubert yes)
2329ea906c41SOllivier Robert    ntp_refclock=yes
23302b15cb3dSCy Schubert    AC_DEFINE([CLOCK_NMEA], [1], [NMEA GPS receiver])
23312b15cb3dSCy Schubert    ;;
23322b15cb3dSCy Schubertesac
23332b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2334ea906c41SOllivier Robert
23352b15cb3dSCy SchubertAC_CHECK_FUNCS([strtoll])
23362b15cb3dSCy SchubertAC_MSG_CHECKING([for GPSD JSON receiver])
23372b15cb3dSCy SchubertAC_ARG_ENABLE(
23382b15cb3dSCy Schubert    [GPSD],
23392b15cb3dSCy Schubert    [AS_HELP_STRING(
23402b15cb3dSCy Schubert	[--enable-GPSD],
23412b15cb3dSCy Schubert	[+ GPSD JSON receiver]
23422b15cb3dSCy Schubert    )],
23432b15cb3dSCy Schubert    [ntp_ok=$enableval],
23442b15cb3dSCy Schubert    [case "$ac_cv_func_strtoll" in
23452b15cb3dSCy Schubert     yes) ntp_ok=$ntp_eac ;;
23462b15cb3dSCy Schubert     *)   ntp_ok="no" ;;
23472b15cb3dSCy Schubert    esac]
23482b15cb3dSCy Schubert)
23492b15cb3dSCy Schubertcase "$ntp_ok" in
23502b15cb3dSCy Schubert yes)
23512b15cb3dSCy Schubert    ntp_refclock=yes
23522b15cb3dSCy Schubert    AC_DEFINE([CLOCK_GPSDJSON], [1], [GPSD JSON receiver])
23532b15cb3dSCy Schubert    ;;
23542b15cb3dSCy Schubertesac
23552b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
23562b15cb3dSCy Schubert
23572b15cb3dSCy SchubertAC_MSG_CHECKING([for ONCORE Motorola VP/UT Oncore GPS])
23582b15cb3dSCy SchubertAC_ARG_ENABLE(
23592b15cb3dSCy Schubert    [ONCORE],
23602b15cb3dSCy Schubert    [AS_HELP_STRING(
23612b15cb3dSCy Schubert	[--enable-ONCORE],
23622b15cb3dSCy Schubert	[s Motorola VP/UT Oncore GPS receiver]
23632b15cb3dSCy Schubert    )],
23642b15cb3dSCy Schubert    [ntp_ok=$enableval],
23652b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
23662b15cb3dSCy Schubert)
23672b15cb3dSCy Schubertcase "$ntp_oncore_ok" in
2368ea906c41SOllivier Robert no) ntp_ok=no ;;
2369ea906c41SOllivier Robertesac
23702b15cb3dSCy Schubertcase "$ntp_ok" in
23712b15cb3dSCy Schubert yes)
2372ea906c41SOllivier Robert    ntp_refclock=yes
23732b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ONCORE], 1, [Motorola UT Oncore GPS])
23742b15cb3dSCy Schubert    ;;
23752b15cb3dSCy Schubertesac
23762b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
23772b15cb3dSCy Schubert
23782b15cb3dSCy Schubert# Requires modem control
23792b15cb3dSCy SchubertAC_MSG_CHECKING([for Palisade clock])
23802b15cb3dSCy SchubertAC_ARG_ENABLE(
23812b15cb3dSCy Schubert    [PALISADE],
23822b15cb3dSCy Schubert    [AS_HELP_STRING(
23832b15cb3dSCy Schubert	[--enable-PALISADE],
23842b15cb3dSCy Schubert	[s Palisade clock]
23852b15cb3dSCy Schubert    )],
23862b15cb3dSCy Schubert    [ntp_ok=$enableval],
23872b15cb3dSCy Schubert    [ntp_ok=$ntp_enable_all_modem_control_clocks]
23882b15cb3dSCy Schubert)
23892b15cb3dSCy Schubertcase "$ntp_ok" in
23902b15cb3dSCy Schubert yes)
23912b15cb3dSCy Schubert    ntp_refclock=yes
23922b15cb3dSCy Schubert    AC_DEFINE([CLOCK_PALISADE], [1], [Palisade clock])
23932b15cb3dSCy Schubert    ;;
23942b15cb3dSCy Schubertesac
23952b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
23962b15cb3dSCy Schubert
23972b15cb3dSCy SchubertAC_MSG_CHECKING([Conrad parallel port radio clock])
23982b15cb3dSCy SchubertAC_ARG_ENABLE(
23992b15cb3dSCy Schubert    [PCF],
24002b15cb3dSCy Schubert    [AS_HELP_STRING(
24012b15cb3dSCy Schubert	[--enable-PCF ],
24022b15cb3dSCy Schubert	[+ Conrad parallel port radio clock]
24032b15cb3dSCy Schubert    )],
24042b15cb3dSCy Schubert    [ntp_ok=$enableval],
24052b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
24062b15cb3dSCy Schubert)
24072b15cb3dSCy Schubertcase "$ntp_ok" in
24082b15cb3dSCy Schubert yes)
24092b15cb3dSCy Schubert    ntp_refclock=yes
24102b15cb3dSCy Schubert    AC_DEFINE([CLOCK_PCF], [1], [Conrad parallel port radio clock])
24112b15cb3dSCy Schubert    ;;
24122b15cb3dSCy Schubertesac
24132b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
24142b15cb3dSCy Schubert
24152b15cb3dSCy SchubertAC_MSG_CHECKING([PST/Traconex 1020 WWV/WWVH receiver])
24162b15cb3dSCy SchubertAC_ARG_ENABLE(
24172b15cb3dSCy Schubert    [PST],
24182b15cb3dSCy Schubert    [AS_HELP_STRING(
24192b15cb3dSCy Schubert	[--enable-PST],
24202b15cb3dSCy Schubert	[+ PST/Traconex 1020 WWV/WWVH receiver]
24212b15cb3dSCy Schubert    )],
24222b15cb3dSCy Schubert    [ntp_ok=$enableval],
24232b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
24242b15cb3dSCy Schubert)
24252b15cb3dSCy Schubertcase "$ntp_ok" in
24262b15cb3dSCy Schubert yes)
24272b15cb3dSCy Schubert    ntp_refclock=yes
24282b15cb3dSCy Schubert    AC_DEFINE([CLOCK_PST], [1], [PST/Traconex 1020 WWV/WWVH receiver])
24292b15cb3dSCy Schubert    ;;
24302b15cb3dSCy Schubertesac
24312b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
24322b15cb3dSCy Schubert
24332b15cb3dSCy SchubertAC_MSG_CHECKING([RIPENCC specific Trimble driver])
24342b15cb3dSCy SchubertAC_ARG_ENABLE(
24352b15cb3dSCy Schubert    [RIPENCC],
24362b15cb3dSCy Schubert    [AS_HELP_STRING(
24372b15cb3dSCy Schubert	[--enable-RIPENCC],
24382b15cb3dSCy Schubert	[- RIPENCC specific Trimble driver]
24392b15cb3dSCy Schubert    )],
24402b15cb3dSCy Schubert    [ntp_ok=$enableval],
24412b15cb3dSCy Schubert    [ntp_ok=no]
24422b15cb3dSCy Schubert)
24432b15cb3dSCy Schubert# 020629: HMS: s/$ntp_eac -> -/no because of ptr += sprintf(ptr, ...) usage
24442b15cb3dSCy Schubertcase "$ntp_ripe_ncc_ok" in
24452b15cb3dSCy Schubert no) ntp_ok=no ;;
24462b15cb3dSCy Schubertesac
24472b15cb3dSCy Schubertcase "$ntp_ok" in
24482b15cb3dSCy Schubert yes)
24492b15cb3dSCy Schubert    ntp_refclock=yes
24502b15cb3dSCy Schubert    AC_DEFINE([CLOCK_RIPENCC], [],[RIPE NCC Trimble clock])
24512b15cb3dSCy Schubert    ;;
24522b15cb3dSCy Schubertesac
24532b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2454ea906c41SOllivier Robert
2455ea906c41SOllivier Robert# Danny Meyer says SHM compiles (with a few warnings) under Win32.
2456ea906c41SOllivier Robert# For *IX, we need sys/ipc.h and sys/shm.h.
2457eb6d21b4SOllivier RobertAC_MSG_CHECKING([for SHM clock attached thru shared memory])
24582b15cb3dSCy SchubertAC_ARG_ENABLE(
24592b15cb3dSCy Schubert    [SHM],
24602b15cb3dSCy Schubert    [AS_HELP_STRING(
24612b15cb3dSCy Schubert	[--enable-SHM],
24622b15cb3dSCy Schubert	[s SHM clock attached thru shared memory]
24632b15cb3dSCy Schubert    )],
2464ea906c41SOllivier Robert    [ntp_ok=$enableval],
24652b15cb3dSCy Schubert    [
24662b15cb3dSCy Schubert	case "$ntp_eac$ntp_canshm" in
2467ea906c41SOllivier Robert	 *no*)	ntp_ok=no  ;;
2468ea906c41SOllivier Robert	 *)	ntp_ok=yes ;;
24692b15cb3dSCy Schubert	esac
24702b15cb3dSCy Schubert    ]
24712b15cb3dSCy Schubert)
24722b15cb3dSCy Schubertcase "$ntp_ok" in
24732b15cb3dSCy Schubert yes)
2474ea906c41SOllivier Robert    ntp_refclock=yes
24752b15cb3dSCy Schubert    AC_DEFINE([CLOCK_SHM], [1], [clock thru shared memory])
24762b15cb3dSCy Schubert    ;;
24772b15cb3dSCy Schubertesac
24782b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2479ea906c41SOllivier Robert
2480eb6d21b4SOllivier RobertAC_MSG_CHECKING([Spectracom 8170/Netclock/2 WWVB receiver])
24812b15cb3dSCy SchubertAC_ARG_ENABLE(
24822b15cb3dSCy Schubert    [SPECTRACOM],
24832b15cb3dSCy Schubert    [AS_HELP_STRING(
24842b15cb3dSCy Schubert	[--enable-SPECTRACOM],
24852b15cb3dSCy Schubert	[+ Spectracom 8170/Netclock/2 WWVB receiver]
24862b15cb3dSCy Schubert    )],
24872b15cb3dSCy Schubert    [ntp_ok=$enableval],
24882b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
24892b15cb3dSCy Schubert)
24902b15cb3dSCy Schubertcase "$ntp_ok" in
24912b15cb3dSCy Schubert yes)
2492ea906c41SOllivier Robert    ntp_refclock=yes
24932b15cb3dSCy Schubert    AC_DEFINE([CLOCK_SPECTRACOM], [1],
24942b15cb3dSCy Schubert	[Spectracom 8170/Netclock/2 WWVB receiver])
24952b15cb3dSCy Schubert    ;;
24962b15cb3dSCy Schubertesac
24972b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2498ea906c41SOllivier Robert
2499eb6d21b4SOllivier RobertAC_MSG_CHECKING([KSI/Odetics TPRO/S GPS receiver/IRIG interface])
25002b15cb3dSCy SchubertAC_ARG_ENABLE(
25012b15cb3dSCy Schubert    [TPRO],
25022b15cb3dSCy Schubert    [AS_HELP_STRING(
25032b15cb3dSCy Schubert	[--enable-TPRO],
25042b15cb3dSCy Schubert	[s KSI/Odetics TPRO/S GPS receiver/IRIG interface]
25052b15cb3dSCy Schubert    )],
2506ea906c41SOllivier Robert    [ntp_ok=$enableval],
25072b15cb3dSCy Schubert    [
25082b15cb3dSCy Schubert	case "$ac_cv_header_sys_tpro_h" in
2509ea906c41SOllivier Robert	 yes)
2510ea906c41SOllivier Robert	    ntp_ok=$ntp_eac
2511ea906c41SOllivier Robert	    ;;
25122b15cb3dSCy Schubert	 *)
25132b15cb3dSCy Schubert	    ntp_ok=no
2514ea906c41SOllivier Robert	    ;;
2515ea906c41SOllivier Robert	esac
25162b15cb3dSCy Schubert    ]
25172b15cb3dSCy Schubert)
25182b15cb3dSCy Schubertcase "$ntp_ok" in
25192b15cb3dSCy Schubert yes)
25202b15cb3dSCy Schubert    ntp_refclock=yes
25212b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TPRO], [1],
25222b15cb3dSCy Schubert	[KSI/Odetics TPRO/S GPS receiver/IRIG interface])
25232b15cb3dSCy Schubert    ;;
25242b15cb3dSCy Schubertesac
25252b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
25262b15cb3dSCy Schubertcase "$ntp_ok$ac_cv_header_sys_tpro" in
25272b15cb3dSCy Schubert yesno) AC_MSG_WARN([*** But the expected answer is... no ***])
25282b15cb3dSCy Schubertesac
2529ea906c41SOllivier Robert
2530ea906c41SOllivier Robert# Not on a vax-dec-bsd
2531eb6d21b4SOllivier RobertAC_MSG_CHECKING([Kinemetrics/TrueTime receivers])
25322b15cb3dSCy SchubertAC_ARG_ENABLE(
25332b15cb3dSCy Schubert    [TRUETIME],
25342b15cb3dSCy Schubert    [AS_HELP_STRING(
25352b15cb3dSCy Schubert	[--enable-TRUETIME],
25362b15cb3dSCy Schubert	[s Kinemetrics/TrueTime receivers]
25372b15cb3dSCy Schubert    )],
2538ea906c41SOllivier Robert    [ntp_ok=$enableval],
25392b15cb3dSCy Schubert    [
25402b15cb3dSCy Schubert	case "$host" in
2541ea906c41SOllivier Robert	 vax-dec-bsd)
2542ea906c41SOllivier Robert	    ntp_ok=no
2543ea906c41SOllivier Robert	    ;;
2544ea906c41SOllivier Robert	 *)
2545ea906c41SOllivier Robert	    ntp_ok=$ntp_eac
2546ea906c41SOllivier Robert	    ;;
25472b15cb3dSCy Schubert	esac
25482b15cb3dSCy Schubert    ]
25492b15cb3dSCy Schubert)
25502b15cb3dSCy Schubertcase "$ntp_ok" in
25512b15cb3dSCy Schubert yes)
2552ea906c41SOllivier Robert    ntp_refclock=yes
25532b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TRUETIME], [1], [Kinemetrics/TrueTime receivers])
25542b15cb3dSCy Schubert    ;;
25552b15cb3dSCy Schubertesac
25562b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2557ea906c41SOllivier Robertcase "$ntp_ok$host" in
25582b15cb3dSCy Schubert yesvax-dec-bsd) AC_MSG_WARN([*** But the expected answer is... no ***])
2559ea906c41SOllivier Robertesac
2560ea906c41SOllivier Robert
2561eb6d21b4SOllivier RobertAC_MSG_CHECKING([TrueTime 560 IRIG-B decoder])
25622b15cb3dSCy SchubertAC_ARG_ENABLE(
25632b15cb3dSCy Schubert    [TT560],
25642b15cb3dSCy Schubert    [AS_HELP_STRING(
25652b15cb3dSCy Schubert	[--enable-TT560],
25662b15cb3dSCy Schubert	[- TrueTime 560 IRIG-B decoder]
25672b15cb3dSCy Schubert    )],
25682b15cb3dSCy Schubert    [ntp_ok=$enableval],
25692b15cb3dSCy Schubert    [ntp_ok=no]
25702b15cb3dSCy Schubert)
25712b15cb3dSCy Schubertcase "$ntp_ok" in
25722b15cb3dSCy Schubert yes)
2573ea906c41SOllivier Robert    ntp_refclock=yes
25742b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TT560], [], [TrueTime 560 IRIG-B decoder?])
25752b15cb3dSCy Schubert    ;;
25762b15cb3dSCy Schubertesac
25772b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2578ea906c41SOllivier Robert
2579eb6d21b4SOllivier RobertAC_MSG_CHECKING([Ultralink M320 WWVB receiver])
25802b15cb3dSCy SchubertAC_ARG_ENABLE(
25812b15cb3dSCy Schubert    [ULINK],
25822b15cb3dSCy Schubert    [AS_HELP_STRING(
25832b15cb3dSCy Schubert	[--enable-ULINK],
25842b15cb3dSCy Schubert	[+ Ultralink WWVB receiver]
25852b15cb3dSCy Schubert    )],
25862b15cb3dSCy Schubert    [ntp_ok=$enableval],
25872b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
25882b15cb3dSCy Schubert)
25892b15cb3dSCy Schubertcase "$ntp_ok" in
25902b15cb3dSCy Schubert yes)
2591ea906c41SOllivier Robert    ntp_refclock=yes
25922b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ULINK], [1], [Ultralink M320 WWVB receiver?])
25932b15cb3dSCy Schubert    ;;
25942b15cb3dSCy Schubertesac
25952b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
25962b15cb3dSCy Schubert
25972b15cb3dSCy SchubertAC_MSG_CHECKING([Spectracom TSYNC PCI timing board])
25982b15cb3dSCy SchubertAC_ARG_ENABLE(
25992b15cb3dSCy Schubert    [TSYNCPCI],
26002b15cb3dSCy Schubert    [AS_HELP_STRING(
26012b15cb3dSCy Schubert	[--enable-TSYNCPCI],
26022b15cb3dSCy Schubert	[s Spectracom TSYNC timing board]
26032b15cb3dSCy Schubert    )],
26042b15cb3dSCy Schubert    [ntp_ok=$enableval],
26052b15cb3dSCy Schubert    [
26062b15cb3dSCy Schubert	case "$host" in
26072b15cb3dSCy Schubert	 *-*-*linux*)
26082b15cb3dSCy Schubert	    ntp_ok=$ntp_eac
26092b15cb3dSCy Schubert	    ;;
26102b15cb3dSCy Schubert	 *)
26112b15cb3dSCy Schubert	    ntp_ok=no
26122b15cb3dSCy Schubert	esac
26132b15cb3dSCy Schubert    ]
26142b15cb3dSCy Schubert)
26152b15cb3dSCy Schubertcase "$ntp_ok" in
26162b15cb3dSCy Schubert yes)
26172b15cb3dSCy Schubert    ntp_refclock=yes
26182b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TSYNCPCI], [1], [Spectracom TSYNC timing board])
26192b15cb3dSCy Schubert    ;;
26202b15cb3dSCy Schubertesac
26212b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2622ea906c41SOllivier Robert
2623eb6d21b4SOllivier RobertAC_MSG_CHECKING([WWV receiver])
26242b15cb3dSCy SchubertAC_ARG_ENABLE(
26252b15cb3dSCy Schubert    [WWV],
26262b15cb3dSCy Schubert    [AS_HELP_STRING(
26272b15cb3dSCy Schubert	[--enable-WWV],
26282b15cb3dSCy Schubert	[s WWV Audio receiver]
26292b15cb3dSCy Schubert    )],
2630ea906c41SOllivier Robert    [ntp_ok=$enableval],
26312b15cb3dSCy Schubert    [
26322b15cb3dSCy Schubert	case "$ntp_eac$ntp_canaudio" in
2633ea906c41SOllivier Robert	 *no*)	ntp_ok=no  ;;
2634ea906c41SOllivier Robert	 *)	ntp_ok=yes ;;
26352b15cb3dSCy Schubert	esac
26362b15cb3dSCy Schubert    ]
26372b15cb3dSCy Schubert)
26382b15cb3dSCy Schubertcase "$ntp_ok" in
26392b15cb3dSCy Schubert yes)
2640ea906c41SOllivier Robert    ntp_refclock=yes
26412b15cb3dSCy Schubert    AC_DEFINE([CLOCK_WWV], [1], [WWV audio driver])
26422b15cb3dSCy Schubert    ;;
26432b15cb3dSCy Schubertesac
26442b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2645ea906c41SOllivier Robertcase "$ntp_ok$ntp_canaudio" in
26462b15cb3dSCy Schubert yesno) AC_MSG_WARN([*** But the expected answer is... no ***])
2647ea906c41SOllivier Robertesac
2648ea906c41SOllivier Robert
2649eb6d21b4SOllivier RobertAC_MSG_CHECKING([for Zyfer receiver])
26502b15cb3dSCy SchubertAC_ARG_ENABLE(
26512b15cb3dSCy Schubert    [ZYFER],
26522b15cb3dSCy Schubert    [AS_HELP_STRING(
26532b15cb3dSCy Schubert	[--enable-ZYFER],
26542b15cb3dSCy Schubert	[+ Zyfer GPStarplus receiver]
26552b15cb3dSCy Schubert    )],
26562b15cb3dSCy Schubert    [ntp_ok=$enableval],
26572b15cb3dSCy Schubert    [ntp_ok=$ntp_eac]
26582b15cb3dSCy Schubert)
26592b15cb3dSCy Schubertcase "$ntp_ok" in
26602b15cb3dSCy Schubert yes)
2661ea906c41SOllivier Robert    ntp_refclock=yes
26622b15cb3dSCy Schubert    AC_DEFINE([CLOCK_ZYFER], [1], [Zyfer GPStarplus])
26632b15cb3dSCy Schubert    ;;
26642b15cb3dSCy Schubertesac
26652b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2666ea906c41SOllivier Robert
2667eb6d21b4SOllivier RobertAC_MSG_CHECKING([for default inclusion of all suitable PARSE clocks])
26682b15cb3dSCy SchubertAC_ARG_ENABLE(
26692b15cb3dSCy Schubert    [parse-clocks],
26702b15cb3dSCy Schubert    [AS_HELP_STRING(
26712b15cb3dSCy Schubert	[--enable-parse-clocks],
26722b15cb3dSCy Schubert	[- include all suitable PARSE clocks:]
26732b15cb3dSCy Schubert    )],
2674ea906c41SOllivier Robert    [ntp_eapc=$enableval],
26752b15cb3dSCy Schubert    [
26762b15cb3dSCy Schubert	case "$ntp_eac" in
2677ea906c41SOllivier Robert	 yes)	ntp_eapc=$ntp_canparse ;;
2678ea906c41SOllivier Robert	 *)	ntp_eapc=no ;;
2679ea906c41SOllivier Robert	esac
2680ea906c41SOllivier Robert	# Delete the next line one of these days
26812b15cb3dSCy Schubert	ntp_eapc=no
26822b15cb3dSCy Schubert    ]
26832b15cb3dSCy Schubert)
2684ea906c41SOllivier RobertAC_MSG_RESULT($ntp_eapc)
2685ea906c41SOllivier Robert
2686ea906c41SOllivier Robertcase "$ntp_eac$ntp_eapc$ntp_canparse" in
2687ea906c41SOllivier Robert noyes*)
2688eb6d21b4SOllivier Robert    AC_MSG_ERROR(["--enable-parse-clocks" requires "--enable-all-clocks".])
2689ea906c41SOllivier Robert    ;;
2690ea906c41SOllivier Robert yesyesno)
2691eb6d21b4SOllivier Robert    AC_MSG_ERROR([You said "--enable-parse-clocks" but PARSE isn't supported on this platform!])
2692ea906c41SOllivier Robert    ;;
2693ea906c41SOllivier Robertesac
2694ea906c41SOllivier Robert
2695ea906c41SOllivier Robertntp_libparse=no
2696ea906c41SOllivier Robertntp_parseutil=no
2697ea906c41SOllivier Robertntp_rawdcf=no
2698ea906c41SOllivier Robert
2699eb6d21b4SOllivier RobertAC_MSG_CHECKING([Diem Computime Radio Clock])
27002b15cb3dSCy SchubertAC_ARG_ENABLE(
27012b15cb3dSCy Schubert    [COMPUTIME],
27022b15cb3dSCy Schubert    [AS_HELP_STRING(
27032b15cb3dSCy Schubert	[--enable-COMPUTIME],
27042b15cb3dSCy Schubert	[s Diem Computime Radio Clock]
27052b15cb3dSCy Schubert    )],
27062b15cb3dSCy Schubert    [ntp_ok=$enableval],
27072b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
27082b15cb3dSCy Schubert)
27092b15cb3dSCy Schubertcase "$ntp_ok" in
27102b15cb3dSCy Schubert yes)
2711ea906c41SOllivier Robert    ntp_libparse=yes
2712ea906c41SOllivier Robert    ntp_refclock=yes
27132b15cb3dSCy Schubert    AC_DEFINE([CLOCK_COMPUTIME], [1], [Diems Computime Radio Clock?])
27142b15cb3dSCy Schubert    ;;
27152b15cb3dSCy Schubertesac
27162b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2717ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2718ea906c41SOllivier Robert yesno)
2719eb6d21b4SOllivier Robert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
2720ea906c41SOllivier Robertesac
2721ea906c41SOllivier Robert
2722eb6d21b4SOllivier RobertAC_MSG_CHECKING([ELV/DCF7000 clock])
27232b15cb3dSCy SchubertAC_ARG_ENABLE(
27242b15cb3dSCy Schubert    [DCF7000],
27252b15cb3dSCy Schubert    [AS_HELP_STRING(
27262b15cb3dSCy Schubert	[--enable-DCF7000],
27272b15cb3dSCy Schubert	[s ELV/DCF7000 clock]
27282b15cb3dSCy Schubert    )],
27292b15cb3dSCy Schubert    [ntp_ok=$enableval],
27302b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
27312b15cb3dSCy Schubert)
27322b15cb3dSCy Schubertcase "$ntp_ok" in
27332b15cb3dSCy Schubert yes)
2734ea906c41SOllivier Robert    ntp_libparse=yes
2735ea906c41SOllivier Robert    ntp_refclock=yes
27362b15cb3dSCy Schubert    AC_DEFINE([CLOCK_DCF7000], [1], [ELV/DCF7000 clock?])
27372b15cb3dSCy Schubert    ;;
27382b15cb3dSCy Schubertesac
27392b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2740ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2741ea906c41SOllivier Robert yesno)
2742eb6d21b4SOllivier Robert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
2743ea906c41SOllivier Robertesac
2744ea906c41SOllivier Robert
2745eb6d21b4SOllivier RobertAC_MSG_CHECKING([HOPF 6021 clock])
27462b15cb3dSCy SchubertAC_ARG_ENABLE(
27472b15cb3dSCy Schubert    [HOPF6021],
27482b15cb3dSCy Schubert    [AS_HELP_STRING(
27492b15cb3dSCy Schubert	[--enable-HOPF6021],
27502b15cb3dSCy Schubert	[s HOPF 6021 clock]
27512b15cb3dSCy Schubert    )],
27522b15cb3dSCy Schubert    [ntp_ok=$enableval],
27532b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
27542b15cb3dSCy Schubert)
27552b15cb3dSCy Schubertcase "$ntp_ok" in
27562b15cb3dSCy Schubert yes)
2757ea906c41SOllivier Robert    ntp_libparse=yes
2758ea906c41SOllivier Robert    ntp_refclock=yes
27592b15cb3dSCy Schubert    AC_DEFINE([CLOCK_HOPF6021], [1], [HOPF 6021 clock?])
27602b15cb3dSCy Schubert    ;;
27612b15cb3dSCy Schubertesac
27622b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2763ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2764ea906c41SOllivier Robert yesno)
2765eb6d21b4SOllivier Robert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
2766ea906c41SOllivier Robertesac
2767ea906c41SOllivier Robert
2768eb6d21b4SOllivier RobertAC_MSG_CHECKING([Meinberg clocks])
27692b15cb3dSCy SchubertAC_ARG_ENABLE(
27702b15cb3dSCy Schubert    [MEINBERG],
27712b15cb3dSCy Schubert    [AS_HELP_STRING(
27722b15cb3dSCy Schubert	[--enable-MEINBERG],
27732b15cb3dSCy Schubert	[s Meinberg clocks]
27742b15cb3dSCy Schubert    )],
27752b15cb3dSCy Schubert    [ntp_ok=$enableval],
27762b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
27772b15cb3dSCy Schubert)
27782b15cb3dSCy Schubertcase "$ntp_ok" in
27792b15cb3dSCy Schubert yes)
2780ea906c41SOllivier Robert    ntp_libparse=yes
2781ea906c41SOllivier Robert    ntp_refclock=yes
27822b15cb3dSCy Schubert    AC_DEFINE([CLOCK_MEINBERG], [1], [Meinberg clocks])
27832b15cb3dSCy Schubert    ;;
27842b15cb3dSCy Schubertesac
27852b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2786ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2787ea906c41SOllivier Robert yesno)
2788eb6d21b4SOllivier Robert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
2789ea906c41SOllivier Robertesac
2790ea906c41SOllivier Robert
2791eb6d21b4SOllivier RobertAC_MSG_CHECKING([DCF77 raw time code])
27922b15cb3dSCy SchubertAC_ARG_ENABLE(
27932b15cb3dSCy Schubert    [RAWDCF],
27942b15cb3dSCy Schubert    [AS_HELP_STRING(
27952b15cb3dSCy Schubert	[--enable-RAWDCF],
27962b15cb3dSCy Schubert	[s DCF77 raw time code]
27972b15cb3dSCy Schubert    )],
27982b15cb3dSCy Schubert    [ntp_ok=$enableval],
27992b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
28002b15cb3dSCy Schubert)
28012b15cb3dSCy Schubertcase "$ntp_ok" in
28022b15cb3dSCy Schubert yes)
2803ea906c41SOllivier Robert    ntp_libparse=yes
2804ea906c41SOllivier Robert    ntp_parseutil=yes
2805ea906c41SOllivier Robert    ntp_refclock=yes
2806ea906c41SOllivier Robert    ntp_rawdcf=yes
28072b15cb3dSCy Schubert    AC_DEFINE([CLOCK_RAWDCF], [1], [DCF77 raw time code])
28082b15cb3dSCy Schubert    ;;
28092b15cb3dSCy Schubertesac
28102b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2811ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2812ea906c41SOllivier Robert yesno)
28132b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
2814ea906c41SOllivier Robertesac
2815ea906c41SOllivier Robert
2816ea906c41SOllivier Robertcase "$ntp_rawdcf" in
2817ea906c41SOllivier Robert yes)
2818eb6d21b4SOllivier Robert    AC_CACHE_CHECK([if we must enable parity for RAWDCF],
28192b15cb3dSCy Schubert	[ntp_cv_rawdcf_parity],
28202b15cb3dSCy Schubert	[
28212b15cb3dSCy Schubert	    ans=no
2822ea906c41SOllivier Robert	    case "$host" in
2823eb6d21b4SOllivier Robert	     *-*-*linux*)
2824ea906c41SOllivier Robert		ans=yes
2825ea906c41SOllivier Robert		;;
2826ea906c41SOllivier Robert	    esac
28272b15cb3dSCy Schubert	    ntp_cv_rawdcf_parity=$ans
28282b15cb3dSCy Schubert	]
28292b15cb3dSCy Schubert    )
28302b15cb3dSCy Schubert    case "$ntp_cv_rawdcf_parity" in
28312b15cb3dSCy Schubert     yes)
28322b15cb3dSCy Schubert	AC_DEFINE([RAWDCF_NO_IGNPAR], [1],
28332b15cb3dSCy Schubert	    [Should we not IGNPAR (Linux)?]) ;;
2834ea906c41SOllivier Robert    esac
2835ea906c41SOllivier Robertesac
2836ea906c41SOllivier Robert
2837eb6d21b4SOllivier RobertAC_MSG_CHECKING([RCC 8000 clock])
28382b15cb3dSCy SchubertAC_ARG_ENABLE(
28392b15cb3dSCy Schubert    [RCC8000],
28402b15cb3dSCy Schubert    [AS_HELP_STRING(
28412b15cb3dSCy Schubert	[--enable-RCC8000],
28422b15cb3dSCy Schubert	[s RCC 8000 clock]
28432b15cb3dSCy Schubert    )],
28442b15cb3dSCy Schubert    [ntp_ok=$enableval],
28452b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
28462b15cb3dSCy Schubert)
28472b15cb3dSCy Schubertcase "$ntp_ok" in
28482b15cb3dSCy Schubert yes)
2849ea906c41SOllivier Robert    ntp_libparse=yes
2850ea906c41SOllivier Robert    ntp_refclock=yes
28512b15cb3dSCy Schubert    AC_DEFINE([CLOCK_RCC8000], [1], [RCC 8000 clock])
2852ea906c41SOllivier Robert    ;;
2853ea906c41SOllivier Robertesac
28542b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
2855ea906c41SOllivier Robertcase "$ntp_ok$ntp_canparse" in
2856ea906c41SOllivier Robert yesno)
2857eb6d21b4SOllivier Robert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
28582b15cb3dSCy Schubertesac
28592b15cb3dSCy Schubert
28602b15cb3dSCy SchubertAC_MSG_CHECKING([Schmid DCF77 clock])
28612b15cb3dSCy SchubertAC_ARG_ENABLE(
28622b15cb3dSCy Schubert    [SCHMID],
28632b15cb3dSCy Schubert    [AS_HELP_STRING(
28642b15cb3dSCy Schubert	[--enable-SCHMID ],
28652b15cb3dSCy Schubert	[s Schmid DCF77 clock]
28662b15cb3dSCy Schubert    )],
28672b15cb3dSCy Schubert    [ntp_ok=$enableval],
28682b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
28692b15cb3dSCy Schubert)
28702b15cb3dSCy Schubertcase "$ntp_ok" in
28712b15cb3dSCy Schubert yes)
28722b15cb3dSCy Schubert    ntp_libparse=yes
28732b15cb3dSCy Schubert    ntp_refclock=yes
28742b15cb3dSCy Schubert    AC_DEFINE([CLOCK_SCHMID], [1], [Schmid DCF77 clock])
2875ea906c41SOllivier Robert    ;;
2876ea906c41SOllivier Robertesac
28772b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
28782b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
28792b15cb3dSCy Schubert yesno)
28802b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
28812b15cb3dSCy Schubertesac
28822b15cb3dSCy Schubert
28832b15cb3dSCy SchubertAC_MSG_CHECKING([Trimble GPS receiver/TAIP protocol])
28842b15cb3dSCy SchubertAC_ARG_ENABLE(
28852b15cb3dSCy Schubert    [TRIMTAIP],
28862b15cb3dSCy Schubert    [AS_HELP_STRING(
28872b15cb3dSCy Schubert	[--enable-TRIMTAIP],
28882b15cb3dSCy Schubert	[s Trimble GPS receiver/TAIP protocol]
28892b15cb3dSCy Schubert    )],
28902b15cb3dSCy Schubert    [ntp_ok=$enableval],
28912b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
28922b15cb3dSCy Schubert)
28932b15cb3dSCy Schubertcase "$ntp_ok" in
28942b15cb3dSCy Schubert yes)
28952b15cb3dSCy Schubert    ntp_libparse=yes
28962b15cb3dSCy Schubert    ntp_refclock=yes
28972b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TRIMTAIP], [1],
28982b15cb3dSCy Schubert	[Trimble GPS receiver/TAIP protocol])
28992b15cb3dSCy Schubert    ;;
29002b15cb3dSCy Schubertesac
29012b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
29022b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
29032b15cb3dSCy Schubert yesno)
29042b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
29052b15cb3dSCy Schubertesac
29062b15cb3dSCy Schubert
29072b15cb3dSCy SchubertAC_MSG_CHECKING([Trimble GPS receiver/TSIP protocol])
29082b15cb3dSCy SchubertAC_ARG_ENABLE(
29092b15cb3dSCy Schubert    [TRIMTSIP],
29102b15cb3dSCy Schubert    [AS_HELP_STRING(
29112b15cb3dSCy Schubert	[--enable-TRIMTSIP],
29122b15cb3dSCy Schubert	[s Trimble GPS receiver/TSIP protocol]
29132b15cb3dSCy Schubert    )],
29142b15cb3dSCy Schubert    [ntp_ok=$enableval],
29152b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
29162b15cb3dSCy Schubert)
29172b15cb3dSCy Schubertcase "$ntp_ok" in
29182b15cb3dSCy Schubert yes)
29192b15cb3dSCy Schubert    ntp_libparse=yes
29202b15cb3dSCy Schubert    ntp_refclock=yes
29212b15cb3dSCy Schubert    AC_DEFINE([CLOCK_TRIMTSIP], [1],
29222b15cb3dSCy Schubert	[Trimble GPS receiver/TSIP protocol])
29232b15cb3dSCy Schubert    ;;
29242b15cb3dSCy Schubertesac
29252b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
29262b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
29272b15cb3dSCy Schubert yesno)
29282b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
29292b15cb3dSCy Schubertesac
29302b15cb3dSCy Schubert
29312b15cb3dSCy SchubertAC_MSG_CHECKING([WHARTON 400A Series clock])
29322b15cb3dSCy SchubertAC_ARG_ENABLE(
29332b15cb3dSCy Schubert    [WHARTON],
29342b15cb3dSCy Schubert    [AS_HELP_STRING(
29352b15cb3dSCy Schubert	[--enable-WHARTON],
29362b15cb3dSCy Schubert	[s WHARTON 400A Series clock]
29372b15cb3dSCy Schubert    )],
29382b15cb3dSCy Schubert    [ntp_ok=$enableval],
29392b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
29402b15cb3dSCy Schubert)
29412b15cb3dSCy Schubertcase "$ntp_ok" in
29422b15cb3dSCy Schubert yes)
29432b15cb3dSCy Schubert    ntp_libparse=yes
29442b15cb3dSCy Schubert    ntp_refclock=yes
29452b15cb3dSCy Schubert    AC_DEFINE([CLOCK_WHARTON_400A], [1], [WHARTON 400A Series clock])
29462b15cb3dSCy Schubert    ;;
29472b15cb3dSCy Schubertesac
29482b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
29492b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
29502b15cb3dSCy Schubert yesno)
29512b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
29522b15cb3dSCy Schubertesac
29532b15cb3dSCy Schubert
29542b15cb3dSCy SchubertAC_MSG_CHECKING([VARITEXT clock])
29552b15cb3dSCy SchubertAC_ARG_ENABLE(
29562b15cb3dSCy Schubert    [VARITEXT],
29572b15cb3dSCy Schubert    [AS_HELP_STRING(
29582b15cb3dSCy Schubert	[--enable-VARITEXT],
29592b15cb3dSCy Schubert	[s VARITEXT clock]
29602b15cb3dSCy Schubert    )],
29612b15cb3dSCy Schubert    [ntp_ok=$enableval],
29622b15cb3dSCy Schubert    [ntp_ok=$ntp_eapc]
29632b15cb3dSCy Schubert)
29642b15cb3dSCy Schubertcase "$ntp_ok" in
29652b15cb3dSCy Schubert yes)
29662b15cb3dSCy Schubert    ntp_libparse=yes
29672b15cb3dSCy Schubert    ntp_refclock=yes
29682b15cb3dSCy Schubert    AC_DEFINE([CLOCK_VARITEXT], [1], [VARITEXT clock])
29692b15cb3dSCy Schubert    ;;
29702b15cb3dSCy Schubertesac
29712b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
29722b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
29732b15cb3dSCy Schubert yesno)
29742b15cb3dSCy Schubert    AC_MSG_ERROR([That's a parse clock and this system doesn't support it!])
29752b15cb3dSCy Schubertesac
29762b15cb3dSCy Schubert
29772b15cb3dSCy SchubertAC_MSG_CHECKING(SEL240X clock)
29782b15cb3dSCy SchubertAC_ARG_ENABLE(SEL240X,
29792b15cb3dSCy Schubert    AC_HELP_STRING([--enable-SEL240X], [s SEL240X clock]),
29802b15cb3dSCy Schubert    [ntp_ok=$enableval], [ntp_ok=$ntp_eapc])
29812b15cb3dSCy Schubertif test "$ntp_ok" = "yes"; then
29822b15cb3dSCy Schubert    ntp_libparse=yes
29832b15cb3dSCy Schubert    ntp_refclock=yes
29842b15cb3dSCy Schubert    AC_DEFINE(CLOCK_SEL240X, 1, [SEL240X protocol])
29852b15cb3dSCy Schubertfi
29862b15cb3dSCy SchubertAC_MSG_RESULT($ntp_ok)
29872b15cb3dSCy Schubertcase "$ntp_ok$ntp_canparse" in
29882b15cb3dSCy Schubert yesno)
29892b15cb3dSCy Schubert    AC_MSG_ERROR(That's a parse clock and this system doesn't support it!)
29902b15cb3dSCy Schubert    ;;
29912b15cb3dSCy Schubertesac
29922b15cb3dSCy Schubert
29932b15cb3dSCy SchubertAC_SUBST([LIBPARSE])
29942b15cb3dSCy SchubertAC_SUBST([MAKE_LIBPARSE])
29952b15cb3dSCy SchubertAC_SUBST([MAKE_LIBPARSE_KERNEL])
29962b15cb3dSCy SchubertAC_SUBST([MAKE_CHECK_Y2K])
29972b15cb3dSCy Schubert
2998eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we need to make and use the parse libraries])
2999ea906c41SOllivier Robertans=no
3000ea906c41SOllivier Robertcase "$ntp_libparse" in
3001ea906c41SOllivier Robert yes)
3002ea906c41SOllivier Robert    ans=yes
30032b15cb3dSCy Schubert    AC_DEFINE([CLOCK_PARSE], [1], [PARSE driver interface])
3004ea906c41SOllivier Robert    LIBPARSE=../libparse/libparse.a
3005ea906c41SOllivier Robert    MAKE_LIBPARSE=libparse.a
3006ea906c41SOllivier Robert    # HMS: check_y2k trips the 34 year problem now...
3007ea906c41SOllivier Robert    false && MAKE_CHECK_Y2K=check_y2k
3008ea906c41SOllivier Robertesac
3009eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3010ea906c41SOllivier Robert
3011*f5f40dd6SCy Schubert# if we have crypto, by default Autokey is enabled
30122b15cb3dSCy SchubertAC_ARG_ENABLE(
30132b15cb3dSCy Schubert    [autokey],
30142b15cb3dSCy Schubert    AS_HELP_STRING(
30152b15cb3dSCy Schubert	[--enable-autokey],
30162b15cb3dSCy Schubert	[+ support NTP Autokey protocol]
30172b15cb3dSCy Schubert	),
30182b15cb3dSCy Schubert    [ntp_autokey=$enableval],
30192b15cb3dSCy Schubert    [ntp_autokey=$ntp_openssl]
30202b15cb3dSCy Schubert)
30212b15cb3dSCy Schubertcase "$ntp_autokey" in
30222b15cb3dSCy Schubert no)
3023ea906c41SOllivier Robert    ;;
3024ea906c41SOllivier Robert *)
30252b15cb3dSCy Schubert    case "$ntp_openssl" in
3026ea906c41SOllivier Robert     no)
3027*f5f40dd6SCy Schubert	AC_MSG_WARN([Disabling Autokey, crypto unavailable.])
30282b15cb3dSCy Schubert	ntp_autokey=no
3029ea906c41SOllivier Robert	;;
3030ea906c41SOllivier Robert     *)
30312b15cb3dSCy Schubert	AC_DEFINE([AUTOKEY], [1], [Support NTP Autokey protocol?])
30322b15cb3dSCy Schubert	ntp_autokey=yes
3033ea906c41SOllivier Robert	;;
3034ea906c41SOllivier Robert    esac
30352b15cb3dSCy Schubert    ;;
30362b15cb3dSCy Schubertesac
3037*f5f40dd6SCy SchubertAC_MSG_CHECKING([if NTP Autokey protocol will be supported])
30382b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_autokey])
3039ea906c41SOllivier Robert
30402b15cb3dSCy SchubertAC_SUBST([MAKE_CHECK_LAYOUT])
3041eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we want to run check-layout])
3042ea906c41SOllivier Robertcase "$cross_compiling$PATH_PERL" in
3043ea906c41SOllivier Robert no/*)
3044ea906c41SOllivier Robert    MAKE_CHECK_LAYOUT=check-layout
3045ea906c41SOllivier Robert    ans=yes
3046ea906c41SOllivier Robert    ;;
3047ea906c41SOllivier Robert *)
3048ea906c41SOllivier Robert    ans=no
3049ea906c41SOllivier Robert    ;;
3050ea906c41SOllivier Robertesac
3051eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3052ea906c41SOllivier Robert
30532b15cb3dSCy SchubertAC_SUBST([TESTDCF])
30542b15cb3dSCy SchubertAC_SUBST([DCFD])
3055eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we can make dcf parse utilities])
3056ea906c41SOllivier Robertans=no
30572b15cb3dSCy Schubertcase "$ntp_parseutil" in
30582b15cb3dSCy Schubert yes)
3059ea906c41SOllivier Robert    case "$host" in
3060eb6d21b4SOllivier Robert     *-*-sunos4*|*-*-solaris2*|*-*-*linux*|*-*-netbsd*)
3061ea906c41SOllivier Robert	ans="dcfd testdcf"
3062ea906c41SOllivier Robert	DCFD=dcfd
3063ea906c41SOllivier Robert	TESTDCF=testdcf
30642b15cb3dSCy Schubert    esac
3065ea906c41SOllivier Robert    ;;
3066ea906c41SOllivier Robertesac
3067eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3068ea906c41SOllivier Robert
30692b15cb3dSCy SchubertAC_SUBST([MAKE_PARSEKMODULE])
3070eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we can build kernel streams modules for parse])
3071ea906c41SOllivier Robertans=no
3072ea906c41SOllivier Robertcase "$ntp_parseutil$ac_cv_header_sys_stropts_h" in
3073ea906c41SOllivier Robert yesyes)
3074ea906c41SOllivier Robert    case "$host" in
3075ea906c41SOllivier Robert     sparc-*-sunos4*)
30762b15cb3dSCy Schubert        case "$ntp_cv_var_kernel_pll" in
3077ea906c41SOllivier Robert	yes)
30782b15cb3dSCy Schubert	    AC_DEFINE([PPS_SYNC], [1], [PARSE kernel PLL PPS support])
3079ea906c41SOllivier Robert	    ;;
3080ea906c41SOllivier Robert	esac
3081ea906c41SOllivier Robert	ans=parsestreams
3082ea906c41SOllivier Robert	MAKE_PARSEKMODULE=parsestreams.loadable_module.o
3083ea906c41SOllivier Robert	;;
3084ea906c41SOllivier Robert     sparc-*-solaris2*)
3085ea906c41SOllivier Robert	ans=parsesolaris
3086ea906c41SOllivier Robert	MAKE_PARSEKMODULE=parse
30872b15cb3dSCy Schubert	AC_CHECK_HEADERS([strings.h])
3088ea906c41SOllivier Robert	;;
3089ea906c41SOllivier Robert    esac
3090ea906c41SOllivier Robert    ;;
3091ea906c41SOllivier Robertesac
3092eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3093ea906c41SOllivier Robert
3094eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we need basic refclock support])
30952b15cb3dSCy Schubertcase "$ntp_refclock" in
30962b15cb3dSCy Schubert yes)
30972b15cb3dSCy Schubert    AC_DEFINE([REFCLOCK], [1], [Basic refclock support?])
30982b15cb3dSCy Schubert    ;;
30992b15cb3dSCy Schubertesac
3100ea906c41SOllivier RobertAC_MSG_RESULT($ntp_refclock)
3101ea906c41SOllivier Robert
31022b15cb3dSCy Schubertdnl Things that can be made in clockstuff
31032b15cb3dSCy SchubertAC_SUBST([PROPDELAY], [propdelay])
31042b15cb3dSCy SchubertAC_SUBST([CHUTEST]) dnl needs work to compile
3105ea906c41SOllivier Robert
31062b15cb3dSCy SchubertAC_SUBST([MAKE_ADJTIMED])
31072b15cb3dSCy SchubertAC_MSG_CHECKING([if we want HP-UX adjtimed support])
3108ea906c41SOllivier Robertcase "$host" in
3109ea906c41SOllivier Robert *-*-hpux[[56789]]*)
3110ea906c41SOllivier Robert    ans=yes
3111ea906c41SOllivier Robert    ;;
3112ea906c41SOllivier Robert *) ans=no
3113ea906c41SOllivier Robert    ;;
3114ea906c41SOllivier Robertesac
31152b15cb3dSCy Schubertcase "$ans" in
31162b15cb3dSCy Schubert yes)
3117ea906c41SOllivier Robert    MAKE_ADJTIMED=adjtimed
31182b15cb3dSCy Schubert    AC_DEFINE([NEED_HPUX_ADJTIME], [1],
31192b15cb3dSCy Schubert	[Do we need HPUX adjtime() library support?])
31202b15cb3dSCy Schubert    ;;
31212b15cb3dSCy Schubert *) ADJTIMED_DB=
31222b15cb3dSCy Schubert    ADJTIMED_DL=
31232b15cb3dSCy Schubert    ADJTIMED_DS=
31242b15cb3dSCy Schubert    ADJTIMED_MS=
31252b15cb3dSCy Schubert    ;;
31262b15cb3dSCy Schubertesac
3127eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3128ea906c41SOllivier Robert
3129eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we want QNX adjtime support])
3130ea906c41SOllivier Robertcase "$host" in
3131ea906c41SOllivier Robert *-*-qnx*)
3132ea906c41SOllivier Robert    ans=yes
3133ea906c41SOllivier Robert    ;;
3134ea906c41SOllivier Robert *) ans=no
3135ea906c41SOllivier Robert    ;;
3136ea906c41SOllivier Robertesac
31372b15cb3dSCy Schubertcase "$ans" in
31382b15cb3dSCy Schubert yes)
31392b15cb3dSCy Schubert    AC_DEFINE([NEED_QNX_ADJTIME], [1],
31402b15cb3dSCy Schubert	[Do we need the qnx adjtime call?])
31412b15cb3dSCy Schubert    ;;
31422b15cb3dSCy Schubertesac
3143eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3144ea906c41SOllivier Robert
3145eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we can read kmem])
3146eb6d21b4SOllivier Robert
3147eb6d21b4SOllivier Robert#  the default is to enable it if the system has the capability
3148eb6d21b4SOllivier Robert
3149eb6d21b4SOllivier Robertcase "$ac_cv_func_nlist$ac_cv_func_K_open$ac_cv_func_kvm_open" in
3150ea906c41SOllivier Robert *yes*)
3151ea906c41SOllivier Robert    ans=yes
3152ea906c41SOllivier Robert    ;;
3153ea906c41SOllivier Robert *) ans=no
31542b15cb3dSCy Schubert    ;;
3155ea906c41SOllivier Robertesac
3156eb6d21b4SOllivier Robert
3157ea906c41SOllivier Robertcase "$host" in
3158ea906c41SOllivier Robert *-*-domainos)	# Won't be found...
3159ea906c41SOllivier Robert    ans=no
3160ea906c41SOllivier Robert    ;;
3161ea906c41SOllivier Robert *-*-hpux*)
3162ea906c41SOllivier Robert    #ans=no
3163ea906c41SOllivier Robert    ;;
3164ea906c41SOllivier Robert *-*-irix[[456]]*)
3165ea906c41SOllivier Robert    ans=no
3166ea906c41SOllivier Robert    ;;
3167eb6d21b4SOllivier Robert *-*-*linux*)
3168ea906c41SOllivier Robert    ans=no
3169ea906c41SOllivier Robert    ;;
3170ea906c41SOllivier Robert *-*-winnt3.5)
3171ea906c41SOllivier Robert    ans=no
3172ea906c41SOllivier Robert    ;;
3173ea906c41SOllivier Robert *-*-unicosmp*)
3174ea906c41SOllivier Robert    ans=no
3175ea906c41SOllivier Robert    ;;
3176ea906c41SOllivier Robertesac
3177ea906c41SOllivier Robert
3178eb6d21b4SOllivier Robert# --enable-kmem / --disable-kmem controls if present
3179eb6d21b4SOllivier RobertAC_ARG_ENABLE(
3180eb6d21b4SOllivier Robert    [kmem],
31812b15cb3dSCy Schubert    [AS_HELP_STRING(
3182eb6d21b4SOllivier Robert	[--enable-kmem],
3183eb6d21b4SOllivier Robert	[s read /dev/kmem for tick and/or tickadj]
31842b15cb3dSCy Schubert    )],
3185eb6d21b4SOllivier Robert    [ans=$enableval]
3186eb6d21b4SOllivier Robert)
3187eb6d21b4SOllivier Robert
3188eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3189eb6d21b4SOllivier Robert
3190eb6d21b4SOllivier Robertcase "$ans" in
3191eb6d21b4SOllivier Robert yes)
3192eb6d21b4SOllivier Robert    can_kmem=yes
3193eb6d21b4SOllivier Robert    ;;
3194eb6d21b4SOllivier Robert *)
3195eb6d21b4SOllivier Robert    can_kmem=no
31962b15cb3dSCy Schubert    AC_DEFINE([NOKMEM], [1], [Should we NOT read /dev/kmem?])
3197ea906c41SOllivier Robertesac
3198ea906c41SOllivier Robert
3199eb6d21b4SOllivier Robert
3200eb6d21b4SOllivier RobertAC_MSG_CHECKING([if adjtime is accurate])
3201eb6d21b4SOllivier Robert
3202eb6d21b4SOllivier Robert# target-dependent defaults
3203eb6d21b4SOllivier Robert
3204eb6d21b4SOllivier Robertcase "$host" in
3205ea906c41SOllivier Robert i386-sequent-ptx*)
3206ea906c41SOllivier Robert    ans=no
3207ea906c41SOllivier Robert    ;;
3208ea906c41SOllivier Robert i386-unknown-osf1*)
3209ea906c41SOllivier Robert    ans=yes
3210ea906c41SOllivier Robert    ;;
3211ea906c41SOllivier Robert mips-sgi-irix[[456]]*)
3212ea906c41SOllivier Robert    ans=yes
3213ea906c41SOllivier Robert    ;;
3214ea906c41SOllivier Robert *-fujitsu-uxp*)
3215ea906c41SOllivier Robert    ans=yes
3216ea906c41SOllivier Robert    ;;
32172b15cb3dSCy Schubert *-ibm-aix[[4-9]]*)
32182b15cb3dSCy Schubert    # XXX only verified thru AIX6.
3219ea906c41SOllivier Robert    ans=yes
3220ea906c41SOllivier Robert    ;;
3221eb6d21b4SOllivier Robert *-*-*linux*)
3222ea906c41SOllivier Robert    ans=yes
3223ea906c41SOllivier Robert    ;;
3224ea906c41SOllivier Robert *-*-solaris2.[[01]])
3225ea906c41SOllivier Robert    ans=no
3226ea906c41SOllivier Robert    ;;
3227ea906c41SOllivier Robert *-*-solaris2*)
3228ea906c41SOllivier Robert    ans=yes
3229ea906c41SOllivier Robert    ;;
3230ea906c41SOllivier Robert *-*-unicosmp*)
3231ea906c41SOllivier Robert    ans=yes
3232ea906c41SOllivier Robert    ;;
3233ea906c41SOllivier Robert *) ans=no
32342b15cb3dSCy Schubert    ;;
3235ea906c41SOllivier Robertesac
3236eb6d21b4SOllivier Robert
3237eb6d21b4SOllivier Robert# --enable-accurate-adjtime / --disable-accurate-adjtime
3238eb6d21b4SOllivier Robert# override the default
32392b15cb3dSCy SchubertAC_ARG_ENABLE(
32402b15cb3dSCy Schubert    [accurate-adjtime],
32412b15cb3dSCy Schubert    [AS_HELP_STRING(
3242eb6d21b4SOllivier Robert	[--enable-accurate-adjtime],
3243eb6d21b4SOllivier Robert	[s the adjtime() call is accurate]
32442b15cb3dSCy Schubert    )],
32452b15cb3dSCy Schubert    [ans=$enableval]
3246eb6d21b4SOllivier Robert)
3247eb6d21b4SOllivier Robert
3248eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3249eb6d21b4SOllivier Robert
3250eb6d21b4SOllivier Robertcase "$ans" in
3251eb6d21b4SOllivier Robert yes)
32522b15cb3dSCy Schubert    AC_DEFINE([ADJTIME_IS_ACCURATE], [1], [Is adjtime() accurate?])
3253eb6d21b4SOllivier Robert    adjtime_is_accurate=yes
3254eb6d21b4SOllivier Robert    ;;
3255eb6d21b4SOllivier Robert *)
3256eb6d21b4SOllivier Robert    adjtime_is_accurate=no
32572b15cb3dSCy Schubert    ;;
3258ea906c41SOllivier Robertesac
3259ea906c41SOllivier Robert
32602b15cb3dSCy SchubertAC_CACHE_CHECK(
32612b15cb3dSCy Schubert    [the name of 'tick' in the kernel],
32622b15cb3dSCy Schubert    [ntp_cv_nlist_tick],
32632b15cb3dSCy Schubert    [
32642b15cb3dSCy Schubert	ans=_tick
3265ea906c41SOllivier Robert	case "$host" in
3266ea906c41SOllivier Robert	 m68*-hp-hpux*) # HP9000/300?
3267ea906c41SOllivier Robert	    ans=_old_tick
3268ea906c41SOllivier Robert	    ;;
3269ea906c41SOllivier Robert	 *-apple-aux[[23]]*)
3270ea906c41SOllivier Robert	    ans=tick
3271ea906c41SOllivier Robert	    ;;
3272ea906c41SOllivier Robert	 *-hp-hpux*)
3273ea906c41SOllivier Robert	    ans=old_tick
3274ea906c41SOllivier Robert	    ;;
32752b15cb3dSCy Schubert	 *-ibm-aix[[3-9]]*)
32762b15cb3dSCy Schubert	    # XXX only verified thru AIX6.
3277ea906c41SOllivier Robert	    ans=no
3278ea906c41SOllivier Robert	    ;;
3279ea906c41SOllivier Robert	 *-*-mpeix*)
3280ea906c41SOllivier Robert	    ans=no
3281ea906c41SOllivier Robert	    ;;
3282ea906c41SOllivier Robert	 *-*-ptx*)
3283ea906c41SOllivier Robert	    ans=tick
3284ea906c41SOllivier Robert	    ;;
3285ea906c41SOllivier Robert	 *-*-sco3.2v[[45]]*)
3286ea906c41SOllivier Robert	    ans=no
3287ea906c41SOllivier Robert	    ;;
3288ea906c41SOllivier Robert	 *-*-solaris2*)
3289ea906c41SOllivier Robert	    ans=nsec_per_tick
3290ea906c41SOllivier Robert	    ;;
3291ea906c41SOllivier Robert	 *-*-sysv4*)
3292ea906c41SOllivier Robert	    ans=tick
3293ea906c41SOllivier Robert	    ;;
3294ea906c41SOllivier Robert	esac
32952b15cb3dSCy Schubert	ntp_cv_nlist_tick=$ans
32962b15cb3dSCy Schubert    ]
32972b15cb3dSCy Schubert)
32982b15cb3dSCy Schubertcase "$ntp_cv_nlist_tick" in
32992b15cb3dSCy Schubert ''|no)
33002b15cb3dSCy Schubert    ;;	# HMS: I think we can only get 'no' here...
33012b15cb3dSCy Schubert *)
33022b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([K_TICK_NAME], ["$ntp_cv_nlist_tick"],
33032b15cb3dSCy Schubert	[What is the name of TICK in the kernel?])
3304ea906c41SOllivier Robertesac
33052b15cb3dSCy Schubert
33062b15cb3dSCy SchubertAC_CACHE_CHECK(
33072b15cb3dSCy Schubert    [for the units of 'tick'],
33082b15cb3dSCy Schubert    [ntp_cv_tick_nano],
33092b15cb3dSCy Schubert    [
33102b15cb3dSCy Schubert	ans=usec
3311ea906c41SOllivier Robert	case "$host" in
3312ea906c41SOllivier Robert	 *-*-solaris2*)
3313ea906c41SOllivier Robert	    ans=nsec
3314ea906c41SOllivier Robert	    ;;
3315ea906c41SOllivier Robert	esac
33162b15cb3dSCy Schubert	ntp_cv_tick_nano=$ans
33172b15cb3dSCy Schubert    ]
33182b15cb3dSCy Schubert)
33192b15cb3dSCy Schubertcase "$ntp_cv_tick_nano" in
3320ea906c41SOllivier Robert nsec)
33212b15cb3dSCy Schubert    AC_DEFINE([TICK_NANO], [1], [Is K_TICK_NAME in nanoseconds?])
3322ea906c41SOllivier Robertesac
33232b15cb3dSCy Schubert
33242b15cb3dSCy SchubertAC_CACHE_CHECK(
33252b15cb3dSCy Schubert    [the name of 'tickadj' in the kernel],
33262b15cb3dSCy Schubert    [ntp_cv_nlist_tickadj],
33272b15cb3dSCy Schubert    [
33282b15cb3dSCy Schubert	ans=_tickadj
3329ea906c41SOllivier Robert	case "$host" in
3330ea906c41SOllivier Robert	 m68*-hp-hpux*) # HP9000/300?
3331ea906c41SOllivier Robert	    ans=_tickadj
3332ea906c41SOllivier Robert	    ;;
3333ea906c41SOllivier Robert	 *-apple-aux[[23]]*)
3334ea906c41SOllivier Robert	    ans=tickadj
3335ea906c41SOllivier Robert	    ;;
3336ea906c41SOllivier Robert	 *-hp-hpux10*)
3337ea906c41SOllivier Robert	    ans=no
3338ea906c41SOllivier Robert	    ;;
3339ea906c41SOllivier Robert	 *-hp-hpux9*)
3340ea906c41SOllivier Robert	    ans=no
3341ea906c41SOllivier Robert	    ;;
3342ea906c41SOllivier Robert	 *-hp-hpux*)
3343ea906c41SOllivier Robert	    ans=tickadj
3344ea906c41SOllivier Robert	    ;;
3345ea906c41SOllivier Robert	 *-*-aix*)
3346ea906c41SOllivier Robert	    ans=tickadj
3347ea906c41SOllivier Robert	    ;;
3348ea906c41SOllivier Robert	 *-*-mpeix*)
3349ea906c41SOllivier Robert	    ans=no
3350ea906c41SOllivier Robert	    ;;
3351ea906c41SOllivier Robert	 *-*-ptx*)
3352ea906c41SOllivier Robert	    ans=tickadj
3353ea906c41SOllivier Robert	    ;;
3354ea906c41SOllivier Robert	 *-*-sco3.2v4*)
3355ea906c41SOllivier Robert	    ans=no
3356ea906c41SOllivier Robert	    ;;
3357ea906c41SOllivier Robert	 *-*-sco3.2v5.0*)
3358ea906c41SOllivier Robert	    ans=clock_drift
3359ea906c41SOllivier Robert	    ;;
3360ea906c41SOllivier Robert	 *-*-solaris2*)
3361ea906c41SOllivier Robert	    ans=no	# hrestime_adj
3362ea906c41SOllivier Robert	    ;;
3363ea906c41SOllivier Robert	 *-*-sysv4*)
3364ea906c41SOllivier Robert	    ans=tickadj
3365ea906c41SOllivier Robert	    ;;
3366ea906c41SOllivier Robert	esac
33672b15cb3dSCy Schubert	ntp_cv_nlist_tickadj=$ans
33682b15cb3dSCy Schubert    ]
33692b15cb3dSCy Schubert)
33702b15cb3dSCy Schubertcase "$ntp_cv_nlist_tickadj" in
33712b15cb3dSCy Schubert ''|no)
33722b15cb3dSCy Schubert    ;;	# HMS: I think we can only get 'no' here...
33732b15cb3dSCy Schubert *)
33742b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([K_TICKADJ_NAME], ["$ntp_cv_nlist_tickadj"],
33752b15cb3dSCy Schubert	[What is the name of TICKADJ in the kernel?])
3376ea906c41SOllivier Robertesac
33772b15cb3dSCy Schubert
33782b15cb3dSCy SchubertAC_CACHE_CHECK(
33792b15cb3dSCy Schubert    [for the units of 'tickadj'],
33802b15cb3dSCy Schubert    [ntp_cv_tickadj_nano],
33812b15cb3dSCy Schubert    [
33822b15cb3dSCy Schubert	ans=usec
3383ea906c41SOllivier Robert	case "$host" in
3384ea906c41SOllivier Robert	 *-*-solaris2*)
3385ea906c41SOllivier Robert	    ans=nsec
3386ea906c41SOllivier Robert	    ;;
3387ea906c41SOllivier Robert	esac
33882b15cb3dSCy Schubert	ntp_cv_tickadj_nano=$ans
33892b15cb3dSCy Schubert    ]
33902b15cb3dSCy Schubert)
33912b15cb3dSCy Schubertcase "$ntp_cv_tickadj_nano" in
3392ea906c41SOllivier Robert nsec)
33932b15cb3dSCy Schubert    AC_DEFINE([TICKADJ_NANO], [1], [Is K_TICKADJ_NAME in nanoseconds?])
3394ea906c41SOllivier Robertesac
33952b15cb3dSCy Schubert
33962b15cb3dSCy SchubertAC_CACHE_CHECK(
33972b15cb3dSCy Schubert    [half-heartedly for 'dosynctodr' in the kernel],
33982b15cb3dSCy Schubert    [ntp_cv_nlist_dosynctodr],
33992b15cb3dSCy Schubert    [
34002b15cb3dSCy Schubert	case "$host" in
3401ea906c41SOllivier Robert	 *-apple-aux[[23]]*)
3402ea906c41SOllivier Robert	    ans=no
3403ea906c41SOllivier Robert	    ;;
3404ea906c41SOllivier Robert	 *-sni-sysv*)
3405ea906c41SOllivier Robert	    ans=dosynctodr
3406ea906c41SOllivier Robert	    ;;
3407276da39aSCy Schubert	 *-stratus-vos)
3408276da39aSCy Schubert	    ans=no
3409276da39aSCy Schubert	    ;;
3410ea906c41SOllivier Robert	 *-*-aix*)
3411ea906c41SOllivier Robert	    ans=dosynctodr
3412ea906c41SOllivier Robert	    ;;
3413ea906c41SOllivier Robert	 *-*-hpux*)
3414ea906c41SOllivier Robert	    ans=no
3415ea906c41SOllivier Robert	    ;;
3416ea906c41SOllivier Robert	 *-*-mpeix*)
3417ea906c41SOllivier Robert	    ans=no
3418ea906c41SOllivier Robert	    ;;
3419ea906c41SOllivier Robert	 *-*-nextstep*)
3420ea906c41SOllivier Robert	    ans=_dosynctodr
3421ea906c41SOllivier Robert	    ;;
3422ea906c41SOllivier Robert	 *-*-ptx*)
3423ea906c41SOllivier Robert	    ans=doresettodr
3424ea906c41SOllivier Robert	    ;;
3425ea906c41SOllivier Robert	 *-*-sco3.2v4*)
3426ea906c41SOllivier Robert	    ans=no
3427ea906c41SOllivier Robert	    ;;
3428ea906c41SOllivier Robert	 *-*-sco3.2v5*)
3429ea906c41SOllivier Robert	    ans=track_rtc
3430ea906c41SOllivier Robert	    ;;
3431ea906c41SOllivier Robert	 *-*-solaris2*)
3432ea906c41SOllivier Robert	    ans=dosynctodr
3433ea906c41SOllivier Robert	    ;;
3434ea906c41SOllivier Robert	 *-*-sysv4*)
3435ea906c41SOllivier Robert	    ans=doresettodr
3436ea906c41SOllivier Robert	    ;;
3437ea906c41SOllivier Robert	 *)
3438ea906c41SOllivier Robert	    ans=_dosynctodr
3439ea906c41SOllivier Robert	    ;;
3440ea906c41SOllivier Robert	esac
34412b15cb3dSCy Schubert	ntp_cv_nlist_dosynctodr=$ans
34422b15cb3dSCy Schubert    ]
34432b15cb3dSCy Schubert)
34442b15cb3dSCy Schubertcase "$ntp_cv_nlist_dosynctodr" in
34452b15cb3dSCy Schubert no)
34462b15cb3dSCy Schubert    ;;
34472b15cb3dSCy Schubert *)
34482b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([K_DOSYNCTODR_NAME], ["$ntp_cv_nlist_dosynctodr"],
34492b15cb3dSCy Schubert	[What is (probably) the name of DOSYNCTODR in the kernel?])
3450ea906c41SOllivier Robert    ;;
3451ea906c41SOllivier Robertesac
34522b15cb3dSCy Schubert
34532b15cb3dSCy SchubertAC_CACHE_CHECK(
34542b15cb3dSCy Schubert    [half-heartedly for 'noprintf' in the kernel],
34552b15cb3dSCy Schubert    [ntp_cv_nlist_noprintf],
34562b15cb3dSCy Schubert    [
34572b15cb3dSCy Schubert	case "$host" in
3458ea906c41SOllivier Robert	 *-apple-aux[[23]]*)
3459ea906c41SOllivier Robert	    ans=no
3460ea906c41SOllivier Robert	    ;;
3461ea906c41SOllivier Robert	 *-sni-sysv*)
3462ea906c41SOllivier Robert	    ans=noprintf
3463ea906c41SOllivier Robert	    ;;
3464276da39aSCy Schubert	 *-stratus-vos)
3465276da39aSCy Schubert	    ans=no
3466276da39aSCy Schubert	    ;;
3467ea906c41SOllivier Robert	 *-*-aix*)
3468ea906c41SOllivier Robert	    ans=noprintf
3469ea906c41SOllivier Robert	    ;;
3470ea906c41SOllivier Robert	 *-*-hpux*)
3471ea906c41SOllivier Robert	    ans=no
3472ea906c41SOllivier Robert	    ;;
3473ea906c41SOllivier Robert	 *-*-mpeix*)
3474ea906c41SOllivier Robert	    ans=no
3475ea906c41SOllivier Robert	    ;;
3476ea906c41SOllivier Robert	 *-*-ptx*)
3477ea906c41SOllivier Robert	    ans=noprintf
3478ea906c41SOllivier Robert	    ;;
3479ea906c41SOllivier Robert	 *-*-nextstep*)
3480ea906c41SOllivier Robert	    ans=_noprintf
3481ea906c41SOllivier Robert	    ;;
3482ea906c41SOllivier Robert	 *-*-solaris2*)
3483ea906c41SOllivier Robert	    ans=noprintf
3484ea906c41SOllivier Robert	    ;;
3485ea906c41SOllivier Robert	 *-*-sysv4*)
3486ea906c41SOllivier Robert	    ans=noprintf
3487ea906c41SOllivier Robert	    ;;
3488ea906c41SOllivier Robert	 *)
3489ea906c41SOllivier Robert	    ans=_noprintf
3490ea906c41SOllivier Robert	    ;;
3491ea906c41SOllivier Robert	esac
34922b15cb3dSCy Schubert	ntp_cv_nlist_noprintf=$ans
34932b15cb3dSCy Schubert    ]
34942b15cb3dSCy Schubert)
34952b15cb3dSCy Schubertcase "$ntp_cv_nlist_noprintf" in
34962b15cb3dSCy Schubert no)
34972b15cb3dSCy Schubert    ;;
34982b15cb3dSCy Schubert *)
34992b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([K_NOPRINTF_NAME], ["$ntp_cv_nlist_noprintf"],
35002b15cb3dSCy Schubert	[What is (probably) the name of NOPRINTF in the kernel?])
3501ea906c41SOllivier Robert    ;;
3502ea906c41SOllivier Robertesac
3503ea906c41SOllivier Robert
3504ea906c41SOllivier Robertdnl The tick/tickadj sections were written by Skippy, who never learned
3505ea906c41SOllivier Robertdnl that it's impolite (horridly gross) to show your guts in public.
3506ea906c41SOllivier Robert
3507ea906c41SOllivier Robertdnl	tick		tickadj
3508ea906c41SOllivier Robertdnl	10000		80	    Unixware
3509ea906c41SOllivier Robertdnl	1000000L/hz	tick/16     (Solaris,UXPV,HPUX) && ADJTIME_IS_ACCURATE
3510ea906c41SOllivier Robertdnl	10000		150	    sgi IRIX
3511ea906c41SOllivier Robertdnl	1000000L/hz	1000	    RS6000 && NOKMEM
3512ea906c41SOllivier Robertdnl	1000000L/hz	668	    DOMAINOS && NOKMEM
3513ea906c41SOllivier Robertdnl	1000000L/hz	500/HZ	    other && NOKMEM
3514ea906c41SOllivier Robertdnl	txc.tick	1	    Linux
3515ea906c41SOllivier Robertdnl	(every / 10)	50	    WinNT - tickadj is roughly 500/hz
3516ea906c41SOllivier Robertdnl	1000000L/hz	(nlist)     (Solaris && !ADJTIME_IS_ACCURATE),
3517ea906c41SOllivier Robertdnl				    (RS6000 && !NOKMEM), SINIX MIPS
3518ea906c41SOllivier Robert
3519ea906c41SOllivier Robertdnl But we'll only use these "values" if we can't find anything else.
3520ea906c41SOllivier Robert
3521eb6d21b4SOllivier RobertAC_MSG_CHECKING([for a default value for 'tick'])
3522eb6d21b4SOllivier Robert
3523eb6d21b4SOllivier Robert# target-dependent default for tick
3524eb6d21b4SOllivier Robert
3525ea906c41SOllivier Robertcase "$host" in
3526eb6d21b4SOllivier Robert *-*-pc-cygwin*)
3527eb6d21b4SOllivier Robert    AC_MSG_ERROR([tick needs work for cygwin])
3528ea906c41SOllivier Robert    ;;
3529ea906c41SOllivier Robert *-univel-sysv*)
3530ea906c41SOllivier Robert    ans=10000
3531ea906c41SOllivier Robert    ;;
3532ea906c41SOllivier Robert *-*-irix*)
3533ea906c41SOllivier Robert    ans=10000
3534ea906c41SOllivier Robert    ;;
3535eb6d21b4SOllivier Robert *-*-*linux*)
3536ea906c41SOllivier Robert    ans=txc.tick
3537ea906c41SOllivier Robert    ;;
3538ea906c41SOllivier Robert *-*-mpeix*)
3539ea906c41SOllivier Robert    ans=no
3540ea906c41SOllivier Robert    ;;
3541ea906c41SOllivier Robert *-*-winnt3.5)
3542ea906c41SOllivier Robert    ans='(every / 10)'
3543ea906c41SOllivier Robert    ;;
3544ea906c41SOllivier Robert *-*-unicosmp*)
3545ea906c41SOllivier Robert    ans=10000
3546ea906c41SOllivier Robert    ;;
3547ea906c41SOllivier Robert *)
3548ea906c41SOllivier Robert    ans='1000000L/hz'
3549ea906c41SOllivier Robert    ;;
3550ea906c41SOllivier Robertesac
3551ea906c41SOllivier Robert
3552eb6d21b4SOllivier RobertAC_ARG_ENABLE(
3553eb6d21b4SOllivier Robert    [tick],
35542b15cb3dSCy Schubert    [AS_HELP_STRING(
3555eb6d21b4SOllivier Robert	[--enable-tick=VALUE],
3556eb6d21b4SOllivier Robert	[s force a value for 'tick']
35572b15cb3dSCy Schubert    )],
3558eb6d21b4SOllivier Robert    [ans=$enableval]
3559eb6d21b4SOllivier Robert)
3560eb6d21b4SOllivier Robert
3561eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3562eb6d21b4SOllivier Robert
3563eb6d21b4SOllivier Robertcase "$ans" in
35642b15cb3dSCy Schubert ''|no)
35652b15cb3dSCy Schubert    ;;	# HMS: I think we can only get 'no' here...
35662b15cb3dSCy Schubert *)
35672b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([PRESET_TICK], [$ans],
35682b15cb3dSCy Schubert	[Preset a value for 'tick'?])
3569eb6d21b4SOllivier Robertesac
3570eb6d21b4SOllivier Robert
3571eb6d21b4SOllivier RobertAC_MSG_CHECKING([for a default value for 'tickadj'])
3572eb6d21b4SOllivier Robert
3573eb6d21b4SOllivier Robert# target-specific default
3574eb6d21b4SOllivier Robertans='500/hz'
3575ea906c41SOllivier Robertcase "$host" in
3576ea906c41SOllivier Robert *-fujitsu-uxp*)
3577eb6d21b4SOllivier Robert    case "$adjtime_is_accurate" in
3578eb6d21b4SOllivier Robert     yes)
3579eb6d21b4SOllivier Robert	ans='tick/16'
3580ea906c41SOllivier Robert    esac
3581ea906c41SOllivier Robert    ;;
3582ea906c41SOllivier Robert *-univel-sysv*)
3583ea906c41SOllivier Robert    ans=80
3584ea906c41SOllivier Robert    ;;
3585ea906c41SOllivier Robert *-*-aix*)
3586eb6d21b4SOllivier Robert    case "$can_kmem" in
3587eb6d21b4SOllivier Robert     no)
3588eb6d21b4SOllivier Robert	ans=1000
35892b15cb3dSCy Schubert	;;
3590ea906c41SOllivier Robert    esac
3591ea906c41SOllivier Robert    ;;
3592ea906c41SOllivier Robert *-*-domainos)	# Skippy: won't be found...
3593eb6d21b4SOllivier Robert    case "$can_kmem" in
3594eb6d21b4SOllivier Robert     no)
3595eb6d21b4SOllivier Robert	ans=668
35962b15cb3dSCy Schubert	;;
3597ea906c41SOllivier Robert    esac
3598ea906c41SOllivier Robert    ;;
3599ea906c41SOllivier Robert *-*-hpux*)
3600eb6d21b4SOllivier Robert    case "$adjtime_is_accurate" in
3601eb6d21b4SOllivier Robert     yes)
3602eb6d21b4SOllivier Robert	ans='tick/16'
36032b15cb3dSCy Schubert	;;
3604ea906c41SOllivier Robert    esac
3605ea906c41SOllivier Robert    ;;
3606ea906c41SOllivier Robert *-*-irix*)
3607ea906c41SOllivier Robert    ans=150
3608ea906c41SOllivier Robert    ;;
3609ea906c41SOllivier Robert *-*-mpeix*)
3610ea906c41SOllivier Robert    ans=no
3611ea906c41SOllivier Robert    ;;
3612ea906c41SOllivier Robert *-*-sco3.2v5.0*)
3613ea906c41SOllivier Robert    ans=10000L/hz
3614ea906c41SOllivier Robert    ;;
3615ea906c41SOllivier Robert *-*-winnt3.5)
3616ea906c41SOllivier Robert    ans=50
3617ea906c41SOllivier Robert    ;;
3618ea906c41SOllivier Robert *-*-unicosmp*)
3619ea906c41SOllivier Robert    ans=150
36202b15cb3dSCy Schubert    ;;
3621eb6d21b4SOllivier Robertesac
3622eb6d21b4SOllivier Robert
3623eb6d21b4SOllivier RobertAC_ARG_ENABLE(
3624eb6d21b4SOllivier Robert    [tickadj],
36252b15cb3dSCy Schubert    [AS_HELP_STRING(
3626eb6d21b4SOllivier Robert	[--enable-tickadj=VALUE],
3627eb6d21b4SOllivier Robert	[s force a value for 'tickadj']
36282b15cb3dSCy Schubert    )],
3629eb6d21b4SOllivier Robert    [ans=$enableval]
3630eb6d21b4SOllivier Robert)
3631eb6d21b4SOllivier Robert
3632eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3633eb6d21b4SOllivier Robert
3634eb6d21b4SOllivier Robertdefault_tickadj=$ans
3635eb6d21b4SOllivier Robert
3636eb6d21b4SOllivier Robertcase "$default_tickadj" in
36372b15cb3dSCy Schubert ''|no)
36382b15cb3dSCy Schubert    ;;	# HMS: I think we can only get 'no' here...
36392b15cb3dSCy Schubert *)
36402b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([PRESET_TICKADJ], [$default_tickadj],
36412b15cb3dSCy Schubert	[Preset a value for 'tickadj'?]) ;;
3642ea906c41SOllivier Robertesac
3643ea906c41SOllivier Robert
3644ea906c41SOllivier Robert# Newer versions of ReliantUNIX round adjtime() values down to
3645ea906c41SOllivier Robert# 1/100s (system tick). Sigh ...
3646ea906c41SOllivier Robert# Unfortunately, there is no easy way to know if particular release
3647ea906c41SOllivier Robert# has this "feature" or any obvious way to test for it.
3648ea906c41SOllivier Robertcase "$host" in
36492b15cb3dSCy Schubert mips-sni-sysv4*)
36502b15cb3dSCy Schubert    AC_DEFINE([RELIANTUNIX_CLOCK], [1],
36512b15cb3dSCy Schubert	[Do we want the ReliantUNIX clock hacks?])
3652ea906c41SOllivier Robertesac
3653ea906c41SOllivier Robert
3654ea906c41SOllivier Robertcase "$host" in
36552b15cb3dSCy Schubert *-*-sco3.2v5*)
36562b15cb3dSCy Schubert    AC_DEFINE([SCO5_CLOCK], [1], [Do we want the SCO clock hacks?])
3657ea906c41SOllivier Robertesac
3658ea906c41SOllivier Robert
36592b15cb3dSCy Schubertntp_cv_make_tickadj=yes
3660eb6d21b4SOllivier Robertcase "$can_kmem$ac_cv_var_tick$default_tickadj" in
3661ea906c41SOllivier Robert nonono)	# Don't read KMEM, no presets.  Bogus.
3662eb6d21b4SOllivier Robert    AC_MSG_WARN([Can't read kmem, no PRESET_TICK or PRESET_TICKADJ.  No tickadj.])
36632b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3664ea906c41SOllivier Robert    ;;
3665ea906c41SOllivier Robert nono*)		# Don't read KMEM, no PRESET_TICK but PRESET_TICKADJ.  Bogus.
3666eb6d21b4SOllivier Robert    AC_MSG_WARN([Can't read kmem but no PRESET_TICK.  No tickadj.])
36672b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3668ea906c41SOllivier Robert    ;;
3669ea906c41SOllivier Robert no*no)		# Don't read KMEM, PRESET_TICK but no PRESET_TICKADJ.  Bogus.
3670eb6d21b4SOllivier Robert    AC_MSG_WARN([Can't read kmem but no PRESET_TICKADJ.  No tickadj.])
36712b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3672ea906c41SOllivier Robert    ;;
3673ea906c41SOllivier Robert no*)		# Don't read KMEM, PRESET_TICK and PRESET_TICKADJ.  Cool.
3674ea906c41SOllivier Robert    ;;
3675ea906c41SOllivier Robert yesnono)	# Read KMEM, no presets.  Cool.
3676ea906c41SOllivier Robert    ;;
3677ea906c41SOllivier Robert yesno*)	# Read KMEM, no PRESET_TICK but PRESET_TICKADJ.  Bogus.
3678eb6d21b4SOllivier Robert    AC_MSG_WARN([PRESET_TICKADJ is defined but not PRESET_TICK.  Please report this.])
3679ea906c41SOllivier Robert    ;;
3680ea906c41SOllivier Robert yes*no)	# Read KMEM, PRESET_TICK but no PRESET_TICKADJ.  Cool.
3681ea906c41SOllivier Robert    ;;
3682ea906c41SOllivier Robert yes*)		# READ KMEM, PRESET_TICK and PRESET_TICKADJ.
3683ea906c41SOllivier Robert    ;;
3684ea906c41SOllivier Robert *)		# Generally bogus.
3685eb6d21b4SOllivier Robert    AC_MSG_ERROR([This shouldn't happen.])
3686ea906c41SOllivier Robert    ;;
3687ea906c41SOllivier Robertesac
3688ea906c41SOllivier Robert
3689ea906c41SOllivier RobertAC_SUBST(MAKE_NTPTIME)
3690eb6d21b4SOllivier RobertAC_CACHE_CHECK([if we want and can make the ntptime utility], ac_cv_make_ntptime,
3691ea906c41SOllivier Robert[case "$host" in
36922b15cb3dSCy Schubert *) case "$ntp_cv_struct_ntptimeval$ntp_cv_var_kernel_pll" in
3693ea906c41SOllivier Robert     yesyes)
3694ea906c41SOllivier Robert	ans=yes
3695ea906c41SOllivier Robert	;;
3696ea906c41SOllivier Robert     *)
3697ea906c41SOllivier Robert	ans=no
3698ea906c41SOllivier Robert	;;
3699ea906c41SOllivier Robert    esac
3700ea906c41SOllivier Robert    ;;
3701ea906c41SOllivier Robertesac
3702ea906c41SOllivier Robertac_cv_make_ntptime=$ans])
3703ea906c41SOllivier Robertcase "$ac_cv_make_ntptime" in
3704ea906c41SOllivier Robert yes)
3705ea906c41SOllivier Robert    MAKE_NTPTIME=ntptime
3706ea906c41SOllivier Robert    ;;
37072b15cb3dSCy Schubert *)
37082b15cb3dSCy Schubert    NTPTIME_DB=
37092b15cb3dSCy Schubert    NTPTIME_DL=
37102b15cb3dSCy Schubert    NTPTIME_DS=
37112b15cb3dSCy Schubert    NTPTIME_MS=
37122b15cb3dSCy Schubert    ;;
3713ea906c41SOllivier Robertesac
3714ea906c41SOllivier Robert
37152b15cb3dSCy SchubertAC_SUBST([MAKE_TICKADJ])
3716ea906c41SOllivier Robertcase "$host" in
3717ea906c41SOllivier Robert mips-sni-sysv4*)
3718ea906c41SOllivier Robert    # tickadj is pretty useless on newer versions of ReliantUNIX
3719ea906c41SOllivier Robert    # Do not bother
37202b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3721ea906c41SOllivier Robert    ;;
3722ea906c41SOllivier Robert *-*-irix*)
37232b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3724ea906c41SOllivier Robert    ;;
3725ea906c41SOllivier Robert *-*-solaris2*)
3726ea906c41SOllivier Robert    # DLM says tickadj is a no-no starting with solaris2.5
3727ea906c41SOllivier Robert    case "$host" in
3728ea906c41SOllivier Robert     *-*-solaris2.1[[0-9]]*)
37292b15cb3dSCy Schubert	ntp_cv_make_tickadj=no
3730ea906c41SOllivier Robert	;;
3731ea906c41SOllivier Robert     *-*-solaris2.[[0-4]]*) ;;
37322b15cb3dSCy Schubert     *) ntp_cv_make_tickadj=no ;;
3733ea906c41SOllivier Robert    esac
3734ea906c41SOllivier Robert    ;;
3735ea906c41SOllivier Robert *-*-unicosmp*)
37362b15cb3dSCy Schubert    ntp_cv_make_tickadj=no
3737ea906c41SOllivier Robert    ;;
3738ea906c41SOllivier Robertesac
3739eb6d21b4SOllivier Robert
3740eb6d21b4SOllivier Robert#
3741eb6d21b4SOllivier Robert# Despite all the above, we always make tickadj.  Setting
37422b15cb3dSCy Schubert# ntp_cv_make_tickadj before AC_CACHE_CHECK will cause a false
3743eb6d21b4SOllivier Robert# report that the configuration variable was cached.  It may
3744eb6d21b4SOllivier Robert# be better to simply remove the hunk above, I did not want
3745eb6d21b4SOllivier Robert# to remove it if there is hope it will be used again.
3746eb6d21b4SOllivier Robert#
37472b15cb3dSCy SchubertAS_UNSET([ntp_cv_make_tickadj])
3748eb6d21b4SOllivier Robert
37492b15cb3dSCy SchubertAC_CACHE_CHECK(
37502b15cb3dSCy Schubert    [if we want and can make the tickadj utility],
37512b15cb3dSCy Schubert    [ntp_cv_make_tickadj],
37522b15cb3dSCy Schubert    [ntp_cv_make_tickadj=yes]
37532b15cb3dSCy Schubert)
37542b15cb3dSCy Schubertcase "$ntp_cv_make_tickadj" in
3755ea906c41SOllivier Robert yes)
3756ea906c41SOllivier Robert    MAKE_TICKADJ=tickadj
3757ea906c41SOllivier Robert    ;;
37582b15cb3dSCy Schubert *)
37592b15cb3dSCy Schubert    CALC_TICKADJ_DB=
37602b15cb3dSCy Schubert    CALC_TICKADJ_DL=
37612b15cb3dSCy Schubert    CALC_TICKADJ_DS=
37622b15cb3dSCy Schubert    CALC_TICKADJ_MS=
37632b15cb3dSCy Schubert    TICKADJ_DB=
37642b15cb3dSCy Schubert    TICKADJ_DL=
37652b15cb3dSCy Schubert    TICKADJ_DS=
37662b15cb3dSCy Schubert    TICKADJ_MS=
37672b15cb3dSCy Schubert    ;;
3768ea906c41SOllivier Robertesac
3769ea906c41SOllivier Robert
37702b15cb3dSCy SchubertAC_SUBST([MAKE_TIMETRIM])
37712b15cb3dSCy SchubertAC_CACHE_CHECK(
37722b15cb3dSCy Schubert    [if we want and can make the timetrim utility],
37732b15cb3dSCy Schubert    [ntp_cv_make_timetrim],
37742b15cb3dSCy Schubert    [
37752b15cb3dSCy Schubert	case "$host" in
3776ea906c41SOllivier Robert	 *-*-irix*)
37772b15cb3dSCy Schubert	    ntp_cv_make_timetrim=yes
3778ea906c41SOllivier Robert	    ;;
3779ea906c41SOllivier Robert	 *-*-unicosmp*)
37802b15cb3dSCy Schubert	    ntp_cv_make_timetrim=yes
3781ea906c41SOllivier Robert	    ;;
3782ea906c41SOllivier Robert	 *)
37832b15cb3dSCy Schubert	    ntp_cv_make_timetrim=no
3784ea906c41SOllivier Robert	    ;;
37852b15cb3dSCy Schubert	esac
37862b15cb3dSCy Schubert    ]
37872b15cb3dSCy Schubert)
37882b15cb3dSCy Schubertcase "$ntp_cv_make_timetrim" in
3789ea906c41SOllivier Robert yes)
3790ea906c41SOllivier Robert    MAKE_TIMETRIM=timetrim
3791ea906c41SOllivier Robert    ;;
37922b15cb3dSCy Schubert *) TIMETRIM_DB=
37932b15cb3dSCy Schubert    TIMETRIM_DL=
37942b15cb3dSCy Schubert    TIMETRIM_DS=
37952b15cb3dSCy Schubert    TIMETRIM_MS=
37962b15cb3dSCy Schubert    ;;
3797ea906c41SOllivier Robertesac
3798ea906c41SOllivier Robert
37992b15cb3dSCy SchubertAC_SUBST([MAKE_LIBNTPSIM])
38002b15cb3dSCy SchubertAC_SUBST([MAKE_NTPDSIM])
3801eb6d21b4SOllivier Robert
3802eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we want to build the NTPD simulator])
3803eb6d21b4SOllivier RobertAC_ARG_ENABLE(
3804eb6d21b4SOllivier Robert    [simulator],
38052b15cb3dSCy Schubert    [AS_HELP_STRING(
3806eb6d21b4SOllivier Robert	[--enable-simulator],
3807eb6d21b4SOllivier Robert	[- build/install the NTPD simulator?]
38082b15cb3dSCy Schubert    )],
3809eb6d21b4SOllivier Robert    [ans=$enableval],
3810eb6d21b4SOllivier Robert    [ans=no]
3811eb6d21b4SOllivier Robert)
3812eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3813eb6d21b4SOllivier Robertcase "$ans" in
3814ea906c41SOllivier Robert yes)
3815ea906c41SOllivier Robert    MAKE_NTPDSIM=ntpdsim
3816ea906c41SOllivier Robert    MAKE_LIBNTPSIM=libntpsim.a
3817ea906c41SOllivier Robert    ;;
38182b15cb3dSCy Schubert *)
38192b15cb3dSCy Schubert    NTPDSIM_DB=
38202b15cb3dSCy Schubert    NTPDSIM_DL=
38212b15cb3dSCy Schubert    NTPDSIM_DS=
38222b15cb3dSCy Schubert    NTPDSIM_MS=
38232b15cb3dSCy Schubert    ;;
3824ea906c41SOllivier Robertesac
3825ea906c41SOllivier Robert
3826ea906c41SOllivier Robertcase "$build" in
3827ea906c41SOllivier Robert $host)
3828ea906c41SOllivier Robert    ;;
3829ea906c41SOllivier Robert *) case "$host" in
3830ea906c41SOllivier Robert     *-*-vxworks*)
3831ea906c41SOllivier Robert	LDFLAGS="$LDFLAGS -r"
3832ea906c41SOllivier Robert	;;
3833ea906c41SOllivier Robert    esac
3834ea906c41SOllivier Robert    ;;
3835ea906c41SOllivier Robertesac
3836ea906c41SOllivier Robert
38372b15cb3dSCy SchubertNTP_WITHSNTP
38382b15cb3dSCy Schubert
38392b15cb3dSCy SchubertAC_MSG_CHECKING([if we want to build ntpsnmpd])
38402b15cb3dSCy SchubertAC_ARG_WITH(
38412b15cb3dSCy Schubert    [ntpsnmpd],
38422b15cb3dSCy Schubert    [AS_HELP_STRING(
38432b15cb3dSCy Schubert	[--with-ntpsnmpd],
38442b15cb3dSCy Schubert	[s Build ntpsnmpd MIB agent?]
38452b15cb3dSCy Schubert    )],
38462b15cb3dSCy Schubert    [ans=$withval],
38472b15cb3dSCy Schubert    [
38482b15cb3dSCy Schubert	case "$PATH_NET_SNMP_CONFIG" in
38492b15cb3dSCy Schubert	 /*)	ans=yes ;;
38502b15cb3dSCy Schubert	 *)	ans=no  ;;
38512b15cb3dSCy Schubert	esac
38522b15cb3dSCy Schubert    ]
38532b15cb3dSCy Schubert)
38542b15cb3dSCy SchubertAC_MSG_RESULT([$ans])
38552b15cb3dSCy Schubertcase "$ans" in
38562b15cb3dSCy Schubert yes)
38572b15cb3dSCy Schubert    case "$PATH_NET_SNMP_CONFIG" in
38582b15cb3dSCy Schubert     /*)
38592b15cb3dSCy Schubert	SNMP_LIBS=`$PATH_NET_SNMP_CONFIG --agent-libs`
3860276da39aSCy Schubert	# Bug 2815.  This is a bit of a hack, but it works...
3861276da39aSCy Schubert	case "$ntp_cv_net_snmp_version" in
3862276da39aSCy Schubert	 5.3*)	SNMP_LIBS=`echo $SNMP_LIBS | $SED -e 's/-lnetsnmpagent/-lnetsnmpagent -lnetsnmpmibs/'`
3863276da39aSCy Schubert		;;
3864276da39aSCy Schubert	esac
38652b15cb3dSCy Schubert	AC_SUBST([SNMP_LIBS])
38662b15cb3dSCy Schubert	# HMS: we really want to separate CPPFLAGS and CFLAGS
38672b15cb3dSCy Schubert	foo=`$PATH_NET_SNMP_CONFIG --cflags`
38682b15cb3dSCy Schubert	SNMP_CPPFLAGS=
38692b15cb3dSCy Schubert	SNMP_CFLAGS=
38702b15cb3dSCy Schubert	for i in $foo; do
38712b15cb3dSCy Schubert	    case "$i" in
38722b15cb3dSCy Schubert	     -D*|-U*|-I*)
38732b15cb3dSCy Schubert		SNMP_CPPFLAGS="$SNMP_CPPFLAGS $i"
38742b15cb3dSCy Schubert		;;
38752b15cb3dSCy Schubert	    *)	SNMP_CFLAGS="$SNMP_CFLAGS $i"
38762b15cb3dSCy Schubert		;;
38772b15cb3dSCy Schubert	    esac
38782b15cb3dSCy Schubert	done
38792b15cb3dSCy Schubert	AC_SUBST([SNMP_CPPFLAGS])
38802b15cb3dSCy Schubert	AC_SUBST([SNMP_CFLAGS])
38812b15cb3dSCy Schubert
38822b15cb3dSCy Schubert	save_CFLAGS=$CFLAGS
38832b15cb3dSCy Schubert	save_CPPFLAGS=$CPPFLAGS
38842b15cb3dSCy Schubert	save_LIBS=$LIBS
38852b15cb3dSCy Schubert	CFLAGS=$SNMP_CFLAGS
38862b15cb3dSCy Schubert	CPPFLAGS=$SNMP_CPPFLAGS
38872b15cb3dSCy Schubert
38882b15cb3dSCy Schubert	AC_CHECK_HEADER(
38892b15cb3dSCy Schubert	    [net-snmp/net-snmp-config.h],
38902b15cb3dSCy Schubert	    [MAKE_NTPSNMPD=ntpsnmpd],
38912b15cb3dSCy Schubert	    [AC_MSG_WARN([net-snmp-config present but net-snmp headers are not available!])]
38922b15cb3dSCy Schubert	)
38932b15cb3dSCy Schubert
38942b15cb3dSCy Schubert	# Do this last, as we're messing up LIBS.
38952b15cb3dSCy Schubert	# check -lnetsnmp for netsnmp_daemonize
38962b15cb3dSCy Schubert	LIBS=`$PATH_NET_SNMP_CONFIG --libs`
38972b15cb3dSCy Schubert	AC_CHECK_LIB(
38982b15cb3dSCy Schubert	    [netsnmp],
38992b15cb3dSCy Schubert	    [netsnmp_daemonize],
39002b15cb3dSCy Schubert	    [ans=yes],
39012b15cb3dSCy Schubert	    [ans=no]
39022b15cb3dSCy Schubert	)
39032b15cb3dSCy Schubert	case "$ans" in
39042b15cb3dSCy Schubert	 no)
39052b15cb3dSCy Schubert	    AC_DEFINE([NEED_NETSNMP_DAEMONIZE], [1],
39062b15cb3dSCy Schubert		[We need to provide netsnmp_daemonize()])
39072b15cb3dSCy Schubert	esac
39082b15cb3dSCy Schubert
39092b15cb3dSCy Schubert	CFLAGS=$save_CFLAGS
39102b15cb3dSCy Schubert	AS_UNSET([save_CFLAGS])
39112b15cb3dSCy Schubert	CPPFLAGS=$save_CPPFLAGS
39122b15cb3dSCy Schubert	AS_UNSET([save_CPPFLAGS])
39132b15cb3dSCy Schubert	LIBS=$save_LIBS
39142b15cb3dSCy Schubert	AS_UNSET([save_LIBS])
39152b15cb3dSCy Schubert	;;
39162b15cb3dSCy Schubert     *)
39172b15cb3dSCy Schubert	AC_MSG_WARN([Cannot build ntpsnmpd - net-snmp-config cannot be found])
39182b15cb3dSCy Schubert	;;
39192b15cb3dSCy Schubert    esac
39202b15cb3dSCy Schubert    ;;
39212b15cb3dSCy Schubertesac
39222b15cb3dSCy SchubertAC_SUBST([MAKE_NTPSNMPD])
39232b15cb3dSCy Schubert
39242b15cb3dSCy Schubertcase "$MAKE_NTPSNMPD" in
39252b15cb3dSCy Schubert '')
39262b15cb3dSCy Schubert    NTPSNMPD_DB=
39272b15cb3dSCy Schubert    NTPSNMPD_DL=
39282b15cb3dSCy Schubert    NTPSNMPD_DS=
39292b15cb3dSCy Schubert    NTPSNMPD_MS=
39302b15cb3dSCy Schubert    ;;
39312b15cb3dSCy Schubertesac
3932eb6d21b4SOllivier Robert
3933eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should always slew the time])
3934eb6d21b4SOllivier Robert
3935eb6d21b4SOllivier Robert# target-specific defaults
3936eb6d21b4SOllivier Robert
3937eb6d21b4SOllivier Robertcase "$host" in
3938ea906c41SOllivier Robert *-apple-aux[[23]]*)
3939ea906c41SOllivier Robert    ans=yes
3940ea906c41SOllivier Robert    ;;
3941ea906c41SOllivier Robert *-*-bsdi[[012]]*)
3942ea906c41SOllivier Robert    ans=no
3943ea906c41SOllivier Robert    ;;
3944ea906c41SOllivier Robert *-*-bsdi*)
3945ea906c41SOllivier Robert    ans=yes
3946ea906c41SOllivier Robert    ;;
3947ea906c41SOllivier Robert *-*-openvms*)	# HMS: won't be found
3948ea906c41SOllivier Robert    ans=yes
3949ea906c41SOllivier Robert    ;;
3950ea906c41SOllivier Robert *) ans=no
3951ea906c41SOllivier Robert    ;;
3952ea906c41SOllivier Robertesac
3953eb6d21b4SOllivier Robert
3954eb6d21b4SOllivier Robert# --enable-slew-always / --disable-slew-always overrides default
3955eb6d21b4SOllivier Robert
3956eb6d21b4SOllivier RobertAC_ARG_ENABLE(
3957eb6d21b4SOllivier Robert    [slew-always],
39582b15cb3dSCy Schubert    [AS_HELP_STRING(
3959eb6d21b4SOllivier Robert	[--enable-slew-always],
3960eb6d21b4SOllivier Robert	[s always slew the time]
39612b15cb3dSCy Schubert    )],
3962eb6d21b4SOllivier Robert    [ans=$enableval]
3963eb6d21b4SOllivier Robert)
3964eb6d21b4SOllivier Robert
3965eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
3966eb6d21b4SOllivier Robert
3967eb6d21b4SOllivier Robertcase "$ans" in
39682b15cb3dSCy Schubert yes)
39692b15cb3dSCy Schubert    AC_DEFINE([SLEWALWAYS], [1], [Slew always?])
3970ea906c41SOllivier Robertesac
3971ea906c41SOllivier Robert
3972eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should step and slew the time])
3973eb6d21b4SOllivier Robert
3974eb6d21b4SOllivier Robertcase "$host" in
3975ea906c41SOllivier Robert *-sni-sysv*)
3976ea906c41SOllivier Robert    ans=yes
3977ea906c41SOllivier Robert    ;;
3978276da39aSCy Schubert *-stratus-vos)
3979276da39aSCy Schubert    ans=no
3980276da39aSCy Schubert    ;;
3981ea906c41SOllivier Robert *-univel-sysv*)
3982ea906c41SOllivier Robert    ans=no
3983ea906c41SOllivier Robert    ;;
3984ea906c41SOllivier Robert *-*-ptx*)
3985ea906c41SOllivier Robert    ans=yes
3986ea906c41SOllivier Robert    ;;
3987ea906c41SOllivier Robert *-*-solaris2.1[[0-9]]*)
3988ea906c41SOllivier Robert    ans=no
3989ea906c41SOllivier Robert    ;;
3990ea906c41SOllivier Robert *-*-solaris2.[[012]]*)
3991ea906c41SOllivier Robert    ans=yes
3992ea906c41SOllivier Robert    ;;
3993ea906c41SOllivier Robert *-*-sysv4*)	# HMS: Does this catch Fujitsu UXP?
3994ea906c41SOllivier Robert    ans=yes
3995ea906c41SOllivier Robert    ;;
3996ea906c41SOllivier Robert *) ans=no
3997ea906c41SOllivier Robert    ;;
3998ea906c41SOllivier Robertesac
3999eb6d21b4SOllivier Robert
4000eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4001eb6d21b4SOllivier Robert    [step-slew],
40022b15cb3dSCy Schubert    [AS_HELP_STRING(
4003eb6d21b4SOllivier Robert	[--enable-step-slew],
4004eb6d21b4SOllivier Robert	[s step and slew the time]
40052b15cb3dSCy Schubert    )],
4006eb6d21b4SOllivier Robert    [ans=$enableval]
4007eb6d21b4SOllivier Robert)
4008eb6d21b4SOllivier Robert
4009eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4010eb6d21b4SOllivier Robert
4011eb6d21b4SOllivier Robertcase "$ans" in
40122b15cb3dSCy Schubert yes)
40132b15cb3dSCy Schubert    AC_DEFINE([STEP_SLEW], [1], [Step, then slew the clock?])
4014ea906c41SOllivier Robertesac
4015ea906c41SOllivier Robert
4016eb6d21b4SOllivier RobertAC_MSG_CHECKING([if ntpdate should step the time])
4017eb6d21b4SOllivier Robert
4018eb6d21b4SOllivier Robertcase "$host" in
4019ea906c41SOllivier Robert *-apple-aux[[23]]*)
4020ea906c41SOllivier Robert    ans=yes
4021ea906c41SOllivier Robert    ;;
4022ea906c41SOllivier Robert *) ans=no
40232b15cb3dSCy Schubert    ;;
4024ea906c41SOllivier Robertesac
4025eb6d21b4SOllivier Robert
4026eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4027eb6d21b4SOllivier Robert    [ntpdate-step],
40282b15cb3dSCy Schubert    [AS_HELP_STRING(
4029eb6d21b4SOllivier Robert	[--enable-ntpdate-step],
4030eb6d21b4SOllivier Robert	[s if ntpdate should step the time]
40312b15cb3dSCy Schubert    )],
4032eb6d21b4SOllivier Robert    [ans=$enableval]
4033eb6d21b4SOllivier Robert)
4034eb6d21b4SOllivier Robert
4035eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4036eb6d21b4SOllivier Robert
4037eb6d21b4SOllivier Robertcase "$ans" in
40382b15cb3dSCy Schubert yes)
40392b15cb3dSCy Schubert    AC_DEFINE([FORCE_NTPDATE_STEP], [1],
40402b15cb3dSCy Schubert	[force ntpdate to step the clock if !defined(STEP_SLEW) ?])
4041ea906c41SOllivier Robertesac
4042ea906c41SOllivier Robert
4043eb6d21b4SOllivier Robert
4044eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should sync TODR clock every hour])
4045eb6d21b4SOllivier Robert
4046eb6d21b4SOllivier Robertcase "$host" in
4047ea906c41SOllivier Robert *-*-nextstep*)
4048ea906c41SOllivier Robert    ans=yes
4049ea906c41SOllivier Robert    ;;
4050ea906c41SOllivier Robert *-*-openvms*)	# HMS: won't be found
4051ea906c41SOllivier Robert    ans=yes
4052ea906c41SOllivier Robert    ;;
4053eb6d21b4SOllivier Robert *)
4054eb6d21b4SOllivier Robert    ans=no
40552b15cb3dSCy Schubert    ;;
4056eb6d21b4SOllivier Robertesac
4057eb6d21b4SOllivier Robert
4058eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4059eb6d21b4SOllivier Robert    [hourly-todr-sync],
40602b15cb3dSCy Schubert    [AS_HELP_STRING(
4061eb6d21b4SOllivier Robert	[--enable-hourly-todr-sync],
4062eb6d21b4SOllivier Robert	[s if we should sync TODR hourly]
40632b15cb3dSCy Schubert    )],
4064eb6d21b4SOllivier Robert    [ans=$enableval]
4065eb6d21b4SOllivier Robert)
4066eb6d21b4SOllivier Robert
4067eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4068eb6d21b4SOllivier Robert
4069ea906c41SOllivier Robertcase "$ac_cv_var_sync_todr" in
40702b15cb3dSCy Schubert yes)
40712b15cb3dSCy Schubert    AC_DEFINE([DOSYNCTODR], [1], [synch TODR hourly?]) ;;
4072ea906c41SOllivier Robertesac
4073ea906c41SOllivier Robert
4074eb6d21b4SOllivier Robert
4075eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should avoid kernel FLL bug])
4076eb6d21b4SOllivier Robert
4077eb6d21b4SOllivier Robertcase "$host" in
4078ea906c41SOllivier Robert *-*-solaris2.6)
4079ea906c41SOllivier Robert    unamev=`uname -v`
4080ea906c41SOllivier Robert    case "$unamev" in
4081ea906c41SOllivier Robert     Generic_105181-*)
4082ea906c41SOllivier Robert	old_IFS="$IFS"
4083ea906c41SOllivier Robert	IFS="-"
4084ea906c41SOllivier Robert	set $unamev
4085ea906c41SOllivier Robert	IFS="$old_IFS"
4086ea906c41SOllivier Robert	if test "$2" -ge 17
4087ea906c41SOllivier Robert	then
4088ea906c41SOllivier Robert	    # Generic_105181-17 and higher
4089ea906c41SOllivier Robert	    ans=no
4090ea906c41SOllivier Robert	else
4091ea906c41SOllivier Robert	    ans=yes
4092ea906c41SOllivier Robert	fi
4093ea906c41SOllivier Robert	;;
4094eb6d21b4SOllivier Robert     *)
4095eb6d21b4SOllivier Robert	ans=yes
40962b15cb3dSCy Schubert	;;
4097ea906c41SOllivier Robert    esac
4098ea906c41SOllivier Robert    ;;
4099ea906c41SOllivier Robert *-*-solaris2.7)
4100ea906c41SOllivier Robert    unamev=`uname -v`
4101ea906c41SOllivier Robert    case "$unamev" in
4102ea906c41SOllivier Robert     Generic_106541-*)
4103ea906c41SOllivier Robert	old_IFS="$IFS"
4104ea906c41SOllivier Robert	IFS="-"
4105ea906c41SOllivier Robert	set $unamev
4106ea906c41SOllivier Robert	IFS="$old_IFS"
4107ea906c41SOllivier Robert	if test "$2" -ge 07
4108ea906c41SOllivier Robert	then
4109ea906c41SOllivier Robert	    # Generic_106541-07 and higher
4110ea906c41SOllivier Robert	    ans=no
4111ea906c41SOllivier Robert	else
4112ea906c41SOllivier Robert	    ans=yes
4113ea906c41SOllivier Robert	fi
4114ea906c41SOllivier Robert	;;
4115eb6d21b4SOllivier Robert     *)
4116eb6d21b4SOllivier Robert	ans=yes
41172b15cb3dSCy Schubert	;;
4118ea906c41SOllivier Robert    esac
4119ea906c41SOllivier Robert    ;;
4120eb6d21b4SOllivier Robert *)
4121eb6d21b4SOllivier Robert    ans=no
41222b15cb3dSCy Schubert    ;;
4123ea906c41SOllivier Robertesac
4124eb6d21b4SOllivier Robert
4125eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4126eb6d21b4SOllivier Robert    [kernel-fll-bug],
41272b15cb3dSCy Schubert    [AS_HELP_STRING(
4128eb6d21b4SOllivier Robert	[--enable-kernel-fll-bug],
4129eb6d21b4SOllivier Robert	[s if we should avoid a kernel FLL bug]
41302b15cb3dSCy Schubert    )],
4131eb6d21b4SOllivier Robert    [ans=$enableval]
4132eb6d21b4SOllivier Robert)
4133eb6d21b4SOllivier Robert
4134eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4135eb6d21b4SOllivier Robert
4136eb6d21b4SOllivier Robertcase "$ans" in
41372b15cb3dSCy Schubert yes)
41382b15cb3dSCy Schubert    AC_DEFINE([KERNEL_FLL_BUG], [1], [Does the kernel have an FLL bug?])
41392b15cb3dSCy Schubertesac
41402b15cb3dSCy Schubert
41412b15cb3dSCy Schubert
41422b15cb3dSCy SchubertAC_MSG_CHECKING([if we want new session key behavior])
41432b15cb3dSCy SchubertAC_ARG_ENABLE(
41442b15cb3dSCy Schubert    [bug1243-fix],
41452b15cb3dSCy Schubert    [AS_HELP_STRING(
41462b15cb3dSCy Schubert	[--enable-bug1243-fix],
41472b15cb3dSCy Schubert	[+ use unmodified autokey session keys]
41482b15cb3dSCy Schubert    )],
41492b15cb3dSCy Schubert    [ans=$enableval],
41502b15cb3dSCy Schubert    [ans=yes]
41512b15cb3dSCy Schubert)
41522b15cb3dSCy SchubertAC_MSG_RESULT([$ans])
41532b15cb3dSCy Schubertcase "$ans" in
41542b15cb3dSCy Schubert no)
41552b15cb3dSCy Schubert    AC_DEFINE([DISABLE_BUG1243_FIX], [1],
41562b15cb3dSCy Schubert	[use old autokey session key behavior?])
4157ea906c41SOllivier Robertesac
4158ea906c41SOllivier Robert
4159eb6d21b4SOllivier Robert
41604990d495SXin LIAC_MSG_CHECKING([if we want the explicit 127.0.0.0/8 martian filter])
41614990d495SXin LIAC_ARG_ENABLE(
41624990d495SXin LI    [bug3020-fix],
41634990d495SXin LI    [AS_HELP_STRING(
41644990d495SXin LI	[--enable-bug3020-fix],
41654990d495SXin LI	[+ Provide the explicit 127.0.0.0/8 martian filter]
41664990d495SXin LI    )],
41674990d495SXin LI    [ans=$enableval],
41684990d495SXin LI    [ans=yes]
41694990d495SXin LI)
41704990d495SXin LIAC_MSG_RESULT([$ans])
41714990d495SXin LIcase "$ans" in
41724990d495SXin LI yes)
41734990d495SXin LI    AC_DEFINE([ENABLE_BUG3020_FIX], [1],
41744990d495SXin LI	[Provide the explicit 127.0.0.0/8 martian filter?])
41754990d495SXin LIesac
41764990d495SXin LI
41774990d495SXin LI
4178052d159aSCy SchubertAC_MSG_CHECKING([if we want correct mode7 fudgetime2 behavior])
4179052d159aSCy SchubertAC_ARG_ENABLE(
4180052d159aSCy Schubert    [bug3527-fix],
4181052d159aSCy Schubert    [AS_HELP_STRING(
4182052d159aSCy Schubert	[--enable-bug3527-fix],
4183052d159aSCy Schubert	[+ provide correct mode7 fudgetime2 behavior]
4184052d159aSCy Schubert    )],
4185052d159aSCy Schubert    [ans=$enableval],
4186052d159aSCy Schubert    [ans=yes]
4187052d159aSCy Schubert)
4188052d159aSCy SchubertAC_MSG_RESULT([$ans])
4189052d159aSCy Schubertcase "$ans" in
4190052d159aSCy Schubert no)
4191052d159aSCy Schubert    AC_DEFINE([DISABLE_BUG3527_FIX], [1],
4192052d159aSCy Schubert	[use old autokey session key behavior?])
4193052d159aSCy Schubertesac
4194052d159aSCy Schubert
4195052d159aSCy Schubert
4196a466cc55SCy SchubertAC_MSG_CHECKING([if we want a debug assert on an OOB KoD RATE value])
4197a466cc55SCy SchubertAC_ARG_ENABLE(
4198a466cc55SCy Schubert    [bug3767-fix],
4199a466cc55SCy Schubert    [AS_HELP_STRING(
4200a466cc55SCy Schubert	[--enable-bug3767-fix],
4201a466cc55SCy Schubert	[+ Disable debug assertion on OOB KoD RATE value]
4202a466cc55SCy Schubert    )],
4203a466cc55SCy Schubert    [ans=$enableval],
4204a466cc55SCy Schubert    [ans=yes]
4205a466cc55SCy Schubert)
4206a466cc55SCy SchubertAC_MSG_RESULT([$ans])
4207a466cc55SCy Schubertcase "$ans" in
4208a466cc55SCy Schubert no)
4209a466cc55SCy Schubert    AC_DEFINE([DISABLE_BUG3767_FIX], [1],
4210a466cc55SCy Schubert	[Disable debug assertion on OOB KoD RATE value?])
4211a466cc55SCy Schubertesac
4212a466cc55SCy Schubert
4213a466cc55SCy Schubert
4214eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should use the IRIG sawtooth filter])
4215eb6d21b4SOllivier Robert
4216eb6d21b4SOllivier Robertcase "$host" in
4217ea906c41SOllivier Robert *-*-solaris2.[[89]])
4218ea906c41SOllivier Robert    ans=yes
4219ea906c41SOllivier Robert    ;;
4220ea906c41SOllivier Robert *-*-solaris2.1[[0-9]]*)
4221ea906c41SOllivier Robert    ans=yes
4222ea906c41SOllivier Robert    ;;
4223ea906c41SOllivier Robert *) ans=no
42242b15cb3dSCy Schubert    ;;
4225ea906c41SOllivier Robertesac
4226eb6d21b4SOllivier Robert
4227eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4228eb6d21b4SOllivier Robert    [irig-sawtooth],
42292b15cb3dSCy Schubert    [AS_HELP_STRING(
4230eb6d21b4SOllivier Robert	[--enable-irig-sawtooth],
4231eb6d21b4SOllivier Robert	[s if we should enable the IRIG sawtooth filter]
42322b15cb3dSCy Schubert    )],
4233eb6d21b4SOllivier Robert    [ans=$enableval]
4234eb6d21b4SOllivier Robert)
4235eb6d21b4SOllivier Robert
4236eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4237eb6d21b4SOllivier Robert
4238eb6d21b4SOllivier Robertcase "$ans" in
42392b15cb3dSCy Schubert yes)
42402b15cb3dSCy Schubert    AC_DEFINE([IRIG_SUCKS], [1],
42412b15cb3dSCy Schubert	[Should we use the IRIG sawtooth filter?])
4242ea906c41SOllivier Robertesac
4243ea906c41SOllivier Robert
4244eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we should enable NIST lockclock scheme])
4245eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4246eb6d21b4SOllivier Robert	[nist],
42472b15cb3dSCy Schubert	[AS_HELP_STRING(
4248eb6d21b4SOllivier Robert	    [--enable-nist],
4249eb6d21b4SOllivier Robert	    [- if we should enable the NIST lockclock scheme]
42502b15cb3dSCy Schubert	)],
4251eb6d21b4SOllivier Robert	[ans=$enableval],
4252eb6d21b4SOllivier Robert	[ans=no]
4253eb6d21b4SOllivier Robert)
4254eb6d21b4SOllivier Robert
4255eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4256eb6d21b4SOllivier Robert
4257eb6d21b4SOllivier Robertcase "$ans" in
42582b15cb3dSCy Schubert yes)
42592b15cb3dSCy Schubert    AC_DEFINE([LOCKCLOCK], [1],
42602b15cb3dSCy Schubert	[Should we align with the NIST lockclock scheme?]) ;;
4261ea906c41SOllivier Robertesac
4262ea906c41SOllivier Robert
4263eb6d21b4SOllivier RobertAC_MSG_CHECKING([if we want support for Samba's signing daemon])
4264eb6d21b4SOllivier RobertAC_ARG_ENABLE(
4265eb6d21b4SOllivier Robert    [ntp-signd],
42662b15cb3dSCy Schubert    [AS_HELP_STRING(
4267eb6d21b4SOllivier Robert	[--enable-ntp-signd],
4268eb6d21b4SOllivier Robert	[- Provide support for Samba's signing daemon, =/var/run/ntp_signd]
42692b15cb3dSCy Schubert    )],
4270eb6d21b4SOllivier Robert    [ans=$enableval],
4271eb6d21b4SOllivier Robert    [ans=no]
4272eb6d21b4SOllivier Robert)
4273eb6d21b4SOllivier Robert
4274eb6d21b4SOllivier RobertAC_MSG_RESULT([$ans])
4275eb6d21b4SOllivier Robert
4276eb6d21b4SOllivier Robertcase "$ans" in
4277eb6d21b4SOllivier Robert no)
4278eb6d21b4SOllivier Robert    ntp_signd_path=
4279eb6d21b4SOllivier Robert    ;;
4280eb6d21b4SOllivier Robert yes)
4281eb6d21b4SOllivier Robert    ntp_signd_path=/var/run/ntp_signd
4282eb6d21b4SOllivier Robert    ;;
4283eb6d21b4SOllivier Robert *)
4284eb6d21b4SOllivier Robert    ntp_signd_path="$ans"
4285eb6d21b4SOllivier Robertesac
4286eb6d21b4SOllivier Robert
4287eb6d21b4SOllivier Robertcase "$ntp_signd_path" in
4288eb6d21b4SOllivier Robert '')
4289eb6d21b4SOllivier Robert    ;;
4290eb6d21b4SOllivier Robert *)
42912b15cb3dSCy Schubert    AC_DEFINE([HAVE_NTP_SIGND], [1],
42922b15cb3dSCy Schubert	[Do we want support for Samba's signing daemon?])
42932b15cb3dSCy Schubert    AC_DEFINE_UNQUOTED([NTP_SIGND_PATH], ["$ntp_signd_path"],
42942b15cb3dSCy Schubert	[Path to sign daemon rendezvous socket])
4295eb6d21b4SOllivier Robert    ;;
4296eb6d21b4SOllivier Robertesac
4297eb6d21b4SOllivier Robert
4298a466cc55SCy Schubertdnl check for 'magic pps' for Linux
4299a466cc55SCy SchubertAC_MSG_CHECKING([if we want 'magic' PPS support])
4300a466cc55SCy SchubertAC_ARG_ENABLE(
4301a466cc55SCy Schubert    [magicpps],
4302a466cc55SCy Schubert    [AS_HELP_STRING(
4303a466cc55SCy Schubert	[--enable-magicpps],
4304a466cc55SCy Schubert	[+ try to auto-instantiate PPS devices on Linux]
4305a466cc55SCy Schubert    )],
4306a466cc55SCy Schubert    [ans=$enableval],
4307a466cc55SCy Schubert    [ans=yes]
4308a466cc55SCy Schubert)
4309a466cc55SCy SchubertAC_MSG_RESULT([$ans])
4310a466cc55SCy Schubertcase "$ans" in
4311a466cc55SCy Schubert yes)
4312a466cc55SCy Schubert    AC_DEFINE([ENABLE_MAGICPPS], [1],
4313a466cc55SCy Schubert	[auto-instantiate missing PPS devices on Linux])
4314a466cc55SCy Schubert    AC_CHECK_FUNCS([openat fdopendir fstatat])
4315a466cc55SCy Schubert    ;;
4316a466cc55SCy Schubertesac
4317a466cc55SCy Schubert
4318eb6d21b4SOllivier RobertAC_CHECK_HEADERS([libscf.h])
43192b15cb3dSCy SchubertLSCF=
4320eb6d21b4SOllivier Robertcase "$ac_cv_header_libscf_h" in
4321eb6d21b4SOllivier Robert yes)
43222b15cb3dSCy Schubert    LSCF='-lscf'
4323eb6d21b4SOllivier Robertesac
43242b15cb3dSCy SchubertAC_SUBST([LSCF])
4325eb6d21b4SOllivier Robert
43262b15cb3dSCy SchubertNTP_IPV6
4327eb6d21b4SOllivier Robert
4328eb6d21b4SOllivier Robert
4329ea906c41SOllivier Robert#
4330ea906c41SOllivier Robert# Look for a sysctl call to get the list of network interfaces.
4331ea906c41SOllivier Robert#
4332eb6d21b4SOllivier RobertAC_CACHE_CHECK(
4333eb6d21b4SOllivier Robert    [for interface list sysctl],
43342b15cb3dSCy Schubert    [ntp_cv_iflist_sysctl],
43352b15cb3dSCy Schubert    [AC_PREPROC_IFELSE(
4336a25439b6SCy Schubert	[AC_LANG_SOURCE([
4337ea906c41SOllivier Robert	    #include <sys/param.h>
4338ea906c41SOllivier Robert	    #include <sys/sysctl.h>
4339ea906c41SOllivier Robert	    #include <sys/socket.h>
43402b15cb3dSCy Schubert	    #ifndef NET_RT_IFLIST
43412b15cb3dSCy Schubert	    # error
4342ea906c41SOllivier Robert	    #endif
4343a25439b6SCy Schubert	])],
43442b15cb3dSCy Schubert	[ntp_cv_iflist_sysctl=yes],
43452b15cb3dSCy Schubert	[ntp_cv_iflist_sysctl=no]
43462b15cb3dSCy Schubert    )]
4347eb6d21b4SOllivier Robert)
43482b15cb3dSCy Schubertcase "$ntp_cv_iflist_sysctl" in
4349eb6d21b4SOllivier Robert yes)
43502b15cb3dSCy Schubert    AC_DEFINE([HAVE_IFLIST_SYSCTL], [1], [have iflist_sysctl?])
4351eb6d21b4SOllivier Robertesac
4352eb6d21b4SOllivier Robert
4353ea906c41SOllivier Robert###
4354ea906c41SOllivier Robert
43552b15cb3dSCy SchubertAC_MSG_CHECKING([if we want the saveconfig mechanism])
43562b15cb3dSCy SchubertAC_ARG_ENABLE(
43572b15cb3dSCy Schubert    [saveconfig],
43582b15cb3dSCy Schubert    [AS_HELP_STRING(
43592b15cb3dSCy Schubert	[--enable-saveconfig],
43602b15cb3dSCy Schubert	[+ saveconfig mechanism]
43612b15cb3dSCy Schubert    )],
43622b15cb3dSCy Schubert    [ntp_ok=$enableval],
43632b15cb3dSCy Schubert    [ntp_ok=yes]
43642b15cb3dSCy Schubert)
43652b15cb3dSCy Schubertntp_saveconfig_enabled=0
43662b15cb3dSCy Schubertcase "$ntp_ok" in
43672b15cb3dSCy Schubert yes)
43682b15cb3dSCy Schubert    ntp_saveconfig_enabled=1
43692b15cb3dSCy Schubert    AC_DEFINE([SAVECONFIG], [1], [saveconfig mechanism])
43702b15cb3dSCy Schubert    ;;
43712b15cb3dSCy Schubertesac
43722b15cb3dSCy SchubertAM_CONDITIONAL([SAVECONFIG_ENABLED], [test x$ntp_saveconfig_enabled = x1])
43732b15cb3dSCy SchubertAC_MSG_RESULT([$ntp_ok])
4374ea906c41SOllivier Robert
4375276da39aSCy Schubert###
4376276da39aSCy Schubert
4377276da39aSCy SchubertAC_MSG_CHECKING([if we want the experimental leap smear code])
4378276da39aSCy SchubertAC_ARG_ENABLE(
4379276da39aSCy Schubert    [leap-smear],
4380276da39aSCy Schubert    [AS_HELP_STRING(
4381276da39aSCy Schubert	[--enable-leap-smear],
4382276da39aSCy Schubert	[- experimental leap smear code]
4383276da39aSCy Schubert    )],
4384276da39aSCy Schubert    [ntp_ok=$enableval],
4385276da39aSCy Schubert    [ntp_ok=no]
4386276da39aSCy Schubert)
4387276da39aSCy Schubertntp_leap_smear_enabled=0
4388276da39aSCy Schubertcase "$ntp_ok" in
4389276da39aSCy Schubert yes)
4390276da39aSCy Schubert    ntp_leap_smear_enabled=1
4391276da39aSCy Schubert    AC_DEFINE([LEAP_SMEAR], [1], [leap smear mechanism])
4392276da39aSCy Schubert    AC_SUBST([HAVE_LEAPSMEARINTERVAL])
4393276da39aSCy Schubert    HAVE_LEAPSMEARINTERVAL="leapsmearinterval 0"
4394276da39aSCy Schubert    ;;
4395276da39aSCy Schubertesac
4396276da39aSCy SchubertAC_MSG_RESULT([$ntp_ok])
4397276da39aSCy Schubert
43984990d495SXin LI###
43994990d495SXin LI
44004990d495SXin LIAC_MSG_CHECKING([if we want dynamic interleave support])
44014990d495SXin LIAC_ARG_ENABLE(
44024990d495SXin LI    [dynamic-interleave],
44034990d495SXin LI    [AS_HELP_STRING(
44044990d495SXin LI	[--enable-dynamic-interleave],
44054990d495SXin LI	[- dynamic interleave support]
44064990d495SXin LI    )],
44074990d495SXin LI    [ntp_ok=$enableval],
44084990d495SXin LI    [ntp_ok=no]
44094990d495SXin LI)
44104990d495SXin LIntp_dynamic_interleave=0
44114990d495SXin LIcase "$ntp_ok" in
44124990d495SXin LI yes)
44134990d495SXin LI    ntp_dynamic_interleave=1
44144990d495SXin LI    ;;
44154990d495SXin LIesac
44164990d495SXin LIAC_DEFINE_UNQUOTED([DYNAMIC_INTERLEAVE], [$ntp_dynamic_interleave],
44174990d495SXin LI    [support dynamic interleave?])
44184990d495SXin LIAC_MSG_RESULT([$ntp_ok])
44194990d495SXin LI
4420*f5f40dd6SCy SchubertAH_BOTTOM([
4421*f5f40dd6SCy Schubert	/*
4422*f5f40dd6SCy Schubert	 * Macro to use in otherwise-empty source files to comply with ANSI C
4423*f5f40dd6SCy Schubert	 * requirement that each translation unit (source file) contain some
4424*f5f40dd6SCy Schubert	 * declaration.  This has commonly been done by declaring an unused
4425*f5f40dd6SCy Schubert	 * global variable of type int or char.  An extern reference to abs()
4426*f5f40dd6SCy Schubert	 * serves the same purpose without bloat.  We once used exit() but
4427*f5f40dd6SCy Schubert	 * that can produce warnings on systems that declare exit() noreturn.
4428*f5f40dd6SCy Schubert	 */
4429*f5f40dd6SCy Schubert	#define	NONEMPTY_TRANSLATION_UNIT	extern int abs(int);
4430*f5f40dd6SCy Schubert])
4431*f5f40dd6SCy Schubert
4432276da39aSCy SchubertNTP_UNITYBUILD
4433276da39aSCy Schubert
44349034852cSGleb SmirnoffNTP_PROBLEM_TESTS
44359034852cSGleb Smirnoff
44362b15cb3dSCy Schubert###
44372b15cb3dSCy Schubert
44384e1ef62aSXin LIAC_CHECK_DECLS([sigsetjmp,siglongjmp], [], [], [[#include <setjmp.h>]])
44394e1ef62aSXin LI
44404e1ef62aSXin LI###
44414e1ef62aSXin LI
44422b15cb3dSCy SchubertAC_DEFINE_DIR([NTP_KEYSDIR], [sysconfdir],
44432b15cb3dSCy Schubert    [Default location of crypto key info])
44442b15cb3dSCy Schubert
44452b15cb3dSCy SchubertAC_CONFIG_FILES([Makefile])
44462b15cb3dSCy SchubertAC_CONFIG_FILES([adjtimed/Makefile])
44472b15cb3dSCy SchubertAC_CONFIG_FILES([clockstuff/Makefile])
44482b15cb3dSCy SchubertAC_CONFIG_FILES([include/Makefile])
44492b15cb3dSCy SchubertAC_CONFIG_FILES([include/isc/Makefile])
44502b15cb3dSCy SchubertAC_CONFIG_FILES([kernel/Makefile])
44512b15cb3dSCy SchubertAC_CONFIG_FILES([kernel/sys/Makefile])
44522b15cb3dSCy SchubertAC_CONFIG_FILES([libntp/Makefile])
44532b15cb3dSCy SchubertAC_CONFIG_FILES([libparse/Makefile])
44542b15cb3dSCy SchubertAC_CONFIG_FILES([ntpd/Makefile])
4455*f5f40dd6SCy SchubertAC_CONFIG_FILES([ntpd/complete.conf],	[$SED -e '/^rlimit$/d' -e '/^$/d' < ntpd/complete.conf > ntpd/complete.conf.new && mv ntpd/complete.conf.new ntpd/complete.conf])
44562b15cb3dSCy SchubertAC_CONFIG_FILES([ntpdate/Makefile])
44572b15cb3dSCy SchubertAC_CONFIG_FILES([ntpdc/Makefile])
44582b15cb3dSCy SchubertAC_CONFIG_FILES([ntpdc/nl.pl],		[chmod +x ntpdc/nl.pl])
44592b15cb3dSCy SchubertAC_CONFIG_FILES([ntpq/Makefile])
44602b15cb3dSCy SchubertAC_CONFIG_FILES([ntpsnmpd/Makefile])
44612b15cb3dSCy SchubertAC_CONFIG_FILES([parseutil/Makefile])
44622b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/Makefile])
4463a25439b6SCy SchubertAC_CONFIG_FILES([scripts/build/Makefile])
4464e27abb66SXin LIAC_CONFIG_FILES([scripts/build/genAuthors],	[chmod +x scripts/build/genAuthors])
44652b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/build/mkver],	[chmod +x scripts/build/mkver])
4466a25439b6SCy SchubertAC_CONFIG_FILES([scripts/calc_tickadj/Makefile])
4467a25439b6SCy SchubertAC_CONFIG_FILES([scripts/calc_tickadj/calc_tickadj], [chmod +x scripts/calc_tickadj/calc_tickadj])
4468a25439b6SCy SchubertAC_CONFIG_FILES([scripts/lib/Makefile])
44692b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/ntp-wait/Makefile])
4470a25439b6SCy SchubertAC_CONFIG_FILES([scripts/ntp-wait/ntp-wait],	[chmod +x scripts/ntp-wait/ntp-wait])
44712b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/ntpsweep/Makefile])
4472a25439b6SCy SchubertAC_CONFIG_FILES([scripts/ntpsweep/ntpsweep],	[chmod +x scripts/ntpsweep/ntpsweep])
44732b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/ntptrace/Makefile])
4474a25439b6SCy SchubertAC_CONFIG_FILES([scripts/ntptrace/ntptrace],	[chmod +x scripts/ntptrace/ntptrace])
44752b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/ntpver],	[chmod +x scripts/ntpver])
44762b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/plot_summary],	[chmod +x scripts/plot_summary])
44772b15cb3dSCy SchubertAC_CONFIG_FILES([scripts/summary],	[chmod +x scripts/summary])
4478a25439b6SCy SchubertAC_CONFIG_FILES([scripts/update-leap/Makefile])
4479276da39aSCy SchubertAC_CONFIG_FILES([scripts/update-leap/update-leap], [chmod +x scripts/update-leap/update-leap])
44802b15cb3dSCy SchubertAC_CONFIG_FILES([tests/Makefile])
4481276da39aSCy SchubertAC_CONFIG_FILES([tests/bug-2803/Makefile])
44822b15cb3dSCy SchubertAC_CONFIG_FILES([tests/libntp/Makefile])
44832b15cb3dSCy SchubertAC_CONFIG_FILES([tests/ntpd/Makefile])
44849034852cSGleb SmirnoffAC_CONFIG_FILES([tests/ntpq/Makefile])
4485276da39aSCy SchubertAC_CONFIG_FILES([tests/sandbox/Makefile])
4486276da39aSCy SchubertAC_CONFIG_FILES([tests/sec-2853/Makefile])
44872b15cb3dSCy SchubertAC_CONFIG_FILES([util/Makefile])
44882b15cb3dSCy Schubert
44892b15cb3dSCy Schubertperllibdir="${datadir}/ntp/lib"
44902b15cb3dSCy SchubertAC_DEFINE_DIR([PERLLIBDIR], [perllibdir], [data dir])
44912b15cb3dSCy Schubert
44922b15cb3dSCy Schubertcalc_tickadj_opts="$srcdir/scripts/calc_tickadj/calc_tickadj-opts"
44932b15cb3dSCy SchubertAC_SUBST_FILE([calc_tickadj_opts])
44942b15cb3dSCy Schubertntp_wait_opts="$srcdir/scripts/ntp-wait/ntp-wait-opts"
44952b15cb3dSCy SchubertAC_SUBST_FILE([ntp_wait_opts])
44962b15cb3dSCy Schubertntpsweep_opts="$srcdir/scripts/ntpsweep/ntpsweep-opts"
44972b15cb3dSCy SchubertAC_SUBST_FILE([ntpsweep_opts])
44982b15cb3dSCy Schubertntptrace_opts="$srcdir/scripts/ntptrace/ntptrace-opts"
44992b15cb3dSCy SchubertAC_SUBST_FILE([ntptrace_opts])
45002b15cb3dSCy Schubertsummary_opts="$srcdir/scripts/summary-opts"
45012b15cb3dSCy SchubertAC_SUBST_FILE([summary_opts])
45022b15cb3dSCy Schubertplot_summary_opts="$srcdir/scripts/plot_summary-opts"
45032b15cb3dSCy SchubertAC_SUBST_FILE([plot_summary_opts])
45042b15cb3dSCy Schubert
45052b15cb3dSCy SchubertAC_CONFIG_SUBDIRS([sntp])
4506ea906c41SOllivier Robert
4507ea906c41SOllivier RobertAC_OUTPUT
4508