dnl -*-fundamental-*- dnl Process this file with autoconf to produce a configure script. AC_INIT(ntpd/ntp_refclock.c) AC_CANONICAL_SYSTEM AC_DEFINE_UNQUOTED(STR_SYSTEM, "$host", [canonical system (cpu-vendor-os) string]) AM_CONFIG_HEADER(config.h) AC_ARG_PROGRAM AM_INIT_AUTOMAKE(ntp, 4.1.1b) AC_PREREQ(2.52) # We need the cross-compile-aware SIZEOF stuff. ac_cv_var_atom_ok=no ac_cv_var_oncore_ok=no ac_cv_var_ripe_ncc_ok=no dnl Grab any initial CFLAGS so we can pick better defaults. iCFLAGS="$CFLAGS" dnl we need to check for cross compile tools for vxWorks here AC_PROG_CC AC_PROG_CC_STDC AC_PROG_CPP case "$host" in *-*-amigaos) CFLAGS="$CFLAGS -Dfork=vfork -DSYS_AMIGA" ;; *-pc-cygwin*) CFLAGS="$CFLAGS -DSYS_CYGWIN32" ;; i386-sequent-sysv4) case "$CC" in cc) CFLAGS="$CFLAGS -Wc,+abi-socket" ;; esac ;; alpha*-dec-osf*) case "$CC" in cc) CFLAGS="$CFLAGS -std1" ;; esac ;; *-*-mpeix*) CPPFLAGS="$CPPFLAGS -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB" LDFLAGS="$LDFLAGS -L/SYSLOG/PUB" LIBS="$LIBS -lcurses" ;; esac case "$build" in $host) ;; *) case "$host" in *-*-vxworks*) # Quick and dirty sanity check case "$VX_KERNEL" in '') AC_MSG_ERROR(Please follow the directions in html/vxworks.html!) ;; esac CFLAGS="$CFLAGS -DSYS_VXWORKS" ;; esac ;; esac dnl we need to check for cross compile tools for vxWorks here AC_PROG_AWK AC_PROG_MAKE_SET rm -f conftest* case "$GCC" in yes) CFLAGS="$CFLAGS -Wall" # CFLAGS="$CFLAGS -Wcast-align" CFLAGS="$CFLAGS -Wcast-qual" # CFLAGS="$CFLAGS -Wconversion" # CFLAGS="$CFLAGS -Werror" CFLAGS="$CFLAGS -Wmissing-prototypes" CFLAGS="$CFLAGS -Wpointer-arith" CFLAGS="$CFLAGS -Wshadow" CFLAGS="$CFLAGS -Wstrict-prototypes" # CFLAGS="$CFLAGS -Wtraditional" # CFLAGS="$CFLAGS -Wwrite-strings" AC_CACHE_CHECK(whether ${CC-cc} -pipe works, ac_cv_prog_cc_pipe, [echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -pipe -c conftest.c 2>&1`" -a -s conftest.o; then ac_cv_prog_cc_pipe=yes else ac_cv_prog_cc_pipe=no fi rm -f conftest* ]) case "$ac_cv_prog_cc_pipe" in yes) CFLAGS="$CFLAGS -pipe" ;; esac ;; esac ac_busted_vpath_in_make=no case "$host" in *-next-nextstep3) CFLAGS="$CFLAGS -posix" ;; *-*-irix6.1*) # 64 bit only # busted vpath? ;; *-*-irix6*) # 6.2 (and later?) ac_busted_vpath_in_make=yes # don't pass -n32 to gcc, it cannot handle and doesn't need it if test "$GCC" != yes; then case "$CFLAGS" in *-n32*) ;; *-n64*) ;; *) case "$iCFLAGS" in '') CFLAGS="-O2 -g3 -n32" ;; *) CFLAGS="$CFLAGS -n32" ;; esac ;; esac case "$LDFLAGS" in *-n32*) ;; *-n64*) ;; *) LDFLAGS="$LDFLAGS -n32" ;; esac fi ;; *-*-solaris2.5.1) ac_busted_vpath_in_make=yes ;; dnl This is currently commented out by bor. dnl The new versions of ReliantUNIX round adjtime() interval down dnl to 1/100s (system tick). This makes tickadj actually useless. dnl So, I'd better not use additional flags. dnl I leave it here just in case anybody has better idea dnl mips-sni-sysv4* ) dnl # dnl # Add flags for 64 bit file access to enable tickadj to access /dev/kmem dnl # dnl if getconf _LFS_CFLAGS > /dev/null 2>&1 ; then dnl CFLAGS="$CFLAGS `getconf _LFS_CFLAGS`" dnl fi dnl ;; esac case "$ac_busted_vpath_in_make$srcdir" in no*) ;; yes.) ;; *) case "`${MAKE-make} -v -f /dev/null 2>/dev/null | sed -e 's/GNU Make version \(1-9.]*\).*/\1/' -e q`" in '') AC_MSG_ERROR(building outside of the main directory requires GNU make) ;; *) ;; esac ;; esac AC_SUBST(CFLAGS)dnl AC_SUBST(LDFLAGS)dnl AC_PROG_LN_S AC_PROG_GCC_TRADITIONAL AC_AIX AC_MINIX AC_ISC_POSIX AC_PROG_RANLIB AC_PATH_PROG(PATH_SH, sh) AC_PATH_PROG(PATH_PERL, perl) hs_ULONG_CONST case "$host" in *-*-vxworks*) ac_link="$ac_link $VX_KERNEL" ;; esac AC_PROG_INSTALL case "$host" in *-pc-cygwin*) AC_CHECK_LIB(advapi32, main) ;; esac AC_CHECK_LIB(elf, nlist) dnl Only needed for tickadj... dnl AC_CHECK_LIB(kvm, main, , , -lelf) AC_CHECK_LIB(kvm, main) dnl We already know about -lelf here... AC_CHECK_LIB(ld, nlist) AC_CHECK_LIB(mld, nlist) AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent, , , -lsocket)) AC_CHECK_FUNC(openlog, , AC_CHECK_LIB(gen, openlog, , AC_CHECK_LIB(syslog, openlog, , , -lsocket))) dnl HMS: What a hack... AC_CHECK_HEADERS(readline/history.h readline/readline.h) case "$ac_cv_header_readline_history_h$ac_cv_header_readline_readline_h" in *no*) ;; *) AC_CHECK_LIB(readline, readline, , AC_MSG_NOTICE([Trying again with -lcurses]) unset ac_cv_lib_readline_readline AC_CHECK_LIB(readline, readline, LIBS="-lreadline -lcurses $LIBS" AC_DEFINE(HAVE_LIBREADLINE) AC_DEFINE(HAVE_LIBCURSES, , [Do we have the curses library?]) , , -lcurses)) ;; esac dnl Digital UNIX V4.0 and Solaris 7 have POSIX.1c functions in -lrt dnl Solaris 2.6 only has -lposix4; in Solaris 7, this is a symlink to -lrt, dnl so only use one of them. Linux (glibc-2.1.2 and -2.2.2, at least) dnl does Strange Things with extra processes using the Posix-compatibility dnl real-time library, so we don't want to use it. case "$host" in *-*-linux*) ;; *) AC_CHECK_LIB(rt, sched_setscheduler, , AC_CHECK_LIB(posix4, sched_setscheduler)) ;; esac AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt)) AC_HEADER_STDC AC_CHECK_HEADERS(bstring.h errno.h fcntl.h ieeefp.h math.h memory.h netdb.h) AC_CHECK_HEADERS(poll.h resolv.h sched.h sgtty.h stdlib.h string.h termio.h) AC_CHECK_HEADERS(termios.h timepps.h timex.h unistd.h utmp.h utmpx.h) AC_CHECK_HEADERS(arpa/nameser.h net/if.h netinet/in_system.h) AC_CHECK_HEADERS(netinet/in_systm.h netinet/in.h netinet/ip.h) AC_CHECK_HEADERS(netinfo/ni.h, [AC_DEFINE(HAVE_NETINFO, 1, [NetInfo support?])]) AC_CHECK_HEADERS(sun/audioio.h sys/audioio.h) dnl AC_CHECK_HEADERS(sys/chudefs.h) AC_CHECK_HEADERS(sys/clkdefs.h sys/file.h) case "$host" in *-*-sunos4*) ;; *) AC_CHECK_HEADERS(sys/ioctl.h) ;; esac AC_CHECK_HEADERS(sys/lock.h sys/mman.h sys/modem.h sys/param.h sys/ppsclock.h) AC_CHECK_HEADERS(sys/ppstime.h sys/proc.h sys/resource.h sys/sched.h) case "$host" in *-*-sco*) AC_CHECK_HEADERS(sys/sio.h) ;; esac AC_CHECK_HEADERS(sys/select.h sys/signal.h sys/sockio.h) AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h) AC_CHECK_HEADERS(sys/stat.h sys/stream.h) AC_CHECK_HEADERS(sys/stropts.h sys/sysctl.h sys/syssgi.h sys/termios.h) AC_CHECK_HEADERS(sys/time.h sys/signal.h) AC_EGREP_CPP(yes, [#include #ifdef PPS_API_VERS_1 yes #endif ], [AC_CHECK_HEADERS(sys/timepps.h)]) AC_CHECK_HEADERS(sys/timers.h sys/timex.h sys/tpro.h sys/types.h sys/wait.h) AC_HEADER_TIME case "$host" in *-convex-*) AC_CHECK_HEADERS(/sys/sync/queue.h /sys/sync/sema.h) ;; *-*-bsdi*) AC_CHECK_HEADERS(machine/inline.h sys/pcl720.h sys/i8253.h) ;; esac AC_CHECK_HEADER(nlist.h, [AC_DEFINE(NLIST_STRUCT, 1, [nlist stuff]) AC_CACHE_CHECK([for n_un in struct nlist], ac_cv_struct_nlist_n_un, [AC_TRY_COMPILE([#include ], [struct nlist n; n.n_un.n_name = 0;], ac_cv_struct_nlist_n_un=yes, ac_cv_struct_nlist_n_un=no)]) if test $ac_cv_struct_nlist_n_un = yes; then AC_DEFINE(NLIST_NAME_UNION, 1, [does struct nlist use a name union?]) fi ])dnl AC_CACHE_CHECK(for basic volatile support, ac_cv_c_volatile, [AC_TRY_COMPILE([],[ volatile int x;], ac_cv_c_volatile=yes, ac_cv_c_volatile=no) ]) case "$ac_cv_c_volatile" in yes) ;; *) AC_DEFINE(volatile, , [Does the compiler like "volatile"?]) ;; esac case "$host" in sparc-*-solaris2*) # Assume that solaris2 is Ansi C... ;; *) AM_C_PROTOTYPES ;; esac AC_CACHE_CHECK(if C compiler permits function prototypes, ac_cv_have_prototypes, [AC_TRY_COMPILE([ extern int foo (short); int foo(short i) { return i; }],[ int i;], ac_cv_have_prototypes=yes, ac_cv_have_prototypes=no) ]) if test "$ac_cv_have_prototypes" = yes; then AC_DEFINE(HAVE_PROTOTYPES, 1, [Are function prototypes OK?]) fi AC_C_CONST case "$build" in $host) AC_C_BIGENDIAN ;; *) case "$host" in i*86-*-*) # Was i*86-*-vxworks* # LITTLEENDIAN ;; *-*-vxworks*) AC_DEFINE(WORDS_BIGENDIAN) ;; *) AC_MSG_ERROR(Cross-compiling needs explicit byte order) ;; esac ;; esac AC_TYPE_SIGNAL AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_CHECK_TYPE(time_t, long) AC_STRUCT_TM AC_CACHE_CHECK(for a fallback value for HZ, ac_cv_var_default_hz, [ac_cv_var_default_hz=100 case "$host" in alpha*-dec-osf4*|alpha*-dec-osf5*) ac_cv_var_default_hz=1024 ;; mips-dec-ultrix4*) ac_cv_var_default_hz=256 ;; esac]) AC_DEFINE_UNQUOTED(DEFAULT_HZ, $ac_cv_var_default_hz, [What is the fallback value for HZ?]) AC_CACHE_CHECK(if we need to override the system's value for HZ, ac_cv_var_override_hz, [ac_cv_var_override_hz=no case "$host" in alpha*-dec-osf4*|alpha*-dec-osf5*) ac_cv_var_override_hz=yes ;; mips-dec-ultrix4*) ac_cv_var_override_hz=yes ;; *-*-freebsd*) ac_cv_var_override_hz=yes ;; *-*-sunos4*) ac_cv_var_override_hz=yes ;; esac]) case "$ac_cv_var_override_hz" in yes) AC_DEFINE(OVERRIDE_HZ, 1, [Do we need to override the system's idea of HZ?]) ;; esac dnl AC_CACHE_CHECK(ut_host in struct utmp, ac_cv_func_ut_host_in_utmp, dnl [AC_TRY_LINK([#include dnl #include ], [struct utmp ut; ut.ut_host;], dnl ac_cv_func_ut_host_in_utmp=yes, ac_cv_func_ut_host_in_utmp=no)]) dnl if test $su_cv_func_ut_host_in_utmp = yes; then dnl AC_DEFINE(HAVE_UT_HOST) dnl fi dnl AC_MSG_CHECKING(if we can get the system boot time) dnl AC_CACHE_VAL(su_cv_have_boot_time, dnl [AC_EGREP_CPP(yes, dnl [#ifdef HAVE_UTMPX_H dnl #include dnl #else dnl #include dnl #endif dnl #ifdef BOOT_TIME dnl yes dnl #endif dnl ], su_cv_have_boot_time=yes, su_cv_have_boot_time=no)]) dnl AC_MSG_RESULT($su_cv_have_boot_time) AC_CACHE_CHECK( struct sigaction for sa_sigaction, ac_cv_struct_sigaction_has_sa_sigaction, [ AC_TRY_COMPILE( [#include ], [struct sigaction act; act.sa_sigaction = 0;], ac_cv_struct_sigaction_has_sa_sigaction=yes, ac_cv_struct_sigaction_has_sa_sigaction=no ) ] ) if test $ac_cv_struct_sigaction_has_sa_sigaction = yes; then AC_DEFINE(HAVE_SA_SIGACTION_IN_STRUCT_SIGACTION, 1, [Obvious...]) fi AC_CACHE_CHECK(for struct ppsclockev, ac_cv_struct_ppsclockev, [AC_TRY_COMPILE([ #include #ifdef HAVE_SYS_TERMIOS_H # include #endif #ifdef HAVE_SYS_TIME_H # include #endif #ifdef HAVE_SYS_PPSCLOCK_H # include #endif],[ extern struct ppsclockev *pce; return pce->serial;], ac_cv_struct_ppsclockev=yes, ac_cv_struct_ppsclockev=no) ]) if test $ac_cv_struct_ppsclockev = yes; then AC_DEFINE(HAVE_STRUCT_PPSCLOCKEV, 1, [Does a system header define struct ppsclockev?]) fi AC_CACHE_CHECK(struct sockaddr for sa_len, ac_cv_struct_sockaddr_has_sa_len, [AC_TRY_COMPILE([ #include #include ],[ extern struct sockaddr *ps; return ps->sa_len;], ac_cv_struct_sockaddr_has_sa_len=yes, ac_cv_struct_sockaddr_has_sa_len=no) ]) if test $ac_cv_struct_sockaddr_has_sa_len = yes; then AC_DEFINE(HAVE_SA_LEN_IN_STRUCT_SOCKADDR, 1, [Should be obvious...]) fi case "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in *yes*) AC_CACHE_CHECK([for struct snd_size], ac_cv_struct_snd_size, [AC_TRY_COMPILE([ #ifdef HAVE_MACHINE_SOUNDCARD_H # include #endif #ifdef HAVE_SYS_SOUNDCARD_H # include #endif],[ extern struct snd_size *ss; return ss->rec_size;], ac_cv_struct_snd_size=yes, ac_cv_struct_snd_size=no) ]) case "$ac_cv_struct_snd_size" in yes) AC_DEFINE(HAVE_STRUCT_SND_SIZE, 1,[Do we have struct snd_size?]) ;; esac ;; esac AC_CACHE_CHECK(struct clockinfo for hz, ac_cv_struct_clockinfo_has_hz, [AC_TRY_COMPILE([ #include ],[ extern struct clockinfo *pc; return pc->hz;], ac_cv_struct_clockinfo_has_hz=yes, ac_cv_struct_clockinfo_has_hz=no) ]) if test $ac_cv_struct_clockinfo_has_hz = yes; then AC_DEFINE(HAVE_HZ_IN_STRUCT_CLOCKINFO, 1, [Obvious...]) fi AC_CACHE_CHECK(struct clockinfo for tickadj, ac_cv_struct_clockinfo_has_tickadj, [AC_TRY_COMPILE([ #include ],[ extern struct clockinfo *pc; return pc->tickadj;], ac_cv_struct_clockinfo_has_tickadj=yes, ac_cv_struct_clockinfo_has_tickadj=no) ]) if test $ac_cv_struct_clockinfo_has_tickadj = yes; then AC_DEFINE(HAVE_TICKADJ_IN_STRUCT_CLOCKINFO, 1, [Obvious...]) fi AC_CACHE_CHECK([for struct timespec], ac_cv_struct_timespec, [AC_TRY_COMPILE([ #include /* Under SunOS, timespec is in sys/timepps.h, which needs errno.h and FRAC */ #ifdef HAVE_ERRNO_H # include #endif #ifdef HAVE_SYS_TIMEPPS_H # define FRAC 4294967296 # include #endif], [struct timespec n;], ac_cv_struct_timespec=yes, ac_cv_struct_timespec=no)]) if test $ac_cv_struct_timespec = yes; then AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, [Do we have struct timespec?]) fi AC_CACHE_CHECK([for struct ntptimeval], ac_cv_struct_ntptimeval, [AC_TRY_COMPILE([ #include #include ], [struct ntptimeval n;], ac_cv_struct_ntptimeval=yes, ac_cv_struct_ntptimeval=no)]) if test $ac_cv_struct_ntptimeval = yes; then AC_DEFINE(HAVE_STRUCT_NTPTIMEVAL, 1, [Do we have struct ntptimeval?]) fi AC_CHECK_MEMBERS([struct ntptimeval.time.tv_nsec], , , [#ifdef HAVE_SYS_TIME_H #include #else # ifdef HAVE_TIME_H # include # endif #endif #ifdef HAVE_SYS_TIMEX_H #include #else # ifdef HAVE_TIMEX_H # include # endif #endif]) AC_C_INLINE AC_C_CHAR_UNSIGNED dnl CROSS_COMPILE? AC_CHECK_SIZEOF(signed char) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_TYPES([s_char]) case "$ac_cv_c_char_unsigned$ac_cv_sizeof_signed_char$ac_cv_type_s_char" in *yes) # We have a typedef for s_char. Might as well believe it... ;; no0no) # We have signed chars, can't say 'signed char', no s_char typedef. AC_DEFINE(NEED_S_CHAR_TYPEDEF, 1, [Do we need an s_char typedef?]) ;; no1no) # We have signed chars, can say 'signed char', no s_char typedef. AC_DEFINE(NEED_S_CHAR_TYPEDEF) ;; yes0no) # We have unsigned chars, can't say 'signed char', no s_char typedef. AC_MSG_ERROR(No way to specify a signed character!) ;; yes1no) # We have unsigned chars, can say 'signed char', no s_char typedef. AC_DEFINE(NEED_S_CHAR_TYPEDEF) ;; esac AC_TYPE_UID_T case "$host" in *-*-linux*) AC_CHECK_FUNCS(__adjtimex __ntp_gettime) ;; esac case "$host" in *-*-aix4*) # (prr) aix 4.1 doesn't have clock_settime, but in aix 4.3 it's a stub # (returning ENOSYS). I didn't check 4.2. If, in the future, # IBM pulls its thumbs out long enough to implement clock_settime, # this conditional will need to change. Maybe use AC_TRY_RUN # instead to try to set the time to itself and check errno. ;; *) AC_CHECK_FUNCS(clock_gettime clock_settime) ;; esac AC_CHECK_FUNCS(daemon) AC_CHECK_FUNCS(finite, , [AC_CHECK_FUNCS(isfinite, , [AC_MSG_CHECKING(for isfinite with ) _libs=$LIBS LIBS="$LIBS -lm" AC_TRY_LINK([#include ], [float f = 0.0; isfinite(f)], [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_ISFINITE)], AC_MSG_RESULT(no)) LIBS=$_libs])]) AC_CHECK_FUNCS(getbootfile getclock getdtablesize getrusage) AC_CHECK_FUNC(gettimeofday, ,[ case "$host" in *-*-mpeix*) ac_cv_func_gettimeofday=yes ;; esac]) case "$host" in *-pc-cygwin*) ;; *) AC_CHECK_FUNCS(getuid) ;; esac AC_CHECK_FUNCS(hstrerror K_open kvm_open memcpy memmove memset) case "$host" in *-*-sco3.2v5.0.*) # Just stubs. Idiots. ;; *) AC_CHECK_FUNCS(mkstemp) ;; esac AC_CHECK_FUNCS(mktime) case "$host" in *-*-aix4*) # Just a stub. Idiots. ;; *-*-irix*) # Just a stub in Irix. Idiots. ;; *-*-qnx*) # Apparently there but not working in QNX. Idiots? ;; *-*-sco3.2v5.0.*) # Just a stub. Idiots. ;; alpha*-dec-osf4*|alpha*-dec-osf5*) # mlockall is there, as a #define calling memlk via # Not easy to test for - cheat. AC_CHECK_FUNCS(memlk, [ac_cv_func_mlockall='yes']) AC_CHECK_FUNCS(mlockall) ;; *) AC_CHECK_FUNCS(mlockall) ;; esac AC_CHECK_FUNCS(mrand48 srand48 nice nlist) case "$host" in *-*-solaris2.6) # Broken... ;; *) AC_CHECK_FUNCS(ntp_adjtime ntp_gettime) ;; esac AC_CHECK_FUNCS(plock pututline pututxline readlink rtprio) case "$ac_cv_func_mrand48" in yes) ;; *) AC_REPLACE_FUNCS(random) ;; esac case "$host" in *-*-aix4*) # Just a stub in AIX 4. Idiots. ;; *-*-solaris2.5*) # Just stubs in solaris2.5. Idiots. ;; *) AC_CHECK_FUNCS(sched_setscheduler) ;; esac AC_CHECK_FUNCS(setlinebuf setpgid setpriority setsid) AC_CHECK_FUNCS(settimeofday, ,[ case "$host" in *-*-mpeix*) ac_cv_func_settimeofday=yes ;; esac]) AC_CHECK_FUNCS(setvbuf sigaction) AC_CHECK_FUNCS(sigvec sigset sigsuspend stime strchr sysconf sysctl) AC_CHECK_FUNCS(snprintf strdup strerror strstr) AC_CHECK_FUNCS(timegm) case "$host" in *-*-aix4*) # Just stubs. Idiots. ;; *-*-netbsd*) # Just stubs. Idiots. ;; *-*-openbsd*) # Just stubs. Idiots. ;; *) AC_CHECK_FUNCS(timer_create timer_settime) ;; esac case "$host" in *-pc-cygwin*) # I have no idea... ;; *) AC_CHECK_FUNCS(umask) ;; esac AC_CHECK_FUNCS(uname updwtmp updwtmpx vsprintf) AC_CACHE_CHECK(number of arguments to gettimeofday(), ac_cv_func_Xettimeofday_nargs, [AC_TRY_COMPILE([#include ],[ gettimeofday((struct timeval*)0,(struct timezone*)0); settimeofday((struct timeval*)0,(struct timezone*)0); ], ac_cv_func_Xettimeofday_nargs=2, ac_cv_func_Xettimeofday_nargs=1) ]) if test $ac_cv_func_Xettimeofday_nargs = 1; then AC_DEFINE(SYSV_TIMEOFDAY, 1, [Does Xettimeofday take 1 arg?]) fi AC_CACHE_CHECK(number of arguments taken by setpgrp(), ac_cv_func_setpgrp_nargs, [AC_TRY_COMPILE([ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif ],[setpgrp(0,0);], ac_cv_func_setpgrp_nargs=2, ac_cv_func_setpgrp_nargs=0) ]) if test $ac_cv_func_setpgrp_nargs = 0; then AC_DEFINE(HAVE_SETPGRP_0, 1, [define if setpgrp takes 0 arguments]) fi save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -I$srcdir/include" AC_CACHE_CHECK(argument pointer type of qsort()'s compare function and base, ac_cv_func_qsort_argtype, [AC_TRY_COMPILE([ #include "l_stdlib.h" #ifdef HAVE_PROTOTYPES #define P(x) x #else #define P(x) () #endif extern void *base; extern sortfunc P((const void *, const void *)); int sortfunc(a, b) const void *a; const void *b; { return 0; } ],[ qsort(base, 2, sizeof(char *), sortfunc); ], ac_cv_func_qsort_argtype=void, ac_cv_func_qsort_argtype=char) ]) case "$ac_cv_func_qsort_argtype" in void) AC_DEFINE(QSORT_USES_VOID_P, 1, [Does qsort expect to work on "void *" stuff?]) ;; esac CFLAGS=$save_CFLAGS AC_CACHE_CHECK(if we need to declare 'errno', ac_cv_decl_errno, [AC_TRY_COMPILE([#ifdef HAVE_ERRNO_H #include #endif], [errno = 0;], ac_cv_decl_errno=no, ac_cv_decl_errno=yes)]) case "$ac_cv_decl_errno" in yes) AC_DEFINE(DECL_ERRNO, 1, [Declare errno?]) ;; esac dnl FIXME: from ntpd/ntp_intres.c, but there's no info which header produces dnl the clash. isn't currently used. dnl dnl (prr) aix 4.3 defines h_errno as (*(int *)h_errno_which()) for dnl MT purposes. This makes the line "extern int h_errno" choke dnl the compiler. Hopefully adding !defined(h_errno) fixes this dnl without breaking any other platforms. dnl AC_CACHE_CHECK(if we may declare 'h_errno', ac_cv_decl_h_errno, [AC_TRY_COMPILE([#include #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_NAMESER_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_RESOLV_H #include #endif], [extern int h_errno;], ac_cv_decl_h_errno=yes, ac_cv_decl_h_errno=no)]) case "$ac_cv_decl_h_errno" in yes) AC_DEFINE(DECL_H_ERRNO, 1, [Declare h_errno?]) ;; esac dnl See if char *sys_errlist[] is OK. AC_CACHE_CHECK([[if declaring 'char *sys_errlist[]' is ok]], ac_cv_decl_sys_errlist, [AC_TRY_COMPILE([#include #ifdef HAVE_ERRNO_H #include #endif], [extern char *sys_errlist[]; ], ac_cv_decl_sys_errlist=yes, ac_cv_decl_sys_errlist=no)]) case "$ac_cv_decl_sys_errlist" in yes) AC_DEFINE(CHAR_SYS_ERRLIST, 1, [Declare char *sys_errlist array]) ;; esac AC_CACHE_CHECK(if declaring 'syscall()' is ok, ac_cv_decl_syscall, [AC_TRY_COMPILE([ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif #ifdef HAVE_PROTOTYPES #define P(x) x #else #define P(x) () #endif ], [extern int syscall P((int, ...));], ac_cv_decl_syscall=yes, ac_cv_decl_syscall=no)]) case "$ac_cv_decl_syscall" in yes) AC_DEFINE(DECL_SYSCALL, 1, [Declare syscall()?]) ;; esac case "$host" in *-*-aix4.3.*) AC_DEFINE(DECL_HSTRERROR_0, 1, [Declaration style]) # Needed for XLC under AIX 4.3.2 ;; *-*-mpeix*) AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) AC_DEFINE(DECL_INET_NTOA_0, 1, [Declaration style]) AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_MRAND48_0, 1, [Declaration style]) AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) AC_DEFINE(DECL_SRAND48_0, 1, [Declaration style]) AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) ;; *-*-osf[[45]]*) AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style]) AC_DEFINE(DECL_STIME_1, 1, [Declaration style]) ;; *-*-qnx*) AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) ;; *-*-riscos4*) AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style]) AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_RENAME_0, 1, [Declaration style]) AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) AC_DEFINE(DECL_STDIO_0, 1, [Declaration style]) AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style]) AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) AC_DEFINE(DECL_TIME_0, 1, [Declaration style]) AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style]) ;; *-*-solaris2*) AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_SETPRIORITY_1, 1, [Declaration style]) case "$host" in *-*-solaris2.4) AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) ;; esac ;; *-*-sunos4*) AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) AC_DEFINE(DECL_BCOPY_0, 1, [Declaration style]) AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) AC_DEFINE(DECL_MEMMOVE_0, 1, [Declaration style]) AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_MKSTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_MRAND48_0, 1, [Declaration style]) AC_DEFINE(DECL_RENAME_0, 1, [Declaration style]) AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) AC_DEFINE(DECL_SIGVEC_0, 1, [Declaration style]) AC_DEFINE(DECL_SRAND48_0, 1, [Declaration style]) case "`basename $ac_cv_prog_CC`" in acc*) ;; *) AC_DEFINE(DECL_STDIO_0, 1, [Declaration style]) ;; esac AC_DEFINE(DECL_STRTOL_0, 1, [Declaration style]) AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) AC_DEFINE(DECL_TIME_0, 1, [Declaration style]) AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) AC_DEFINE(DECL_TOLOWER_0, 1, [Declaration style]) AC_DEFINE(DECL_TOUPPER_0, 1, [Declaration style]) AC_DEFINE(DECL_STRERROR_0, 1, [Declaration style]) ;; *-*-ultrix4*) AC_DEFINE(DECL_ADJTIME_0, 1, [Declaration style]) AC_DEFINE(DECL_BZERO_0, 1, [Declaration style]) AC_DEFINE(DECL_CFSETISPEED_0, 1, [Declaration style]) AC_DEFINE(DECL_IOCTL_0, 1, [Declaration style]) AC_DEFINE(DECL_IPC_0, 1, [Declaration style]) AC_DEFINE(DECL_MKTEMP_0, 1, [Declaration style]) AC_DEFINE(DECL_MRAND48_0, 1, [Declaration style]) AC_DEFINE(DECL_NLIST_0, 1, [Declaration style]) AC_DEFINE(DECL_PLOCK_0, 1, [Declaration style]) AC_DEFINE(DECL_SELECT_0, 1, [Declaration style]) AC_DEFINE(DECL_SETITIMER_0, 1, [Declaration style]) AC_DEFINE(DECL_SETPRIORITY_0, 1, [Declaration style]) AC_DEFINE(DECL_SRAND48_0, 1, [Declaration style]) AC_DEFINE(DECL_STIME_0, 1, [Declaration style]) AC_DEFINE(DECL_SYSLOG_0, 1, [Declaration style]) AC_DEFINE(DECL_TIMEOFDAY_0, 1, [Declaration style]) ;; esac case "$host" in *-*-sco3.2*) AC_DEFINE(TERMIOS_NEEDS__SVID3, 1, [Do we need to #define _SVID3 when we #include ?]) ;; esac AC_CACHE_CHECK(if we should use a streams device for ifconfig, ac_cv_var_use_streams_device_for_ifconfig, ac_cv_var_use_streams_device_for_ifconfig=no) AC_CACHE_CHECK(if we need extra room for SO_RCVBUF, ac_cv_var_rcvbuf_slop, [ans=no case "$host" in *-*-hpux[[567]]*) ans=yes ;; esac ac_cv_var_rcvbuf_slop=$ans]) case "$ac_cv_var_rcvbuf_slop" in yes) AC_DEFINE(NEED_RCVBUF_SLOP, 1, [Do we need extra room for SO_RCVBUF? (HPUX <8)]) ;; esac AC_CACHE_CHECK(if we will open the broadcast socket, ac_cv_var_open_bcast_socket, [ans=yes case "$host" in *-*-domainos) ans=no ;; *-*-linux*) ans=no ;; esac ac_cv_var_open_bcast_socket=$ans]) case "$ac_cv_var_open_bcast_socket" in yes) AC_DEFINE(OPEN_BCAST_SOCKET, 1, [Should we open the broadcast socket?]) ;; esac AC_CACHE_CHECK(if we want the HPUX version of FindConfig(), ac_cv_var_hpux_findconfig, [ans=no case "$host" in *-*-hpux*) ans=yes ;; esac ac_cv_var_hpux_findconfig=$ans]) case "$ac_cv_var_hpux_findconfig" in yes) AC_DEFINE(NEED_HPUX_FINDCONFIG, 1, [Do we want the HPUX FindConfig()?]) ;; esac AC_CACHE_CHECK(if process groups are set with -pid, ac_cv_arg_setpgrp_negpid, [case "$host" in *-*-hpux[[567]]*) ans=no ;; *-*-hpux*) ans=yes ;; *-*-linux*) ans=yes ;; *-*-sunos3*) ans=yes ;; *-*-ultrix2*) ans=yes ;; *) ans=no ;; esac ac_cv_arg_setpgrp_negpid=$ans]) case "$ac_cv_arg_setpgrp_negpid" in yes) AC_DEFINE(UDP_BACKWARDS_SETOWN, 1, [Do we set process groups with -pid?]) ;; esac AC_CACHE_CHECK(if we need a ctty for F_SETOWN, ac_cv_func_ctty_for_f_setown, [case "$host" in *-*-bsdi[[23]]*) ans=yes ;; *-*-freebsd*) ans=yes ;; *-*-netbsd*) ans=yes ;; *-*-openbsd*) ans=yes ;; *-*-osf*) ans=yes ;; *) ans=no ;; esac ac_cv_func_ctty_for_f_setown=$ans]) case "$ac_cv_func_ctty_for_f_setown" in yes) AC_DEFINE(USE_FSETOWNCTTY, 1, [Must we have a CTTY for fsetown?]) ;; esac ntp_warning='GRONK' AC_MSG_CHECKING(if we'll use clock_settime or settimeofday or stime) case "$ac_cv_func_clock_settime$ac_cv_func_settimeofday$ac_cv_func_stime" in yes*) ntp_warning='' ans='clock_settime()' ;; noyes*) ntp_warning='But clock_settime() would be better (if we had it)' ans='settimeofday()' ;; nonoyes) ntp_warning='Which is the worst of the three' ans='stime()' ;; *) case "$build" in $host) ntp_warning='Which leaves us with nothing to use!' ans=none ;; esac esac AC_MSG_RESULT($ans) case "$ntp_warning" in '') ;; *) AC_MSG_WARN(*** $ntp_warning ***) ;; esac AC_CACHE_CHECK(if we have a losing syscall(), ac_cv_var_syscall_bug, [case "$host" in *-*-solaris2.4*) ans=yes ;; *) ans=no ;; esac ac_cv_var_syscall_bug=$ans]) case "$ac_cv_var_syscall_bug" in yes) AC_DEFINE(SYSCALL_BUG, 1, [Buggy syscall() (Solaris2.4)?]) ;; esac AC_CACHE_CHECK(for Streams/TLI, ac_cv_var_streams_tli, [ case "$ac_cv_header_sys_stropts_h" in yes) ans=no # There must be a better way... case "$host" in *-*-ptx*) ans=yes ;; esac ;; esac ac_cv_var_streams_tli=$ans]) case "$ac_cv_var_streams_tli" in yes) AC_DEFINE(STREAMS_TLI, 1, [Do we have STREAMS/TLI? (Can we replace this with HAVE_SYS_STROPTS_H?)]) ;; esac AC_CACHE_CHECK(for SIGIO, ac_cv_hdr_def_sigio, AC_EGREP_CPP(yes, [#include #ifdef SIGIO yes #endif ], ac_cv_hdr_def_sigio=yes, ac_cv_hdr_def_sigio=no)) dnl Override those system that have a losing SIGIO AC_CACHE_CHECK(if we want to use signalled IO, ac_cv_var_signalled_io, [ans=no case "$ac_cv_hdr_def_sigio" in yes) ans=yes case "$host" in alpha*-dec-osf4*|alpha*-dec-osf5*) ans=no ;; *-convex-*) ans=no ;; *-dec-*) ans=no ;; *-pc-cygwin*) ans=no ;; *-sni-sysv*) ans=no ;; *-univel-sysv*) ans=no ;; *-*-irix6*) ans=no ;; *-*-freebsd*) ans=no ;; *-*-linux*) ans=no ;; esac ;; esac ac_cv_var_signalled_io=$ans]) case "$ac_cv_var_signalled_io" in yes) AC_DEFINE(HAVE_SIGNALED_IO, 1, [Can we use SIGIO for tcp and udp IO?]) ;; esac AC_CACHE_CHECK(for SIGPOLL, ac_cv_hdr_def_sigpoll, AC_EGREP_CPP(yes, [#include #ifdef SIGPOLL yes #endif ], ac_cv_hdr_def_sigpoll=yes, ac_cv_hdr_def_sigpoll=no)) AC_CACHE_CHECK(for SIGSYS, ac_cv_hdr_def_sigsys, AC_EGREP_CPP(yes, [#include #ifdef SIGSYS yes #endif ], ac_cv_hdr_def_sigsys=yes, ac_cv_hdr_def_sigsys=no)) AC_CACHE_CHECK(if we can use SIGPOLL for UDP I/O, ac_cv_var_use_udp_sigpoll, [ans=no case "$ac_cv_hdr_def_sigpoll" in yes) case "$host" in mips-sgi-irix*) ans=no ;; vax-dec-bsd) ans=no ;; *-pc-cygwin*) ans=no ;; *-sni-sysv*) ans=no ;; *-*-aix4*) ans=no ;; *-*-hpux*) ans=no ;; *-*-linux*) ans=no ;; *-*-osf*) ans=no ;; *-*-qnx*) ans=no ;; *-*-sunos*) ans=no ;; *-*-ultrix*) ans=no ;; *) ans=yes ;; esac ;; esac ac_cv_var_use_udp_sigpoll=$ans]) case "$ac_cv_var_use_udp_sigpoll" in yes) AC_DEFINE(USE_UDP_SIGPOLL, 1, [Can we use SIGPOLL for UDP?]) ;; esac AC_CACHE_CHECK(if we can use SIGPOLL for TTY I/O, ac_cv_var_use_tty_sigpoll, [ans=no case "$ac_cv_hdr_def_sigpoll" in yes) case "$host" in mips-sgi-irix*) ans=no ;; vax-dec-bsd) ans=no ;; *-pc-cygwin*) ans=no ;; *-sni-sysv*) ans=no ;; *-*-aix4*) ans=no ;; *-*-hpux*) ans=no ;; *-*-linux*) ans=no ;; *-*-osf*) ans=no ;; *-*-sunos*) ans=no ;; *-*-ultrix*) ans=no ;; *-*-qnx*) ans=no ;; *) ans=yes ;; esac ;; esac ac_cv_var_use_tty_sigpoll=$ans]) case "$ac_cv_var_use_tty_sigpoll" in yes) AC_DEFINE(USE_TTY_SIGPOLL, 1, [Can we use SIGPOLL for tty IO?]) ;; esac case "$ac_cv_header_sys_sio_h" in yes) AC_CACHE_CHECK(sys/sio.h for TIOCDCDTIMESTAMP, ac_cv_hdr_def_tiocdcdtimestamp, AC_EGREP_CPP(yes, [#include #ifdef TIOCDCDTIMESTAMP yes #endif ], ac_cv_hdr_def_tiocdcdtimestamp=yes, ac_cv_hdr_def_tiocdcdtimestamp=no)) ;; esac case "$ac_cv_hdr_def_tiocdcdtimestamp" in yes) ac_cv_var_oncore_ok=yes ;; esac AC_CACHE_CHECK(if nlist() values might require extra indirection, ac_cv_var_nlist_extra_indirection, [ans=no case "$host" in *-*-aix*) ans=yes ;; esac ac_cv_var_nlist_extra_indirection=$ans]) case "$ac_cv_var_nlist_extra_indirection" in yes) AC_DEFINE(NLIST_EXTRA_INDIRECTION, 1, [Might nlist() values require an extra level of indirection (AIX)?]) ;; esac AC_CACHE_CHECK(for a minimum recommended value of tickadj, ac_cv_var_min_rec_tickadj, [ans=no case "$host" in *-*-aix*) ans=40 ;; esac ac_cv_var_min_rec_tickadj=$ans]) case "$ac_cv_var_min_rec_tickadj" in ''|no) ;; *) AC_DEFINE_UNQUOTED(MIN_REC_TICKADJ, $ac_cv_var_min_rec_tickadj, [Should we recommend a minimum value for tickadj?]) ;; esac AC_CACHE_CHECK(if the TTY code permits PARENB and IGNPAR, ac_cv_var_no_parenb_ignpar, [ans=no case "$host" in i?86-*-linux*) ans=yes ;; mips-sgi-irix*) ans=yes ;; i?86-*-freebsd[[123]].*) ;; i?86-*-freebsd*) ans=yes ;; esac ac_cv_var_no_parenb_ignpar=$ans]) case "$ac_cv_var_no_parenb_ignpar" in yes) AC_DEFINE(NO_PARENB_IGNPAR, 1, [Is there a problem using PARENB and IGNPAR (IRIX)?]) ;; esac AC_MSG_CHECKING(if we're including debugging code) AC_ARG_ENABLE(debugging, [ --enable-debugging + include debugging code], [ntp_ok=$enableval], [ntp_ok=yes]) if test "$ntp_ok" = "yes"; then AC_DEFINE(DEBUG, 1, [Enable debugging?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for a the number of minutes in a DST adjustment) AC_ARG_ENABLE(dst_minutes, [ --enable-dst-minutes=60 + minutes per DST adjustment], [ans=$enableval], [ans=60]) AC_DEFINE_UNQUOTED(DSTMINUTES, $ans, [The number of minutes in a DST adjustment]) AC_MSG_RESULT($ans) AC_CACHE_CHECK(if we have the tty_clk line discipline/streams module, ac_cv_var_tty_clk, [case "$ac_cv_header_sys_clkdefs_h$ac_cv_hdr_def_tiocdcdtimestamp" in *yes*) ac_cv_var_tty_clk=yes ;; esac]) case "$ac_cv_var_tty_clk" in yes) AC_DEFINE(TTYCLK, 1, [Do we have the tty_clk line discipline/streams module?]) ;; esac AC_CACHE_CHECK(for the ppsclock streams module, ac_cv_var_ppsclock, ac_cv_var_ppsclock=$ac_cv_struct_ppsclockev) case "$ac_cv_var_ppsclock" in yes) AC_DEFINE(PPS, 1, [Do we have the ppsclock streams module?]) ;; esac AC_CACHE_CHECK(for kernel multicast support, ac_cv_var_mcast, [ac_cv_var_mcast=no case "$host" in i386-sequent-sysv4) ;; *) AC_EGREP_CPP(yes, [#include #ifdef IP_ADD_MEMBERSHIP yes #endif ], ac_cv_var_mcast=yes) ;; esac]) case "$ac_cv_var_mcast" in yes) AC_DEFINE(MCAST, 1, [Does the kernel support multicasting IP?]) ;; esac AC_CACHE_CHECK([[availability of ntp_{adj,get}time()]], ac_cv_var_ntp_syscalls, [ac_cv_var_ntp_syscalls=no case "$ac_cv_func___adjtimex" in yes) ac_cv_var_ntp_syscalls=libc ;; *) case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime" in yesyes) ac_cv_var_ntp_syscalls=libc ;; *) AC_EGREP_CPP(yes, [#include #if defined(SYS_ntp_gettime) && defined(SYS_ntp_adjtime) yes #endif ], ac_cv_var_ntp_syscalls=kernel) ;; esac ;; esac]) case "$ac_cv_var_ntp_syscalls" in libc) AC_DEFINE(NTP_SYSCALLS_LIBC, 1, [Do we have ntp_{adj,get}time in libc?]) ;; kernel) AC_DEFINE(NTP_SYSCALLS_STD, 1, [Do we have ntp_{adj,get}time in the kernel?]) ;; *) ;; esac AC_CACHE_CHECK(if sys/timex.h has STA_FLL, ac_cv_var_sta_fll, [AC_EGREP_CPP(yes, [#include #ifdef STA_FLL yes #endif ], ac_cv_var_sta_fll=yes, ac_cv_var_sta_fll=no)]) AC_CACHE_CHECK(if we have kernel PLL support, ac_cv_var_kernel_pll, [dnl ac_cv_var_ntp_syscalls is {no,libc,kernel} case "$ac_cv_header_sys_timex_h$ac_cv_struct_ntptimeval$ac_cv_var_sta_fll$ac_cv_var_ntp_syscalls" in *no*) ac_cv_var_kernel_pll=no ;; *) ac_cv_var_kernel_pll=yes ;; esac]) case "$ac_cv_var_kernel_pll" in yes) AC_DEFINE(KERNEL_PLL, 1, [Does the kernel support precision time discipline?]) ;; esac AC_CACHE_CHECK(if SIOCGIFCONF returns buffer size in the buffer, ac_cv_var_size_returned_in_buffer, [ans=no case "$host" in *-fujitsu-uxp*) ans=yes ;; *-ncr-sysv4*) ans=yes ;; *-univel-sysv*) ans=yes ;; esac ac_cv_var_size_returned_in_buffer=$ans]) case "$ac_cv_var_size_returned_in_buffer" in yes) AC_DEFINE(SIZE_RETURNED_IN_BUFFER, 1, [Does SIOCGIFCONF return size in the buffer?]) ;; esac dnl AC_CACHE_CHECK(if we want GDT surveying code, ac_cv_var_gdt_surveying, dnl [AC_ARG_ENABLE(gdt-surveying, [ --enable-gdt-surveying - include GDT survey code], dnl [ans=$enableval], [ans=no]) dnl ac_cv_var_gdt_surveying=$ans]) dnl case "$ac_cv_var_gdt_surveying" in dnl yes) AC_DEFINE(GDT_SURVEYING, 1, [Include the GDT Surveying code?]) ;; dnl esac # Check for ioctls TIOCGPPSEV AC_MSG_CHECKING(ioctl TIOCGPPSEV) if test "$ac_cv_header_termios_h" = "yes"; then AC_EGREP_CPP(yes, [#include #ifdef TIOCGPPSEV yes #endif ], ntp_ok=yes, ntp_ok=no) else ntp_ok=no fi if test "$ntp_ok" = "yes"; then AC_DEFINE(HAVE_TIOCGPPSEV, 1, [Do we have the TIOCGPPSEV ioctl (Solaris)?]) ac_cv_var_oncore_ok=yes fi AC_MSG_RESULT($ntp_ok) # Check for ioctls TIOCSPPS AC_MSG_CHECKING(ioctl TIOCSPPS) if test "$ac_cv_header_termios_h" = "yes"; then AC_EGREP_CPP(yes, [#include #ifdef TIOCSPPS yes #endif ], ntp_ok=yes, ntp_ok=no) else ntp_ok=no fi if test "$ntp_ok" = "yes"; then AC_DEFINE(HAVE_TIOCSPPS, 1, [Do we have the TIOCSPPS ioctl (Solaris)?]) fi AC_MSG_RESULT($ntp_ok) # Check for ioctls CIOGETEV AC_MSG_CHECKING(ioctl CIOGETEV) if test "$ac_cv_header_sys_ppsclock_h" = "yes"; then AC_EGREP_CPP(yes, [#include #ifdef CIOGETEV yes #endif ], ntp_ok=yes, ntp_ok=no) else ntp_ok=no fi if test "$ntp_ok" = "yes"; then ac_cv_var_oncore_ok=yes AC_DEFINE(HAVE_CIOGETEV, 1, [Do we have the CIOGETEV ioctl (SunOS, Linux)?]) fi AC_MSG_RESULT($ntp_ok) # ATOM/PPSAPI stuff. # ATOM used to require struct timespec, but that's been fixed now. # case "$ac_cv_struct_timespec" in # 'yes') # ac_cv_var_atom_ok=yes # ;; # esac ac_cv_var_atom_ok=yes # Check for header timepps.h, if found then we have PPS API (Draft RFC) stuff. # The PPSAPI headers need "inline" ($ac_cv_c_inline='inline') # The PPSAPI needs ATOM # The PPSAPI needs struct timespec. case "$ac_cv_c_inline$ac_cv_struct_timespec$ac_cv_header_timepps_h$ac_cv_header_sys_timepps_h" in inlineyes*yes*) AC_DEFINE(HAVE_PPSAPI, 1, [Do we have the PPS API per the Draft RFC?]) ac_cv_var_oncore_ok=yes ac_cv_var_ripe_ncc_ok=yes ;; esac # Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG AC_CHECK_HEADER(linux/serial.h) AC_MSG_CHECKING(ioctl TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG) case "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in yesyes) AC_EGREP_CPP(yes, [#include typedef int u_int; #include #include #ifdef TIOCGSERIAL #ifdef TIOCSSERIAL #ifdef ASYNC_PPS_CD_POS #ifdef ASYNC_PPS_CD_NEG #ifdef CIOGETEV yes #endif #endif #endif #endif #endif ], ntp_ok=yes) ;; *) ntp_ok=no ;; esac if test "$ntp_ok" = "yes"; then AC_DEFINE(HAVE_TIO_SERIAL_STUFF, 1, [Do we have the TIO serial stuff?]) fi AC_MSG_RESULT($ntp_ok) # Check for SHMEM_STATUS support AC_MSG_CHECKING(SHMEM_STATUS support) case "$ac_cv_header_sys_mman_h" in yes) ntp_ok=yes ;; *) ntp_ok=no ;; esac if test "$ntp_ok" = "yes"; then AC_DEFINE(ONCORE_SHMEM_STATUS, 1, [Do we have support for SHMEM_STATUS?]) fi AC_MSG_RESULT($ntp_ok) dnl dnl These are for OPT_PROGRAMS in authstuff/ dnl AC_SUBST(AUTHCERT) dnl AC_SUBST(AUTHSPEED) dnl AC_SUBST(MD5DRIVER) dnl AC_SUBST(KEYPARITY) dnl AC_SUBST(MAKEIPFP) dnl AC_SUBST(MAKEPC1) dnl AC_SUBST(MAKEPC2) dnl AC_SUBST(MAKESP) dnl AC_SUBST(MKRANDKEYS) dnl AC_SUBST(OMAKEIPFP) dnl AC_SUBST(UNIXCERT) ntp_refclock=no # HPUX only, and by explicit request AC_MSG_CHECKING(Datum/Bancomm bc635/VME interface) AC_ARG_ENABLE(BANCOMM, AC_HELP_STRING([--enable-BANCOMM], [- Datum/Bancomm bc635/VME interface]), [ntp_ok=$enableval], [ntp_ok=no]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_BANC, 1, [Datum/Bancomm bc635/VME interface?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$host" in yes*-*-hpux*) ;; yes*) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac #HPUX only, and only by explicit request AC_MSG_CHECKING(TrueTime GPS receiver/VME interface) AC_ARG_ENABLE(GPSVME, AC_HELP_STRING([--enable-GPSVME], [- TrueTime GPS receiver/VME interface]), [ntp_ok=$enableval], [ntp_ok=no]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_GPSVME, 1, [TrueTime GPS receiver/VME interface?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$host" in yes*-*-hpux*) ;; yes*) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(for PCL720 clock support) case "$ac_cv_header_machine_inline_h$ac_cv_header_sys_pcl720_h$ac_cv_header_sys_i8253_h" in yesyesyes) AC_DEFINE(CLOCK_PPS720, 1, [PCL 720 clock support]) ans=yes ;; *) ans=no ;; esac AC_MSG_RESULT($ans) AC_MSG_CHECKING(for SHM clock attached thru shared memory) AC_ARG_ENABLE(SHM, AC_HELP_STRING([--enable-SHM], [- SHM clock attached thru shared memory]), [ntp_ok=$enableval], [ntp_ok=no]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_SHM, 1, [clock thru shared memory]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for default inclusion of all suitable non-PARSE clocks) AC_ARG_ENABLE(all-clocks, AC_HELP_STRING([--enable-all-clocks], [+ include all suitable non-PARSE clocks:]), [ntp_eac=$enableval], [ntp_eac=yes]) AC_MSG_RESULT($ntp_eac) AC_MSG_CHECKING(if we have support for PARSE clocks) case "$ac_cv_var_atom_ok$ac_cv_header_termio_h$ac_cv_header_termios_h" in yes*yes*) ntp_canparse=yes ;; *) ntp_canparse=no ;; esac AC_MSG_RESULT($ntp_canparse) AC_MSG_CHECKING([if we have support for audio clocks]) case "$ac_cv_header_sun_audioio_h$ac_cv_header_sys_audioio_h" in *yes*) ntp_canaudio=yes AC_DEFINE(HAVE_AUDIO, , [Do we have audio support?]) ;; *) ntp_canaudio=no ;; esac AC_MSG_RESULT($ntp_canaudio) # Requires modem control AC_MSG_CHECKING(ACTS modem service) AC_ARG_ENABLE(ACTS, AC_HELP_STRING([--enable-ACTS], [+ ACTS modem service]), [ntp_ok=$enableval], [AC_EGREP_CPP(yes, [#include #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef TIOCMBIS yes #endif ], ntp_ok=$ntp_eac, ntp_ok=no)]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ACTS, 1, [ACTS modem service]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Arbiter 1088A/B GPS receiver) AC_ARG_ENABLE(ARBITER, AC_HELP_STRING([--enable-ARBITER], [+ Arbiter 1088A/B GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ARBITER, 1, [Arbiter 1088A/B GPS receiver]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Arcron MSF receiver) AC_ARG_ENABLE(ARCRON_MSF, AC_HELP_STRING([--enable-ARCRON-MSF], [+ Arcron MSF receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ARCRON_MSF, 1, [ARCRON support?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Austron 2200A/2201A GPS receiver) AC_ARG_ENABLE(AS2201, AC_HELP_STRING([--enable-AS2201], [+ Austron 2200A/2201A GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_AS2201, 1, [Austron 2200A/2201A GPS receiver?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(ATOM PPS interface) AC_ARG_ENABLE(ATOM, AC_HELP_STRING([--enable-ATOM], [s ATOM PPS interface]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) case "$ac_cv_var_atom_ok" in no) ntp_ok=no ;; esac if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ATOM, 1, [PPS interface?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Chrono-log K-series WWVB receiver) AC_ARG_ENABLE(CHRONOLOG, AC_HELP_STRING([--enable-CHRONOLOG], [+ Chrono-log K-series WWVB receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_CHRONOLOG, 1, [Chronolog K-series WWVB receiver?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(CHU modem/decoder) AC_ARG_ENABLE(CHU, AC_HELP_STRING([--enable-CHU], [- CHU modem/decoder]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_CHU, 1, [CHU modem/decoder]) fi AC_MSG_RESULT($ntp_ok) ac_refclock_chu=$ntp_ok AC_MSG_CHECKING(CHU audio/decoder) AC_ARG_ENABLE(AUDIO-CHU, AC_HELP_STRING([--enable-AUDIO-CHU], [s CHU audio/decoder]), [ntp_ok=$enableval], [case "$ntp_eac$ac_refclock_chu$ntp_canaudio" in *no*) ntp_ok=no ;; *) ntp_ok=yes ;; esac]) if test "$ntp_ok" = "yes"; then AC_DEFINE(AUDIO_CHU, 1, [CHU audio/decoder?]) fi AC_MSG_RESULT($ntp_ok) # We used to check for sunos/solaris target... case "$ntp_ok$ac_refclock_chu$ntp_canaudio" in yes*no*) AC_MSG_WARN(*** But the expected answer is...no ***) ;; esac # Not under HP-UX AC_MSG_CHECKING(Datum Programmable Time System) AC_ARG_ENABLE(DATUM, AC_HELP_STRING([--enable-DATUM], [s Datum Programmable Time System]), [ntp_ok=$enableval], [case "$ac_cv_header_termios_h" in yes) ntp_ok=$ntp_eac ;; *) ntp_ok=no ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_DATUM, 1, [Datum Programmable Time System?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Dumb generic hh:mm:ss local clock) AC_ARG_ENABLE(DUMBCLOCK, AC_HELP_STRING([--enable-DUMBCLOCK], [+ Dumb generic hh:mm:ss local clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_DUMBCLOCK, 1, [Dumb generic hh:mm:ss local clock?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Forum Graphic GPS) AC_ARG_ENABLE(FG, AC_HELP_STRING([--enable-FG], [+ Forum Graphic GPS]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_FG, 1, [Forum Graphic GPS datating station driver?]) fi AC_MSG_RESULT($ntp_ok) # Requires modem control AC_MSG_CHECKING(Heath GC-1000 WWV/WWVH receiver) AC_ARG_ENABLE(HEATH, AC_HELP_STRING([--enable-HEATH], [s Heath GC-1000 WWV/WWVH receiver]), [ntp_ok=$enableval], [AC_EGREP_CPP(yes, [#include #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef TIOCMBIS yes #endif ], ntp_ok=$ntp_eac, ntp_ok=no)]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_HEATH, 1, [Heath GC-1000 WWV/WWVH receiver?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for hopf serial clock device) AC_ARG_ENABLE(HOPFSERIAL, AC_HELP_STRING([--enable-HOPFSERIAL], [+ hopf serial clock device]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_HOPF_SERIAL, 1, [HOPF serial clock device?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for hopf PCI clock 6039) AC_ARG_ENABLE(HOPFPCI, AC_HELP_STRING([--enable-HOPFPCI], [+ hopf 6039 PCI board]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_HOPF_PCI, 1, [HOPF PCI clock device?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(HP 58503A GPS receiver) AC_ARG_ENABLE(HPGPS, AC_HELP_STRING([--enable-HPGPS], [+ HP 58503A GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_HPGPS, 1, [HP 58503A GPS receiver?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(IRIG audio decoder) AC_ARG_ENABLE(IRIG, AC_HELP_STRING([--enable-IRIG], [s IRIG audio decoder]), [ntp_ok=$enableval], [case "$ntp_eac$ntp_canaudio" in *no*) ntp_ok=no ;; *) ntp_ok=yes ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_IRIG, 1, [IRIG audio decoder?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canaudio" in yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(for JJY receiver) AC_ARG_ENABLE(JJY, AC_HELP_STRING([--enable-JJY], [+ JJY receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_JJY, 1, [JJY receiver?]) fi AC_MSG_RESULT($ntp_ok) # Not Ultrix AC_MSG_CHECKING(Rockwell Jupiter GPS receiver) AC_ARG_ENABLE(JUPITER, AC_HELP_STRING([--enable-JUPITER], [s Rockwell Jupiter GPS receiver]), [ntp_ok=$enableval], [case "$ac_cv_var_ppsclock" in # yes) ntp_ok=$ntp_eac # ;; *) ntp_ok=no ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_JUPITER, 1, [Rockwell Jupiter GPS clock?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$host" in yes*-*-ultrix*) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(Leitch CSD 5300 Master Clock System Driver) AC_ARG_ENABLE(LEITCH, AC_HELP_STRING([--enable-LEITCH], [+ Leitch CSD 5300 Master Clock System Driver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_LEITCH, 1, [Leitch CSD 5300 Master Clock System Driver?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(local clock reference) AC_ARG_ENABLE(LOCAL-CLOCK, AC_HELP_STRING([--enable-LOCAL-CLOCK], [+ local clock reference]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_LOCAL, 1, [local clock reference?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(EES M201 MSF receiver) AC_ARG_ENABLE(MSFEES, AC_HELP_STRING([--enable-MSFEES], [+ EES M201 MSF receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_MSFEES, 1, [EES M201 MSF receiver]) fi AC_MSG_RESULT($ntp_ok) # Not Ultrix AC_MSG_CHECKING(Magnavox MX4200 GPS receiver) AC_ARG_ENABLE(MX4200, AC_HELP_STRING([--enable-MX4200 ], [s Magnavox MX4200 GPS receiver]), [ntp_ok=$enableval], [case "$ac_cv_var_ppsclock" in yes) ntp_ok=$ntp_eac ;; *) ntp_ok=no ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_MX4200, 1, [Magnavox MX4200 GPS receiver]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$host" in yes*-*-ultrix*) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(for NeoClock4X receiver) AC_ARG_ENABLE(NEOCLOCK4X, AC_HELP_STRING([--enable-NEOCLOCK4X], [- NeoClock4X DCF77 / TDF receiver]), [ntp_ok=$enableval], [ntp_ok=no]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_NEOCLOCK4X, 1, [NeoClock4X]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(NMEA GPS receiver) AC_ARG_ENABLE(NMEA, AC_HELP_STRING([--enable-NMEA], [+ NMEA GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_NMEA, 1, [NMEA GPS receiver]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for ONCORE Motorola VP/UT Oncore GPS) AC_ARG_ENABLE(ONCORE, AC_HELP_STRING([--enable-ONCORE], [s Motorola VP/UT Oncore GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) case "$ac_cv_var_oncore_ok" in no) ntp_ok=no ;; esac if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ONCORE, 1, [Motorola UT Oncore GPS]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for Palisade clock) AC_ARG_ENABLE(PALISADE, AC_HELP_STRING([--enable-PALISADE], [+ Palisade clock]), [ntp_ok=$enableval], [case "$ac_cv_header_termios_h" in yes) ntp_ok=$ntp_eac ;; *) ntp_ok=no ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_PALISADE, 1, [Palisade clock]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Conrad parallel port radio clock) AC_ARG_ENABLE(PCF, AC_HELP_STRING([--enable-PCF ], [+ Conrad parallel port radio clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_PCF, 1, [Conrad parallel port radio clock]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(PST/Traconex 1020 WWV/WWVH receiver) AC_ARG_ENABLE(PST, AC_HELP_STRING([--enable-PST], [+ PST/Traconex 1020 WWV/WWVH receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_PST, 1, [PST/Traconex 1020 WWV/WWVH receiver]) fi AC_MSG_RESULT($ntp_ok) # Requires modem control AC_MSG_CHECKING(PTB modem service) AC_ARG_ENABLE(PTBACTS, AC_HELP_STRING([--enable-PTBACTS], [s PTB modem service]), [ntp_ok=$enableval], [AC_EGREP_CPP(yes, [#include #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef TIOCMBIS yes #endif ], ntp_ok=$ntp_eac, ntp_ok=no)]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_PTBACTS, 1, [PTB modem service]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(RIPENCC specific Trimble driver) AC_ARG_ENABLE(RIPENCC, AC_HELP_STRING([--enable-RIPENCC], [- RIPENCC specific Trimble driver]), [ntp_ok=$enableval], [ntp_ok=no]) # 020629: HMS: s/$ntp_eac -> -/no because of ptr += sprintf(ptr, ...) usage case "$ac_cv_var_ripe_ncc_ok" in no) ntp_ok=no ;; esac if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_RIPENCC, ,[RIPE NCC Trimble clock]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Spectracom 8170/Netclock/2 WWVB receiver) AC_ARG_ENABLE(SPECTRACOM, AC_HELP_STRING([--enable-SPECTRACOM], [+ Spectracom 8170/Netclock/2 WWVB receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_SPECTRACOM, 1, [Spectracom 8170/Netclock/2 WWVB receiver]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(KSI/Odetics TPRO/S GPS receiver/IRIG interface) AC_ARG_ENABLE(TPRO, AC_HELP_STRING([--enable-TPRO], [s KSI/Odetics TPRO/S GPS receiver/IRIG interface]), [ntp_ok=$enableval], [case "$ac_cv_header_sys_tpro_h" in yes) ntp_ok=$ntp_eac ;; *) ntp_ok=no ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_TPRO, 1, [KSI/Odetics TPRO/S GPS receiver/IRIG interface]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ac_cv_header_sys_tpro" in yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(TRAK 8810 GPS receiver) AC_ARG_ENABLE(TRAK, AC_HELP_STRING([--enable-TRAK], [+ TRAK 8810 GPS receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_TRAK, 1, [TRAK 8810 GPS receiver]) fi AC_MSG_RESULT($ntp_ok) # Not on a vax-dec-bsd AC_MSG_CHECKING(Kinemetrics/TrueTime receivers) AC_ARG_ENABLE(TRUETIME, AC_HELP_STRING([--enable-TRUETIME], [s Kinemetrics/TrueTime receivers]), [ntp_ok=$enableval], [case "$host" in vax-dec-bsd) ntp_ok=no ;; *) ntp_ok=$ntp_eac ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_TRUETIME, 1, [Kinemetrics/TrueTime receivers]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$host" in yesvax-dec-bsd) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(TrueTime 560 IRIG-B decoder) AC_ARG_ENABLE(TT560, AC_HELP_STRING([--enable-TT560], [- TrueTime 560 IRIG-B decoder]), [ntp_ok=$enableval], [ntp_ok=no]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_TT560, , [TrueTime 560 IRIG-B decoder?]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(Ultralink M320 WWVB receiver) AC_ARG_ENABLE(ULINK, AC_HELP_STRING([--enable-ULINK], [+ Ultralink WWVB receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ULINK, 1, [Ultralink M320 WWVB receiver]) fi AC_MSG_RESULT($ntp_ok) # Requires modem control AC_MSG_CHECKING(USNO modem service) AC_ARG_ENABLE(USNO, AC_HELP_STRING([--enable-USNO], [s USNO modem service]), [ntp_ok=$enableval], [AC_EGREP_CPP(yes, [#include #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef TIOCMBIS yes #endif ], ntp_ok=$ntp_eac, ntp_ok=no)]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_USNO, 1, [USNO modem service]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(WWV receiver) AC_ARG_ENABLE(WWV, AC_HELP_STRING([--enable-WWV], [+ WWV Audio receiver]), [ntp_ok=$enableval], [case "$ntp_eac$ntp_canaudio" in *no*) ntp_ok=no ;; *) ntp_ok=yes ;; esac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_WWV, 1, [WWV audio driver]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canaudio" in yesno) AC_MSG_WARN(*** But the expected answer is... no ***) ;; esac AC_MSG_CHECKING(for Zyfer receiver) AC_ARG_ENABLE(ZYFER, AC_HELP_STRING([--enable-ZYFER], [+ Zyfer GPStarplus receiver]), [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) if test "$ntp_ok" = "yes"; then ntp_refclock=yes AC_DEFINE(CLOCK_ZYFER, 1, [Zyfer GPStarplus]) fi AC_MSG_RESULT($ntp_ok) AC_MSG_CHECKING(for default inclusion of all suitable PARSE clocks) AC_ARG_ENABLE(parse-clocks, [ --enable-parse-clocks - include all suitable PARSE clocks:], [ntp_eapc=$enableval], [case "$ntp_eac" in yes) ntp_eapc=$ntp_canparse ;; *) ntp_eapc=no ;; esac ntp_eapc=no]) AC_MSG_RESULT($ntp_eapc) case "$ntp_eac$ntp_eapc$ntp_canparse" in noyes*) AC_MSG_ERROR("--enable-parse-clocks" requires "--enable-all-clocks".) ;; yesyesno) AC_MSG_ERROR(You said "--enable-parse-clocks" but PARSE isn't supported on this platform!) ;; *) ;; esac ntp_libparse=no ntp_parseutil=no ntp_rawdcf=no AC_MSG_CHECKING(Diem Computime Radio Clock) AC_ARG_ENABLE(COMPUTIME, AC_HELP_STRING([--enable-COMPUTIME], [s Diem Computime Radio Clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_COMPUTIME, 1, [Diems Computime Radio Clock?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(ELV/DCF7000 clock) AC_ARG_ENABLE(DCF7000, AC_HELP_STRING([--enable-DCF7000], [s ELV/DCF7000 clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_DCF7000, 1, [ELV/DCF7000 clock?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(HOPF 6021 clock) AC_ARG_ENABLE(HOPF6021, AC_HELP_STRING([--enable-HOPF6021 ], [s HOPF 6021 clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_HOPF6021, 1, [HOPF 6021 clock?]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(Meinberg clocks) AC_ARG_ENABLE(MEINBERG, AC_HELP_STRING([--enable-MEINBERG], [s Meinberg clocks]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_MEINBERG, 1, [Meinberg clocks]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(DCF77 raw time code) AC_ARG_ENABLE(RAWDCF, AC_HELP_STRING([--enable-RAWDCF], [s DCF77 raw time code]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_parseutil=yes ntp_refclock=yes ntp_rawdcf=yes AC_DEFINE(CLOCK_RAWDCF, 1, [DCF77 raw time code]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac case "$ntp_rawdcf" in yes) AC_CACHE_CHECK(if we must enable parity for RAWDCF, ac_cv_var_rawdcf_parity, [ans=no case "$host" in *-*-linux*) ans=yes ;; esac ac_cv_var_rawdcf_parity=$ans]) case "$ac_cv_var_rawdcf_parity" in yes) AC_DEFINE(RAWDCF_NO_IGNPAR, 1, [Should we not IGNPAR (Linux)?]) ;; esac ;; *) # HMS: Is this a good idea? ac_cv_var_rawdcf_parity=no ;; esac AC_MSG_CHECKING(RCC 8000 clock) AC_ARG_ENABLE(RCC8000, AC_HELP_STRING([--enable-RCC8000], [s RCC 8000 clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_RCC8000, 1, [RCC 8000 clock]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(Schmid DCF77 clock) AC_ARG_ENABLE(SCHMID, AC_HELP_STRING([--enable-SCHMID ], [s Schmid DCF77 clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_SCHMID, 1, [Schmid DCF77 clock]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(Trimble GPS receiver/TAIP protocol) AC_ARG_ENABLE(TRIMTAIP, AC_HELP_STRING([--enable-TRIMTAIP], [s Trimble GPS receiver/TAIP protocol]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_TRIMTAIP, 1, [Trimble GPS receiver/TAIP protocol]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(Trimble GPS receiver/TSIP protocol) AC_ARG_ENABLE(TRIMTSIP, AC_HELP_STRING([--enable-TRIMTSIP], [s Trimble GPS receiver/TSIP protocol]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_TRIMTSIP, 1, [Trimble GPS receiver/TSIP protocol]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(WHARTON 400A Series clock) AC_ARG_ENABLE(WHARTON, AC_HELP_STRING([--enable-WHARTON], [s WHARTON 400A Series clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_WHARTON_400A, 1, [WHARTON 400A Series protocol]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_MSG_CHECKING(VARITEXT clock) AC_ARG_ENABLE(VARITEXT, AC_HELP_STRING([--enable-VARITEXT], [s VARITEXT clock]), [ntp_ok=$enableval], [ntp_ok=$ntp_eapc]) if test "$ntp_ok" = "yes"; then ntp_libparse=yes ntp_refclock=yes AC_DEFINE(CLOCK_VARITEXT, 1, [VARITEXT protocol]) fi AC_MSG_RESULT($ntp_ok) case "$ntp_ok$ntp_canparse" in yesno) AC_MSG_ERROR(That's a parse clock and this system doesn't support it!) ;; esac AC_SUBST(LIBPARSE) AC_SUBST(MAKE_LIBPARSE) AC_SUBST(MAKE_LIBPARSE_KERNEL) AC_SUBST(MAKE_CHECK_Y2K) AC_MSG_CHECKING(if we need to make and use the parse libraries) ans=no case "$ntp_libparse" in yes) ans=yes AC_DEFINE(CLOCK_PARSE, 1, [PARSE driver interface]) LIBPARSE=../libparse/libparse.a MAKE_LIBPARSE=libparse.a MAKE_CHECK_Y2K=check_y2k AC_DEFINE(PPS_SAMPLE, 1, [PPS auxiliary interface for ATOM?]) AC_DEFINE(CLOCK_ATOM) ;; esac AC_MSG_RESULT($ans) AC_SUBST(RSAOBJS) AC_SUBST(RSASRCS) AC_SUBST(RSADIR) AC_SUBST(RSAREF) AC_SUBST(LIBRSAREF) AC_SUBST(MAKE_LIBRSAREF) AC_SUBST(OPENSSL) AC_SUBST(OPENSSL_INC) AC_SUBST(OPENSSL_LIB) AC_SUBST(MAKE_NTP_GENKEYS) AC_MSG_CHECKING(for openssl library directory) AC_ARG_WITH(openssl-libdir, AC_HELP_STRING([--with-openssl-libdir], [+ =/something/reasonable]), [ans=$withval], [ans=yes]) case "$ans" in no) ;; yes) # Look in: ans="/usr/lib /usr/local/lib /usr/local/ssl/lib" ;; *) # Look where they said ;; esac case "$ans" in no) ;; *) # Look for libcrypto.a and libssl.a: for i in $ans no do test -f $i/libcrypto.a -a -f $i/libssl.a && break done case "$i" in no) ans=no OPENSSL_LIB= ;; *) ans=$i OPENSSL_LIB=$ans ;; esac ;; esac AC_MSG_RESULT($ans) AC_MSG_CHECKING(for openssl include directory) AC_ARG_WITH(openssl-incdir, AC_HELP_STRING([--with-openssl-incdir], [+ =/something/reasonable]), [ans=$withval], [ans=yes]) case "$ans" in no) ;; yes) # look in: ans="/usr/include /usr/local/include /usr/local/ssl/include" ;; *) # Look where they said ;; esac case "$ans" in no) ;; *) # look for openssl/opensslconf.h: for i in $ans no do test -f $i/openssl/opensslconf.h && break done case "$i" in no) ans=no OPENSSL_INC= ;; *) ans=$i OPENSSL_INC=$ans ;; esac ;; esac AC_MSG_RESULT($ans) AC_ARG_WITH(crypto, AC_HELP_STRING([--with-crypto], [+ ={autokey,rsaref}]), dnl AC_HELP_STRING([--with-crypto], [+ ={autokey,openssl,rsaref}]), [ans=$withval], [ans=yes]) case "$ans" in no) ;; yes|rsaref|openssl) case "$ans" in yes|rsaref) # Just "rsaref" when OpenSSL is ready ans=no ;; *) if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INC" then ans=no else # We have OpenSSL inc/lib - use them. ans=openssl CPPFLAGS="$CPPFLAGS -I$OPENSSL_INC" LDFLAGS="$LDFLAGS -L$OPENSSL_LIB" LIBS="$LIBS -lcrypto" AC_DEFINE(DES, 1, [Use DES?]) AC_DEFINE(OPENSSL, , [Use OpenSSL?]) AC_DEFINE(PUBKEY, , [Public key?]) fi ;; esac case "$ans" in no) if test -f $srcdir/rsaref2/source/digit.c then ans=rsaref RSAOBJS=digit.o RSASRCS="digit.c digit.h" RSADIR=rsaref2 fi if test -f $srcdir/rsaeuro1/source/rsaeuro.h then ans=rsaref RSAOBJS="md4c.o shsc.o" RSASRCS="md4c.c shsc.c" RSADIR=rsaeuro1 fi if test "$ans" = "rsaref"; then LIBRSAREF=../librsaref/librsaref.a MAKE_LIBRSAREF=librsaref.a AC_DEFINE(DES, 1, [Use DES?]) AC_DEFINE(PUBKEY) AC_DEFINE(RSAREF, , [Use RSAREF?]) fi ;; esac ;; esac AM_CONDITIONAL(isRSAREF, test x$RSADIR = xrsaref2) AM_CONDITIONAL(isRSAEURO, test x$RSADIR = xrsaeuro1) AC_SUBST(AUTOKEY) case "$ans" in no) ;; *) AC_DEFINE(AUTOKEY, , [Autokey?]) AUTOKEY=1 ;; esac AC_MSG_CHECKING(for the level of crypto support) AC_MSG_RESULT($ans) AC_MSG_CHECKING(if we want to compile with ElectricFence) AC_ARG_WITH(electricfence, [ --with-electricfence - compile with ElectricFence malloc debugger], [ans=$withval], [ans=no]) case "$ans" in no) ;; *) LIBS="$LIBS \${top_builddir}/ElectricFence/libefence.a" EF_PROGS="eftest tstheap" AC_SUBST(EF_PROGS) EF_LIBS=libefence.a AC_SUBST(EF_LIBS) ans=yes ;; esac AC_MSG_RESULT($ans) AC_SUBST(TESTDCF) AC_SUBST(DCFD) AC_MSG_CHECKING(if we can make dcf parse utilities) ans=no if test "$ntp_parseutil" = "yes"; then case "$host" in *-*-sunos4*|*-*-solaris2*|*-*-linux*) ans="dcfd testdcf" DCFD=dcfd TESTDCF=testdcf ;; esac fi AC_MSG_RESULT($ans) AC_SUBST(MAKE_PARSEKMODULE) AC_MSG_CHECKING(if we can build kernel streams modules for parse) ans=no case "$ntp_parseutil$ac_cv_header_sys_stropts_h" in yesyes) case "$host" in sparc-*-sunos4*) case "$ac_cv_var_kernel_pll" in yes) AC_DEFINE(PPS_SYNC, 1, [PARSE kernel PLL PPS support]) ;; esac ans=parsestreams MAKE_PARSEKMODULE=parsestreams.loadable_module.o ;; sparc-*-solaris2*) ans=parsesolaris MAKE_PARSEKMODULE=parse ;; esac ;; esac AC_MSG_RESULT($ans) AC_MSG_CHECKING(if we need basic refclock support) if test "$ntp_refclock" = "yes"; then AC_DEFINE(REFCLOCK, 1, [Basic refclock support?]) fi AC_MSG_RESULT($ntp_refclock) dnl Things that can be made in clockstuff/ AC_SUBST(PROPDELAY) dnl Set to "propdelay" AC_SUBST(CHUTEST) dnl Set to "chutest" AC_SUBST(CLKTEST) dnl Set to "clktest" AC_SUBST(MAKE_ADJTIMED) AC_MSG_CHECKING(if we want HP-UX adjtimed support) case "$host" in *-*-hpux[[56789]]*) ans=yes ;; *) ans=no ;; esac if test "$ans" = "yes"; then MAKE_ADJTIMED=adjtimed AC_DEFINE(NEED_HPUX_ADJTIME, 1, [Do we need HPUX adjtime() library support?]) fi AC_MSG_RESULT($ans) AC_MSG_CHECKING(if we want QNX adjtime support) case "$host" in *-*-qnx*) ans=yes ;; *) ans=no ;; esac if test "$ans" = "yes"; then AC_DEFINE(NEED_QNX_ADJTIME, 1, [Do we need the qnx adjtime call?]) fi AC_MSG_RESULT($ans) AC_CACHE_CHECK(if we can read kmem, ac_cv_var_can_kmem, [AC_ARG_ENABLE(kmem, [ --enable-kmem s read /dev/kmem for tick and/or tickadj], [ans=$enableval], [case "$ac_cv_func_nlist$ac_cv_func_K_open$ac_cv_func_kvm_open" in *yes*) ans=yes ;; *) ans=no ;; esac case "$host" in *-*-aix*) #ans=no ;; *-*-domainos) # Won't be found... ans=no ;; *-*-hpux*) #ans=no ;; *-*-irix[[456]]*) ans=no ;; *-*-linux*) ans=no ;; *-*-winnt3.5) ans=no ;; esac ]) ac_cv_var_can_kmem=$ans]) case "$ac_cv_var_can_kmem" in *yes*) ;; *) AC_DEFINE(NOKMEM, 1, [Should we NOT read /dev/kmem?]) ;; esac AC_CACHE_CHECK(if adjtime is accurate, ac_cv_var_adjtime_is_accurate, [AC_ARG_ENABLE(accurate-adjtime, [ --enable-accurate-adjtime s the adjtime() call is accurate], [ans=$enableval], [case "$host" in i386-sequent-ptx*) ans=no ;; i386-unknown-osf1*) ans=yes ;; mips-sgi-irix[[456]]*) ans=yes ;; *-fujitsu-uxp*) ans=yes ;; *-ibm-aix4*) ans=yes ;; *-*-linux*) ans=yes ;; *-*-solaris2.[[01]]*) ans=no ;; *-*-solaris2*) ans=yes ;; *) ans=no ;; esac ]) ac_cv_var_adjtime_is_accurate=$ans]) case "$ac_cv_var_adjtime_is_accurate" in yes) AC_DEFINE(ADJTIME_IS_ACCURATE, 1, [Is adjtime() accurate?]) ;; esac AC_CACHE_CHECK([the name of 'tick' in the kernel], ac_cv_var_nlist_tick, [ans=_tick case "$host" in m68*-hp-hpux*) # HP9000/300? ans=_old_tick ;; *-apple-aux[[23]]*) ans=tick ;; *-hp-hpux*) ans=old_tick ;; *-ibm-aix[[34]]*) ans=no ;; *-*-mpeix*) ans=no ;; *-*-ptx*) ans=tick ;; *-*-sco3.2v[[45]]*) ans=no ;; *-*-solaris2*) ans=nsec_per_tick ;; *-*-sysv4*) ans=tick ;; esac ac_cv_var_nlist_tick=$ans]) case "$ac_cv_var_nlist_tick" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED(K_TICK_NAME, "$ac_cv_var_nlist_tick", [What is the name of TICK in the kernel?]) ;; esac # AC_CACHE_CHECK([for the units of 'tick'], ac_cv_var_tick_nano, [ans=usec case "$host" in *-*-solaris2*) ans=nsec ;; esac ac_cv_var_tick_nano=$ans]) case "$ac_cv_var_tick_nano" in nsec) AC_DEFINE(TICK_NANO, 1, [Is K_TICK_NAME in nanoseconds?]) ;; esac # AC_CACHE_CHECK([the name of 'tickadj' in the kernel], ac_cv_var_nlist_tickadj, [ans=_tickadj case "$host" in m68*-hp-hpux*) # HP9000/300? ans=_tickadj ;; *-apple-aux[[23]]*) ans=tickadj ;; *-hp-hpux10*) ans=no ;; *-hp-hpux9*) ans=no ;; *-hp-hpux*) ans=tickadj ;; *-*-aix*) ans=tickadj ;; *-*-mpeix*) ans=no ;; *-*-ptx*) ans=tickadj ;; *-*-sco3.2v4*) ans=no ;; *-*-sco3.2v5.0*) ans=clock_drift ;; *-*-solaris2*) ans=no # hrestime_adj ;; *-*-sysv4*) ans=tickadj ;; esac ac_cv_var_nlist_tickadj=$ans]) case "$ac_cv_var_nlist_tickadj" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED(K_TICKADJ_NAME, "$ac_cv_var_nlist_tickadj", [What is the name of TICKADJ in the kernel?]) ;; esac # AC_CACHE_CHECK([for the units of 'tickadj'], ac_cv_var_tickadj_nano, [ans=usec case "$host" in *-*-solaris2*) ans=nsec ;; esac ac_cv_var_tickadj_nano=$ans]) case "$ac_cv_var_tickadj_nano" in nsec) AC_DEFINE(TICKADJ_NANO, 1, [Is K_TICKADJ_NAME in nanoseconds?]) ;; esac # AC_CACHE_CHECK([half-heartedly for 'dosynctodr' in the kernel], ac_cv_var_nlist_dosynctodr, [case "$host" in *-apple-aux[[23]]*) ans=no ;; *-sni-sysv*) ans=dosynctodr ;; *-*-aix*) ans=dosynctodr ;; *-*-hpux*) ans=no ;; *-*-mpeix*) ans=no ;; *-*-nextstep*) ans=_dosynctodr ;; *-*-ptx*) ans=doresettodr ;; *-*-sco3.2v4*) ans=no ;; *-*-sco3.2v5*) ans=track_rtc ;; *-*-solaris2*) ans=dosynctodr ;; *-*-sysv4*) ans=doresettodr ;; *) ans=_dosynctodr ;; esac ac_cv_var_nlist_dosynctodr=$ans]) case "$ac_cv_var_nlist_dosynctodr" in no) ;; *) AC_DEFINE_UNQUOTED(K_DOSYNCTODR_NAME, "$ac_cv_var_nlist_dosynctodr", [What is (probably) the name of DOSYNCTODR in the kernel?]) ;; esac # AC_CACHE_CHECK([half-heartedly for 'noprintf' in the kernel], ac_cv_var_nlist_noprintf, [case "$host" in *-apple-aux[[23]]*) ans=no ;; *-sni-sysv*) ans=noprintf ;; *-*-aix*) ans=noprintf ;; *-*-hpux*) ans=no ;; *-*-mpeix*) ans=no ;; *-*-ptx*) ans=noprintf ;; *-*-nextstep*) ans=_noprintf ;; *-*-solaris2*) ans=noprintf ;; *-*-sysv4*) ans=noprintf ;; *) ans=_noprintf ;; esac ac_cv_var_nlist_noprintf=$ans]) case "$ac_cv_var_nlist_noprintf" in no) ;; *) AC_DEFINE_UNQUOTED(K_NOPRINTF_NAME, "$ac_cv_var_nlist_noprintf", [What is (probably) the name of NOPRINTF in the kernel?]) ;; esac dnl The tick/tickadj sections were written by Skippy, who never learned dnl that it's impolite (horridly gross) to show your guts in public. dnl tick tickadj dnl 10000 80 Unixware dnl 1000000L/hz tick/16 (Solaris,UXPV,HPUX) && ADJTIME_IS_ACCURATE dnl 10000 150 sgi IRIX dnl 1000000L/hz 1000 RS6000 && NOKMEM dnl 1000000L/hz 668 DOMAINOS && NOKMEM dnl 1000000L/hz 500/HZ other && NOKMEM dnl txc.tick 1 Linux dnl (every / 10) 50 WinNT - tickadj is roughly 500/hz dnl 1000000L/hz (nlist) (Solaris && !ADJTIME_IS_ACCURATE), dnl (RS6000 && !NOKMEM), SINIX MIPS dnl But we'll only use these "values" if we can't find anything else. AC_CACHE_CHECK(for a default value for 'tick', ac_cv_var_tick, [AC_ARG_ENABLE(tick, [ --enable-tick=VALUE s force a value for 'tick'], [ans=$enableval], [ans=no case "$host" in XXX-*-pc-cygwin*) ;; *-univel-sysv*) ans=10000 ;; *-*-irix*) ans=10000 ;; *-*-linux*) ans=txc.tick ;; *-*-mpeix*) ans=no ;; *-*-winnt3.5) ans='(every / 10)' ;; *) ans='1000000L/hz' ;; esac]) ac_cv_var_tick=$ans]) case "$ac_cv_var_tick" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED(PRESET_TICK, $ac_cv_var_tick, [Preset a value for 'tick'?]) ;; esac AC_CACHE_CHECK(for a default value for 'tickadj', ac_cv_var_tickadj, [AC_ARG_ENABLE(tickadj, [ --enable-tickadj=VALUE s force a value for 'tickadj'], [ans=$enableval], [ans='500/hz' case "$host" in *-fujitsu-uxp*) case "$ac_cv_var_adjtime_is_accurate" in yes) ans='tick/16' ;; esac ;; XXX-*-pc-cygwin*) ans=no ;; *-univel-sysv*) ans=80 ;; *-*-aix*) case "$ac_cv_var_can_kmem" in no) ans=1000 ;; esac ;; *-*-domainos) # Skippy: won't be found... case "$ac_cv_var_can_kmem" in no) ans=668 ;; esac ;; *-*-hpux*) case "$ac_cv_var_adjtime_is_accurate" in yes) ans='tick/16' ;; esac ;; *-*-irix*) ans=150 ;; *-*-mpeix*) ans=no ;; *-*-sco3.2v5.0*) ans=10000L/hz ;; *-*-solaris2*) case "$ac_cv_var_adjtime_is_accurate" in yes) #ans='tick/16' ;; esac ;; *-*-winnt3.5) ans=50 ;; esac]) ac_cv_var_tickadj=$ans]) case "$ac_cv_var_tickadj" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED(PRESET_TICKADJ, $ac_cv_var_tickadj, [Preset a value for 'tickadj'?]) ;; esac # Newer versions of ReliantUNIX round adjtime() values down to # 1/100s (system tick). Sigh ... # Unfortunately, there is no easy way to know if particular release # has this "feature" or any obvious way to test for it. case "$host" in mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX_CLOCK, 1, [Do we want the ReliantUNIX clock hacks?]) ;; esac case "$host" in *-*-sco3.2v5*) AC_DEFINE(SCO5_CLOCK, 1, [Do we want the SCO clock hacks?]) ;; esac ac_cv_make_tickadj=yes case "$ac_cv_var_can_kmem$ac_cv_var_tick$ac_cv_var_tickadj" in nonono) # Don't read KMEM, no presets. Bogus. AC_MSG_WARN(Can't read kmem, no PRESET_TICK or PRESET_TICKADJ. No tickadj.) ac_cv_make_tickadj=no ;; nono*) # Don't read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus. AC_MSG_WARN(Can't read kmem but no PRESET_TICK. No tickadj.) ac_cv_make_tickadj=no ;; no*no) # Don't read KMEM, PRESET_TICK but no PRESET_TICKADJ. Bogus. AC_MSG_WARN(Can't read kmem but no PRESET_TICKADJ. No tickadj.) ac_cv_make_tickadj=no ;; no*) # Don't read KMEM, PRESET_TICK and PRESET_TICKADJ. Cool. ;; yesnono) # Read KMEM, no presets. Cool. ;; yesno*) # Read KMEM, no PRESET_TICK but PRESET_TICKADJ. Bogus. AC_MSG_WARN(PRESET_TICKADJ is defined but not PRESET_TICK. Please report this.) ;; yes*no) # Read KMEM, PRESET_TICK but no PRESET_TICKADJ. Cool. ;; yes*) # READ KMEM, PRESET_TICK and PRESET_TICKADJ. ;; *) # Generally bogus. AC_MSG_ERROR(This shouldn't happen.) ;; esac AC_SUBST(MAKE_NTPTIME) AC_CACHE_CHECK(if we want and can make the ntptime utility, ac_cv_make_ntptime, [case "$host" in *) case "$ac_cv_struct_ntptimeval$ac_cv_var_kernel_pll" in yesyes) ans=yes ;; *) ans=no ;; esac ;; esac ac_cv_make_ntptime=$ans]) case "$ac_cv_make_ntptime" in yes) MAKE_NTPTIME=ntptime ;; esac AC_SUBST(MAKE_TICKADJ) case "$host" in mips-sni-sysv4*) # tickadj is pretty useless on newer versions of ReliantUNIX # Do not bother ac_cv_make_tickadj=no ;; *-*-irix*) ac_cv_make_tickadj=no ;; *-*-solaris2*) # DLM says tickadj is a no-no starting with solaris2.5 case "$host" in *-*-solaris2.[0-4]*) ;; *) ac_cv_make_tickadj=no ;; esac ;; esac AC_CACHE_CHECK(if we want and can make the tickadj utility, ac_cv_make_tickadj, ac_cv_make_tickadj=yes) case "$ac_cv_make_tickadj" in yes) MAKE_TICKADJ=tickadj ;; esac AC_SUBST(MAKE_TIMETRIM) AC_CACHE_CHECK(if we want and can make the timetrim utility, ac_cv_make_timetrim, [case "$host" in *-*-irix*) ac_cv_make_timetrim=yes ;; *) ac_cv_make_timetrim=no ;; esac]) case "$ac_cv_make_timetrim" in yes) MAKE_TIMETRIM=timetrim ;; esac AC_CACHE_CHECK(if we want UDP wildcard delivery, ac_cv_var_udp_wildcard_delivery, [AC_ARG_ENABLE(udp-wildcard, [ --enable-udp-wildcard s use UDP wildcard delivery], [ans=$enableval], [ans=no case "$host" in *-fujitsu-uxp*) ans=yes ;; *-univel-sysv*) ans=yes ;; *-*-aix3.2*) ans=yes ;; *-*-aix4*) ans=yes ;; *-*-bsdi*) ans=yes ;; *-*-domainos) ans=yes ;; *-*-freebsd*) ans=yes ;; *-*-hpux*) ans=yes ;; *-*-irix6*) ans=yes ;; *-*-linux*) ans=yes ;; *-*-mpeix*) ans=yes ;; *-*-osf*) ans=yes ;; *-*-ptx*) ans=yes ;; *-*-solaris2*) ans=yes ;; *-*-sunos4*) ans=yes ;; esac]) ac_cv_var_udp_wildcard_delivery=$ans]) case "$ac_cv_var_udp_wildcard_delivery" in yes) AC_DEFINE(UDP_WILDCARD_DELIVERY, 1, [use UDP Wildcard Delivery?]) ;; esac case "$build" in $host) ;; *) case "$host" in *-*-vxworks*) LDFLAGS="$LDFLAGS -r" ;; esac ;; esac AC_CACHE_CHECK(if we should always slew the time, ac_cv_var_slew_always, [AC_ARG_ENABLE(slew-always, [ --enable-slew-always s always slew the time], [ans=$enableval], [case "$host" in *-apple-aux[[23]]*) ans=yes ;; *-*-bsdi[[012]]*) ans=no ;; *-*-bsdi*) ans=yes ;; *-*-openvms*) # HMS: won't be found ans=yes ;; *) ans=no ;; esac ]) ac_cv_var_slew_always=$ans]) case "$ac_cv_var_slew_always" in yes) AC_DEFINE(SLEWALWAYS, 1, [Slew always?]) ;; esac AC_CACHE_CHECK(if we should step and slew the time, ac_cv_var_step_slew, [AC_ARG_ENABLE(step-slew, [ --enable-step-slew s step and slew the time], [ans=$enableval], [case "$host" in *-sni-sysv*) ans=yes ;; *-univel-sysv*) ans=no ;; *-*-ptx*) ans=yes ;; *-*-solaris2.[[012]]*) ans=yes ;; *-*-sysv4*) # HMS: Does this catch Fujitsu UXP? ans=yes ;; *) ans=no ;; esac ]) ac_cv_var_step_slew=$ans]) case "$ac_cv_var_step_slew" in yes) AC_DEFINE(STEP_SLEW, 1, [Step, then slew the clock?]) ;; esac AC_CACHE_CHECK(if ntpdate should step the time, ac_cv_var_ntpdate_step, [AC_ARG_ENABLE(ntpdate-step, [ --enable-ntpdate-step s if ntpdate should step the time], [ans=$enableval], [case "$host" in *-apple-aux[[23]]*) ans=yes ;; *) ans=no ;; esac ]) ac_cv_var_ntpdate_step=$ans]) case "$ac_cv_var_ntpdate_step" in yes) AC_DEFINE(FORCE_NTPDATE_STEP, 1, [force ntpdate to step the clock if !defined(STEP_SLEW) ?]) ;; esac AC_CACHE_CHECK(if we should sync TODR clock every hour, ac_cv_var_sync_todr, [AC_ARG_ENABLE(hourly-todr-sync, [ --enable-hourly-todr-sync s if we should sync TODR hourly], [ans=$enableval], [case "$host" in *-*-nextstep*) ans=yes ;; *-*-openvms*) # HMS: won't be found ans=yes ;; *) ans=no ;; esac]) ac_cv_var_sync_todr=$ans]) case "$ac_cv_var_sync_todr" in yes) AC_DEFINE(DOSYNCTODR, 1, [synch TODR hourly?]) ;; esac AC_CACHE_CHECK(if we should avoid kernel FLL bug, ac_cv_var_kernel_fll_bug, [AC_ARG_ENABLE(kernel-fll-bug, [ --enable-kernel-fll-bug s if we should avoid a kernel FLL bug], [ans=$enableval], [case "$host" in *-*-solaris2.6) unamev=`uname -v` case "$unamev" in Generic_105181-*) old_IFS="$IFS" IFS="-" set $unamev IFS="$old_IFS" if test "$2" -ge 17 then # Generic_105181-17 and higher ans=no else ans=yes fi ;; *) ans=yes ;; esac ;; *-*-solaris2.7) unamev=`uname -v` case "$unamev" in Generic_106541-*) old_IFS="$IFS" IFS="-" set $unamev IFS="$old_IFS" if test "$2" -ge 07 then # Generic_106541-07 and higher ans=no else ans=yes fi ;; *) ans=yes ;; esac ;; *) ans=no ;; esac ]) ac_cv_var_kernel_fll_bug=$ans]) case "$ac_cv_var_kernel_fll_bug" in yes) AC_DEFINE(KERNEL_FLL_BUG, 1, [Does the kernel have an FLL bug?]) ;; esac case "$build" in $host) ;; *) case "$host" in *-*-vxworks*) LDFLAGS="$LDFLAGS -r" ;; esac ;; esac AC_DEFINE_DIR(NTP_KEYSDIR, sysconfdir, [Default location of crypto key info]) # HMS: I think we avoid this problem now... ## This is necessary so that .o files in LIBOBJS are also built via ## the ANSI2KNR-filtering rules. #LIB@&t@OBJS=`echo "$LIB@&t@OBJS" | sed 's,\.[[^.]]* ,$U&,g;s,\.[[^.]]*$,$U&,'` AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(ElectricFence/Makefile) AC_CONFIG_FILES(adjtimed/Makefile) AC_CONFIG_FILES(clockstuff/Makefile) AC_CONFIG_FILES(include/Makefile) AC_CONFIG_FILES(kernel/Makefile) AC_CONFIG_FILES(kernel/sys/Makefile) AC_CONFIG_FILES(libntp/Makefile) AC_CONFIG_FILES(libparse/Makefile) AC_CONFIG_FILES(librsaref/Makefile) AC_CONFIG_FILES(ntpd/Makefile) AC_CONFIG_FILES(ntpdate/Makefile) AC_CONFIG_FILES(ntpdc/Makefile) AC_CONFIG_FILES(ntpq/Makefile) AC_CONFIG_FILES(ntptrace/Makefile) AC_CONFIG_FILES(parseutil/Makefile) AC_CONFIG_FILES(scripts/Makefile) AC_CONFIG_FILES(scripts/calc_tickadj) AC_CONFIG_FILES(scripts/checktime) AC_CONFIG_FILES(scripts/freq_adj) AC_CONFIG_FILES(scripts/mkver) AC_CONFIG_FILES(scripts/ntp-wait) AC_CONFIG_FILES(scripts/ntpsweep) AC_CONFIG_FILES(scripts/ntpver) AC_CONFIG_FILES(scripts/plot_summary) AC_CONFIG_FILES(scripts/summary) AC_CONFIG_FILES(util/Makefile) AC_CONFIG_COMMANDS(default, [[chmod +x scripts/calc_tickadj scripts/checktime scripts/freq_adj scripts/mkver scripts/ntp-wait scripts/ntpsweep scripts/ntpver scripts/plot_summary scripts/summary]], []) AC_OUTPUT