dnl -*-fundamental-*- dnl Process this file with autoconf to produce a configure script. m4_include([version.m4]) AC_PREREQ([2.61]) AC_INIT([ntp], [VERSION_NUMBER]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([.]) # Increment ntp_configure_cache_version by one for each change to # configure.ac or .m4 files which invalidates cached values from # previous versions. # # If the change affects cache variables used only by the main NTP # configure.ac, then only its version number should be bumped, while # the subdir configure.ac version numbers should be unchanged. The # same is true for a test/variable that is used only by one subdir # being changed incompatibly; only that subdir's cache version needs # bumping. # # If a change affects variables shared by all NTP configure scripts, # please bump the version numbers of all three. If you are not sure, # the safe choice is to bump all three on any cache-invalidating change. # # In order to avoid the risk of version stamp collision between -stable # and -dev branches, do not simply increment the version, instead use # the date YYYYMMDD optionally with -HHMM if there is more than one # bump in a day. ntp_configure_cache_version=20091117 # When the cache version of config.cache and configure do not # match, NTP_CACHEVERSION will flush the cache. NTP_CACHEVERSION([main], [$ntp_configure_cache_version]) AM_INIT_AUTOMAKE AC_CANONICAL_BUILD AC_CANONICAL_HOST dnl the 'build' machine is where we run configure and compile dnl the 'host' machine is where the resulting stuff runs. AC_DEFINE_UNQUOTED([STR_SYSTEM], ["$host"], [canonical system (cpu-vendor-os) of where we should run]) AM_CONFIG_HEADER([config.h]) dnl AC_ARG_PROGRAM ntp_atom_ok=${ntp_atom_ok=no} ntp_oncore_ok=${ntp_oncore_ok=no} ntp_parse_ok=${ntp_parse_ok=no} ntp_ripe_ncc_ok=${ntp_parse_ok=no} ntp_jupiter_ok=${ntp_jupiter_ok=no} dnl check these early to avoid autoconf warnings AC_AIX AC_MINIX # So far, the only shared library we might use is libopts. # It's a small library - we might as well use a static version of it. AC_DISABLE_SHARED dnl we need to check for cross compile tools for vxWorks here AC_PROG_CC # Ralf Wildenhues: With per-target flags we need CC_C_O # AM_PROG_CC_C_O supersets AC_PROG_CC_C_O AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_YACC # AC_PROG_CC_STDC has two functions. It attempts to find a compiler # capable of C99, or failing that, for C89. CC is set afterward with # the selected invocation, such as "gcc --std=gnu99". Also, the # ac_cv_prog_cc_stdc variable is no if the compiler selected for CC # does not accept C89. AC_PROG_CC_STDC case "$ac_cv_prog_cc_stdc" in no) AC_MSG_WARN([ANSI C89/ISO C90 is the minimum to compile NTP ] [version 4.2.5 and higher.]) esac # HMS: These need to be moved to AM_CPPFLAGS and/or AM_CFLAGS case "$host" in *-pc-cygwin*) CFLAGS="$CFLAGS -DSYS_CYGWIN32" ;; i386-sequent-sysv4) case "$CC" in cc) CFLAGS="$CFLAGS -Wc,+abi-socket" ;; esac ;; *-*-mpeix*) CPPFLAGS="$CPPFLAGS -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB" LDFLAGS="$LDFLAGS -L/SYSLOG/PUB" LIBS="$LIBS -lcurses" ;; *-*-solaris*) # see "man standards". # -D_XOPEN_SOURCE=500 is probably OK for c89 and before # -D_XOPEN_SOURCE=600 seems OK for c99 #CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__" CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" libxnet=-lxnet ;; esac NTP_OS_CFLAGS NTP_DIR_SEP NTP_VPATH_HACK # NTP has (so far) been relying on leading-edge autogen. # Therefore, by default: # - use the version we ship with # - do not install it # - build a static copy (AC_DISABLE_SHARED - done earlier) case "${enable_local_libopts+set}" in set) ;; *) enable_local_libopts=yes ;; esac case "${enable_libopts_install+set}" in set) ;; *) enable_libopts_install=no ;; esac LIBOPTS_CHECK_NOBUILD([sntp/libopts]) AC_FUNC_FORK AC_CACHE_CHECK( [if $CC can handle @%:@warning], [ntp_cv_cpp_warning], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[#warning foo]])], [ntp_cv_cpp_warning=yes], [ntp_cv_cpp_warning=no] )] ) case "$ntp_cv_cpp_warning" in no) AC_DEFINE([NO_OPTION_NAME_WARNINGS], [1], [Should we avoid @%:@warning on option name collisions?]) esac case "$GCC" in yes) SAVED_CFLAGS_NTP="$CFLAGS" CFLAGS="$CFLAGS -Wstrict-overflow" AC_CACHE_CHECK( [if $CC can handle -Wstrict-overflow], [ntp_cv_gcc_Wstrict_overflow], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [ntp_cv_gcc_Wstrict_overflow=yes], [ntp_cv_gcc_Wstrict_overflow=no] ) ] ) # # $ntp_cv_gcc_Wstrict_overflow is tested later to add the # flag to CFLAGS. # CFLAGS="$SAVED_CFLAGS_NTP -Winit-self" AC_CACHE_CHECK( [if $CC can handle -Winit-self], [ntp_cv_gcc_Winit_self], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [ntp_cv_gcc_Winit_self=yes], [ntp_cv_gcc_Winit_self=no] ) ] ) CFLAGS="$SAVED_CFLAGS_NTP" AS_UNSET([SAVED_CFLAGS_NTP]) # # $ntp_cv_gcc_Winit_self is tested later to add the # flag to CFLAGS. # esac # Expose a cross-compilation indicator to makefiles AM_CONDITIONAL([NTP_CROSSCOMPILE], [test $build != $host]) AC_MSG_CHECKING([for bin subdirectory]) AC_ARG_WITH( [binsubdir], [AS_HELP_STRING( [--with-binsubdir], [bin ={bin,sbin}] )], [use_binsubdir="$withval"], [use_binsubdir="bin"] ) case "$use_binsubdir" in bin) ;; sbin) ;; *) AC_MSG_ERROR([<$use_binsubdir> is illegal - must be "bin" or "sbin"]) ;; esac AC_MSG_RESULT([$use_binsubdir]) BINSUBDIR=$use_binsubdir AC_SUBST([BINSUBDIR]) AM_CONDITIONAL([NTP_BINSUBDIR_IS_BIN], [test "bin" = "$BINSUBDIR"]) AC_MSG_CHECKING([for deprecated --with-arlib]) AC_ARG_WITH([arlib], AS_HELP_STRING([--with-arlib], [- deprecated, arlib not distributed]), [ans=$withval], [ans=no]) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_MSG_WARN([Please do not use --with-arlib, arlib is no longer included. In the future, --with-arlib will not be recognized.]) esac AC_ARG_WITH(rpath, AS_HELP_STRING([--without-rpath], [s Disable auto-added -R linker paths]), [ans=$withval], [ans=x]) case "$ans" in no) need_dash_r= ;; yes) need_dash_r=1 ;; esac # HMS: Why isn't this $build? # Well, that depends on if we need this for the build toolchain or # for info in the host executable... # I still have no idea which way this should go, but nobody has complained. case "$host" in *-*-netbsd*) case "$need_dash_r" in no) ;; *) need_dash_r=1 ;; esac ;; *-*-solaris*) case "$need_dash_r" in no) ;; *) need_dash_r=1 ;; 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 -Wextra" # CFLAGS="$CFLAGS -Wfloat-equal" CFLAGS="$CFLAGS -Wmissing-prototypes" CFLAGS="$CFLAGS -Wpointer-arith" CFLAGS="$CFLAGS -Wshadow" # CFLAGS="$CFLAGS -Wtraditional" # CFLAGS="$CFLAGS -Wwrite-strings" case "$ntp_cv_gcc_Winit_self" in yes) CFLAGS="$CFLAGS -Winit-self" esac case "$ntp_cv_gcc_Wstrict_overflow" in yes) CFLAGS="$CFLAGS -Wstrict-overflow" esac # -W[no-]strict-prototypes is added later depending on OpenSSL esac ac_busted_vpath_in_make=no case "$build" in *-*-irix6.1*) # 64 bit only # busted vpath? ;; *-*-irix6*) # 6.2 (and later?) ac_busted_vpath_in_make=yes ;; *-*-solaris2.5.1) ac_busted_vpath_in_make=yes ;; *-*-unicosmp*) ac_busted_vpath_in_make=yes ;; 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]) AC_SUBST([LDFLAGS]) AC_PROG_LIBTOOL AC_PROG_LN_S AC_PROG_GCC_TRADITIONAL AC_C_VOLATILE AC_ISC_POSIX AC_PATH_PROG([PATH_PERL], [perl]) AC_PATH_PROG([PATH_SH], [sh]) AC_PATH_PROG([PATH_TEST], [test]) AC_ARG_WITH( [net-snmp-config], [AS_HELP_STRING( [--with-net-snmp-config], [+ =net-snmp-config] )], [ans=$withval], [ans=yes] ) case "$ans" in no) ;; yes) ans=net-snmp-config ;; /*) ;; */*) AC_MSG_ERROR([--with-net-snmp-config takes either a name or an absolute path]) ;; *) ;; esac PROG_NET_SNMP_CONFIG=$ans AC_MSG_CHECKING([for net-snmp-config path]) case "$PROG_NET_SNMP_CONFIG" in no) ;; /*) PATH_NET_SNMP_CONFIG=$PROG_NET_SNMP_CONFIG ;; *) AC_PATH_PROG([PATH_NET_SNMP_CONFIG], [$PROG_NET_SNMP_CONFIG]) ;; esac AC_MSG_RESULT([$PATH_NET_SNMP_CONFIG]) case "$host" in *-*-vxworks*) ac_link="$ac_link $VX_KERNEL" ;; esac AC_PROG_INSTALL AC_CHECK_FUNC([gethostent], , AC_SEARCH_LIBS([gethostent], [nsl], , , [$libxnet -lsocket])) AC_CHECK_FUNC([openlog], , AC_SEARCH_LIBS([openlog], [gen], , AC_SEARCH_LIBS([openlog], [syslog], , , [$libxnet -lsocket]))) AC_SEARCH_LIBS([MD5Init], [md5 md]) AC_CHECK_FUNCS(MD5Init) NTP_LINEEDITLIBS 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. dnl dnl 081118 Harlan got tired of looking for a way to get the sched*() dnl functions to link OK with either cc or gcc. case "$host" in *-*-*linux*) ;; *-*-osf4*) ;; *-*-osf5*) ;; *) AC_CHECK_LIB([rt], [sched_setscheduler], [], [AC_CHECK_LIB([posix4], [sched_setscheduler])]) ;; esac AC_SEARCH_LIBS([setsockopt], [socket xnet]) AC_SEARCH_LIBS([res_init], [resolv], [], [], [-lsocket -lnsl]) case "$host" in *-*-darwin*) AC_CHECK_LIB([resolv],[res_9_init]) ;; esac AC_HEADER_RESOLV AC_CHECK_FUNCS([res_init __res_init]) AC_HEADER_STDC AC_CHECK_HEADERS([bstring.h]) AC_CHECK_HEADER( [dns_sd.h], [AC_CHECK_LIB( [dns_sd], [DNSServiceRegister], [AC_DEFINE([HAVE_DNSREGISTRATION], [1], [Use Rendezvous/DNS-SD registration])] )] ) case "$ac_cv_lib_dns_sd_DNSServiceRegister" in yes) LIBS="-ldns_sd $LIBS" esac AC_CHECK_HEADERS([errno.h fcntl.h ieeefp.h kvm.h math.h]) AC_CHECK_HEADERS( [md5.h], [], [], [ #ifdef HAVE_SYS_TYPES_H # include #endif ] ) AC_CHECK_HEADERS([memory.h netdb.h poll.h]) AC_CHECK_HEADERS([sgtty.h stdlib.h string.h termio.h]) AC_CHECK_HEADERS([termios.h timepps.h timex.h unistd.h]) case "$host" in *-*-aix*) AC_CHECK_HEADERS([utmpx.h]) case "$ac_cv_header_utmpx_h" in yes) ;; *) AC_CHECK_HEADERS([utmp.h]) ;; esac ;; *) AC_CHECK_HEADERS([utmp.h utmpx.h]) ;; esac # # On Suns only (so far) getpass() truncates the typed password to 8 # characters, but getpassphrase() allows up to 257. Most systems' # getpass() does not truncate, at least not so as to affect ntpq and # ntpdc password prompts. # # So check for getpassphrase(), but only on Sun operating systems. # case "$host" in *-*-sunos*|*-*-solaris*) AC_CHECK_FUNCS([getpassphrase]) esac AC_CHECK_HEADERS([arpa/nameser.h]) AC_CHECK_HEADERS([sys/socket.h]) dnl HP-UX 11.31 on HPPA has a net/if.h that can't be compiled with gcc4 dnl due to an incomplete type (a union) mpinfou used in an array. gcc3 dnl compiles it without complaint. The mpinfou union is defined later dnl in the resulting preprocessed source than the spu_info array in dnl /usr/include/machine/sys/getppdp.h: dnl extern union mpinfou spu_info[]; dnl triggering the error. Our strategy is on HP-UX only, test for dnl net/netmp.h, which is the file included by net/if.h that leads to dnl getppdp.h. If it is present but can't be compiled, try adding dnl a duplicate definition of mpinfou, which should then allow the dnl following net/if.h and net/if6.h tests to proceed normally. dnl Using net/netmp.h allows us to avoid polluting test results for dnl net/if.h. # case "$host" in *-hp-hpux*) AC_CHECK_HEADERS( [net/netmp.h], [netmp_h_works=yes], [netmp_h_works=no] ) case "$netmp_h_works" in no) cat >>confdefs.h <<_ACEOF #ifndef MPINFOU_PREDECLARED # define MPINFOU_PREDECLARED typedef union mpinfou { /* For lint */ struct pdk_mpinfo *pdkptr; struct mpinfo *pikptr; } mpinfou_t; #endif _ACEOF AH_BOTTOM([ #ifndef MPINFOU_PREDECLARED # define MPINFOU_PREDECLARED typedef union mpinfou { /* For lint */ struct pdk_mpinfo *pdkptr; struct mpinfo *pikptr; } mpinfou_t; #endif ]) ;; esac ;; esac case "$host" in *-linux*) AC_CHECK_HEADERS([linux/if_addr.h], [], [], [ #ifdef HAVE_SYS_SOCKET_H # include #endif ]) esac AC_CHECK_HEADERS([net/if.h], [], [], [#ifdef HAVE_SYS_SOCKET_H #include #endif ]) AC_CHECK_HEADERS([net/if6.h]) AC_CHECK_HEADERS([net/route.h], [], [], [ #include #include #include ]) AC_CHECK_HEADERS([netinet/in_system.h netinet/in_systm.h netinet/in.h]) AC_CHECK_HEADERS([net/if_var.h], [], [], [#if HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_NET_IF_H #include #endif ]) AC_CHECK_HEADERS([netinet/ip.h netinet/in_var.h], [], [], [#ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NET_IF_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_NET_IF_VAR_H #include #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include #endif ]) # Check for IPTOS_PREC AC_CACHE_CHECK( [IPPROTO_IP IP_TOS IPTOS_LOWDELAY], [ntp_cv_ip_tos], [AC_EGREP_CPP( [yes], [ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_NETINET_IP_H # include # include #endif #if defined(IPPROTO_IP) && defined(IP_TOS) && defined(IPTOS_LOWDELAY) yes #endif ], [ntp_cv_ip_tos=yes], [ntp_cv_ip_tos=no] )] ) case "$ntp_cv_ip_tos" in yes) AC_DEFINE([HAVE_IPTOS_SUPPORT], [1], [Do we have IPTOS support?]) esac AC_CHECK_HEADERS([netinfo/ni.h]) case "$ac_cv_header_netinfo_ni_h" in yes) AC_DEFINE([HAVE_NETINFO], [1], [NetInfo support?]) esac 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/ipc.h sys/lock.h sys/mman.h]) AC_CHECK_HEADERS([sys/modem.h sys/param.h sys/ppsclock.h]) # HMS: Check sys/proc.h and sys/resource.h after some others AC_CHECK_HEADERS([sys/ppstime.h sched.h]) case "$ac_cv_header_sched_h" in yes) ;; *) AC_CHECK_HEADERS([sys/sched.h]) ;; esac case "$host" in *-*-sco*) AC_CHECK_HEADERS([sys/sio.h]) ;; esac # HMS: Check sys/shm.h after some others AC_CHECK_HEADERS([sys/select.h sys/signal.h sys/sockio.h]) # HMS: Checked sys/socket.h earlier case "$host" in *-*-netbsd*) ;; *) AC_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h]) ;; esac AC_CHECK_HEADERS([sys/stat.h sys/stream.h sys/stropts.h]) # sys/sysctl.h depends on sys/param.h on OpenBSD - Bug 1576 AC_CHECK_HEADERS([sys/sysctl.h], [], [], [#if defined HAVE_SYS_PARAM_H # include #endif]) AC_CHECK_HEADERS([sys/syssgi.h sys/systune.h]) AC_CHECK_HEADERS([sys/termios.h sys/time.h sys/signal.h]) AC_EGREP_CPP( [yes], [ #ifdef HAVE_SYS_TIME_H # include #endif #ifdef HAVE_ERRNO_H # include #endif #include #ifdef PPS_API_VERS_1 yes #endif ], [AC_CHECK_HEADERS( [sys/timepps.h], [], [], [ #ifdef HAVE_SYS_TIME_H # include #endif #ifdef HAVE_ERRNO_H # include #endif ] )] ) AC_CHECK_HEADERS([sys/timers.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 case "$host" in *-*-*linux*) AC_CHECK_FUNCS([__adjtimex __ntp_gettime]) ;; esac case "$ac_cv_func___adjtimex" in yes) ;; *) 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_HEADERS([nlist.h sys/var.h]) case "$ac_cv_header_nlist_h" in yes) AC_DEFINE([NLIST_STRUCT], [1], [nlist stuff]) esac AC_CACHE_CHECK( [for n_un in struct nlist], [ntp_cv_struct_nlist_n_un], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ struct nlist n; n.n_un.n_name = 0; ]] )] [ntp_cv_struct_nlist_n_un=yes], [ntp_cv_struct_nlist_n_un=no] )] ) case "$ntp_cv_struct_nlist_n_un" in yes) AC_DEFINE([NLIST_NAME_UNION], [1], [does struct nlist use a name union?]) esac ;; esac AC_CHECK_HEADERS([sys/proc.h], [], [], [#ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_TIME_H # include #endif ]) AC_CHECK_HEADERS([sys/resource.h], [], [], [#ifdef HAVE_SYS_TIME_H # include #endif ]) AC_CHECK_HEADERS([sys/shm.h], [], [], [#ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_IPC_H # include #endif ]) AC_CHECK_HEADERS([sys/timex.h], [], [], [#if HAVE_SYS_TIME_H # include #endif ]) AC_CHECK_HEADERS([resolv.h], [], [], [#ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_NAMESER_H #include #endif ]) AC_CACHE_CHECK( [for basic volatile support], [ntp_cv_c_volatile], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ ]], [[ volatile int x; ]] )] [ntp_cv_c_volatile=yes], [ntp_cv_c_volatile=no] )] ) case "$ntp_cv_c_volatile" in yes) ;; *) AC_DEFINE([volatile], [], [define away volatile?]) ;; esac AC_C_CONST AC_C_BIGENDIAN AC_TYPE_SIGNAL AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_CHECK_TYPES([time_t, long, uintptr_t]) AC_CHECK_SIZEOF([time_t]) AH_VERBATIM([TYPEDEF_UINTPTR_T], [/* Provide a typedef for uintptr_t? */ #ifndef HAVE_UINTPTR_T typedef unsigned int uintptr_t; #define HAVE_UINTPTR_T 1 #endif]) AC_STRUCT_TM AC_CACHE_CHECK( [for u_int8_t], [ntp_cv_type_u_int8_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif ]], [[ u_int8_t len = 42; ]] )], [ntp_cv_type_u_int8_t=yes], [ntp_cv_type_u_int8_t=no] )] ) case "$ntp_cv_type_u_int8_t" in yes) AC_DEFINE([HAVE_TYPE_U_INT8_T], [1], [Does u_int8_t exist?]) esac AC_CACHE_CHECK( [for u_int64_t], [ntp_cv_type_u_int64_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif ]], [[ u_int64_t len = 42; ]] )], [ntp_cv_type_u_int64_t=yes], [ntp_cv_type_u_int64_t=no] )] ) case "$ntp_cv_type_u_int64_t" in yes) AC_DEFINE([HAVE_TYPE_U_INT64_T], [1], [Does u_int64_t exist?]) esac AC_CACHE_CHECK( [for a fallback value for HZ], [ntp_cv_default_hz], [ ntp_cv_default_hz=100 case "$host" in alpha*-dec-osf4*|alpha*-dec-osf5*) ntp_cv_default_hz=1024 ;; mips-dec-ultrix4*) ntp_cv_default_hz=256 ;; esac ] ) AC_DEFINE_UNQUOTED([DEFAULT_HZ], [$ntp_cv_default_hz], [What is the fallback value for HZ?]) AC_CACHE_CHECK( [if we need to override the system's value for HZ], [ntp_cv_override_hz], [ ntp_cv_override_hz=no case "$host" in alpha*-dec-osf4*|alpha*-dec-osf5*) ntp_cv_override_hz=yes ;; mips-dec-ultrix4*) ntp_cv_override_hz=yes ;; *-*-freebsd*) ntp_cv_override_hz=yes ;; *-*-sunos4*) ntp_cv_override_hz=yes ;; *-*-kfreebsd*) ntp_cv_override_hz=yes ;; esac ] ) case "$ntp_cv_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( [for struct rt_msghdr], [ntp_cv_struct_rt_msghdr], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include #include ]], [[ struct rt_msghdr p; ]] )], [ntp_cv_struct_rt_msghdr=yes], [ntp_cv_struct_rt_msghdr=no] )] ) AC_CACHE_CHECK( [for struct rtattr], [ntp_cv_rtattr], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include ]], [[ struct rtattr p; ]] )], [ntp_cv_rtattr=yes], [ntp_cv_rtattr=no] )] ) case "$ntp_cv_struct_rt_msghdr$ntp_cv_rtattr" in *yes*) AC_DEFINE([HAS_ROUTING_SOCKET], [1], [Do we have a routing socket (rt_msghdr or rtattr)?]) case "$ntp_cv_rtattr" in yes) AC_DEFINE([HAVE_RTNETLINK], [1], [Do we have Linux routing socket?]) esac esac AC_CACHE_CHECK( [struct sigaction for sa_sigaction], [ntp_cv_struct_sigaction_has_sa_sigaction], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ struct sigaction act; act.sa_sigaction = 0; ]] )], [ntp_cv_struct_sigaction_has_sa_sigaction=yes], [ntp_cv_struct_sigaction_has_sa_sigaction=no] )] ) case "$ntp_cv_struct_sigaction_has_sa_sigaction" in yes) AC_DEFINE([HAVE_SA_SIGACTION_IN_STRUCT_SIGACTION], [1], [Obvious]) esac AC_CACHE_CHECK( [for struct ppsclockev], [ntp_cv_struct_ppsclockev], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #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; ]] )], [ntp_cv_struct_ppsclockev=yes], [ntp_cv_struct_ppsclockev=no] )] ) case "$ntp_cv_struct_ppsclockev" in yes) AC_DEFINE([HAVE_STRUCT_PPSCLOCKEV], [1], [Does a system header define struct ppsclockev?]) esac AC_CACHE_CHECK( [for struct sockaddr_storage], [ntp_cv_sockaddr_storage], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_NETINET_IN_H # include #endif ]], [[ struct sockaddr_storage n; ]] )], [ntp_cv_sockaddr_storage=yes], [ntp_cv_sockaddr_storage=no] )] ) case "$ntp_cv_sockaddr_storage" in yes) AC_DEFINE([HAVE_STRUCT_SOCKADDR_STORAGE], [1], [Does a system header define struct sockaddr_storage?]) esac AC_CACHE_CHECK( [for sockaddr_storage.ss_family], [ntp_cv_have_ss_family], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_NETINET_IN_H # include #endif ]], [[ struct sockaddr_storage s; s.ss_family = 1; ]] )], [ntp_cv_have_ss_family=yes], [ntp_cv_have_ss_family=no] )] ) case "$ntp_cv_have_ss_family" in no) AC_CACHE_CHECK( [for sockaddr_storage.__ss_family], [ntp_cv_have___ss_family], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_NETINET_IN_H # include #endif ]], [[ struct sockaddr_storage s; s.__ss_family = 1; ]] )], [ntp_cv_have___ss_family=yes], [ntp_cv_have___ss_family=no] )] ) case "$ntp_cv_have___ss_family" in yes) AC_DEFINE([HAVE___SS_FAMILY_IN_SS], [1], [Does struct sockaddr_storage have __ss_family?]) esac esac AH_VERBATIM( [HAVE___SS_FAMILY_IN_SS_VERBATIM], [ /* Handle sockaddr_storage.__ss_family */ #ifdef HAVE___SS_FAMILY_IN_SS # define ss_family __ss_family #endif /* HAVE___SS_FAMILY_IN_SS */ ] ) AC_CACHE_CHECK( [for sockaddr_storage.ss_len], [ntp_cv_have_ss_len], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_NETINET_IN_H # include #endif ]], [[ struct sockaddr_storage s; s.ss_len = 1; ]] )], [ntp_cv_have_ss_len=yes], [ntp_cv_have_ss_len=no] )] ) case "$ntp_cv_have_ss_len" in no) AC_CACHE_CHECK( [for sockaddr_storage.__ss_len], [ntp_cv_have___ss_len], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #ifdef HAVE_NETINET_IN_H # include #endif ]], [[ struct sockaddr_storage s; s.__ss_len = 1; ]] )], [ntp_cv_have___ss_len=yes], [ntp_cv_have___ss_len=no] )] ) case "$ntp_cv_have___ss_len" in yes) AC_DEFINE([HAVE___SS_LEN_IN_SS], [1], [Does struct sockaddr_storage have __ss_len?]) esac esac AH_VERBATIM( [HAVE___SS_LEN_IN_SS_VERBATIM], [ /* Handle sockaddr_storage.__ss_len */ #ifdef HAVE___SS_LEN_IN_SS # define ss_len __ss_len #endif /* HAVE___SS_LEN_IN_SS */ ] ) # # Look for in_port_t. # AC_CACHE_CHECK( [for in_port_t], [isc_cv_have_in_port_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[ in_port_t port = 25; return (0); ]] )], [isc_cv_have_in_port_t=yes], [isc_cv_have_in_port_t=no] )] ) case "$isc_cv_have_in_port_t" in no) AC_DEFINE([ISC_PLATFORM_NEEDPORTT], [1], [Declare in_port_t?]) esac case "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in *yes*) AC_CACHE_CHECK( [for struct snd_size], [ntp_cv_struct_snd_size], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_MACHINE_SOUNDCARD_H # include #endif #ifdef HAVE_SYS_SOUNDCARD_H # include #endif ]], [[ extern struct snd_size *ss; return ss->rec_size; ]] )], [ntp_cv_struct_snd_size=yes], [ntp_cv_struct_snd_size=no] )] ) case "$ntp_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], [ntp_cv_struct_clockinfo_has_hz], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ extern struct clockinfo *pc; return pc->hz; ]] )], [ntp_cv_struct_clockinfo_has_hz=yes], [ntp_cv_struct_clockinfo_has_hz=no] )] ) case "$ntp_cv_struct_clockinfo_has_hz" in yes) AC_DEFINE([HAVE_HZ_IN_STRUCT_CLOCKINFO], [1], [Obvious]) esac AC_CACHE_CHECK( [struct clockinfo for tickadj], [ntp_cv_struct_clockinfo_has_hz], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ extern struct clockinfo *pc; return pc->tickadj; ]] )], [ntp_cv_struct_clockinfo_has_hz=yes], [ntp_cv_struct_clockinfo_has_hz=no] )] ) case "$ntp_cv_struct_clockinfo_has_hz" in yes) AC_DEFINE([HAVE_TICKADJ_IN_STRUCT_CLOCKINFO], [1], [Obvious]) esac AC_CACHE_CHECK( [for struct timespec], [ntp_cv_struct_timespec], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #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; ]] )], [ntp_cv_struct_timespec=yes], [ntp_cv_struct_timespec=no] )] ) case "$ntp_cv_struct_timespec" in yes) AC_DEFINE([HAVE_STRUCT_TIMESPEC], [1], [struct timespec declared?]) esac AC_CACHE_CHECK( [for struct ntptimeval], [ntp_cv_struct_ntptimeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[ struct ntptimeval n; ]] )], [ntp_cv_struct_ntptimeval=yes], [ntp_cv_struct_ntptimeval=no] )] ) case "$ntp_cv_struct_ntptimeval" in yes) AC_DEFINE([HAVE_STRUCT_NTPTIMEVAL], [1], [Do we have struct ntptimeval?]) esac 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 case "$ac_cv_c_inline" in '') ;; *) AC_DEFINE([HAVE_INLINE], [1], [inline keyword or macro available]) AC_SUBST([HAVE_INLINE]) esac AC_C_CHAR_UNSIGNED dnl CROSS_COMPILE? AC_CHECK_SIZEOF([signed char]) AC_CHECK_TYPES([s_char]) AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([long]) 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], [1], [Do we need an 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], [1], [Do we need an s_char typedef?]) ;; esac AC_TYPE_UID_T case "$host" in *-*-aix[[456]]*) # (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_SEARCH_LIBS([clock_gettime], [rt]) 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_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ float f = 0.0; isfinite(f); ]] )], [ans=yes], [ans=no] ) LIBS=$_libs AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([HAVE_ISFINITE], [1]) esac ] )] ) AC_CHECK_FUNCS([getbootfile getclock getdtablesize]) AC_ARG_ENABLE( [getifaddrs], [AS_HELP_STRING( [--enable-getifaddrs], [s Enable the use of getifaddrs() [[yes|no|glibc]]. glibc: Use getifaddrs() in glibc if you know it supports IPv6.] )], [want_getifaddrs="$enableval"], [want_getifaddrs="yes"] ) case $want_getifaddrs in yes|glibc) # # Do we have getifaddrs() ? # case $host in *-*linux*) # Some recent versions of glibc support getifaddrs() which does not # provide AF_INET6 addresses while the function provided by the USAGI # project handles the AF_INET6 case correctly. We need to avoid # using the former but prefer the latter unless overridden by # --enable-getifaddrs=glibc. case "$want_getifaddrs" in glibc) AC_CHECK_FUNCS([getifaddrs]) ;; *) save_LIBS="$LIBS" LIBS="-L/usr/local/v6/lib $LIBS" AC_CHECK_LIB( [inet6], [getifaddrs], [ans=yes], [ans=no] ) case "$ans" in yes) LIBS="$LIBS -linet6" AC_DEFINE([HAVE_GETIFADDRS], [1]) ;; *) LIBS=${save_LIBS} ;; esac ;; esac ;; esac ;; *) AC_CHECK_FUNCS([getifaddrs]) ;; esac AC_CACHE_CHECK( [type of socklen arg for getsockname()], [ntp_cv_getsockname_socklen_type], [ getsockname_socklen_type_found=no for getsockname_arg2 in 'struct sockaddr *' 'void *'; do for ntp_cv_getsockname_socklen_type in 'socklen_t' 'size_t' 'unsigned int' 'int'; do AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif ]], [[ extern getsockname(int, $getsockname_arg2, $ntp_cv_getsockname_socklen_type *); ]] )], [getsockname_socklen_type_found=yes ; break 2], [] ) done done case "$getsockname_socklen_type_found" in no) ntp_cv_getsockname_socklen_type='socklen_t' esac AS_UNSET([getsockname_arg2]) AS_UNSET([getsockname_socklen_type_found]) ] ) AC_DEFINE_UNQUOTED([GETSOCKNAME_SOCKLEN_TYPE], [$ntp_cv_getsockname_socklen_type], [What is getsockname()'s socklen type?]) AC_CHECK_FUNCS([getuid getrusage hstrerror]) AC_CHECK_FUNC([gettimeofday], [], [ case "$host" in *-*-mpeix*) ac_cv_func_gettimeofday=yes ;; esac]) # # Check for if_nametoindex() for IPv6 scoped addresses support # case "$host" in *-hp-hpux*) AC_SEARCH_LIBS([if_nametoindex], [ipv6]) esac AC_CHECK_FUNCS([if_nametoindex]) case "$ac_cv_func_if_nametoindex" in yes) AC_DEFINE([ISC_PLATFORM_HAVEIFNAMETOINDEX], [1], [ISC: do we have if_nametoindex()?]) esac AC_SEARCH_LIBS([inet_ntop], [resolv], , , [-lsocket -lnsl]) AC_CHECK_FUNC([inet_ntop], [], [AC_DEFINE([ISC_PLATFORM_NEEDNTOP], [1], [ISC: provide inet_ntop()])]) AC_CHECK_FUNC([inet_pton], [], [AC_DEFINE([ISC_PLATFORM_NEEDPTON], [1], [ISC: provide inet_pton()])]) case "$ac_cv_header_kvm_h" in yes) AC_CHECK_FUNCS([kvm_open]) ;; esac AC_CHECK_FUNCS([memcpy memmove memset]) case "$host" in *-*-sco3.2v5.0.*) # Just stubs. Idiots. ;; *) AC_CHECK_FUNCS([mkstemp]) ;; esac AC_CHECK_FUNCS([mktime]) case "$host" in *-*-aix[[456]]*) # Just a stub. Idiots. ;; *-*-irix[[45]]*) # Just a stub in "old" Irix. Idiots. ;; *-*-*linux*) # there, but more trouble than it is worth for now (resolver problems) ;; *-*-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([nice nlist]) case "$host" in *-*-solaris2.6) # Broken... ;; *) AC_CHECK_FUNCS([ntp_adjtime ntp_gettime]) ;; esac AC_CHECK_FUNCS([plock pututline pututxline readlink recvmsg rtprio]) case "$host" in *-*-aix[[456]]*) # 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([setrlimit]) AC_CHECK_FUNCS([settimeofday], ,[ case "$host" in *-*-mpeix*) ac_cv_func_settimeofday=yes ;; esac]) AC_CHECK_FUNCS([setvbuf sigaction sigvec sigset sigsuspend stime strchr]) AC_CHECK_FUNCS([sysconf sysctl snprintf strdup strerror strstr timegm]) case "$host" in *-*-aix[[456]]*) # Just stubs. Idiots. ;; *-*-netbsd1*) # Just stubs. Idiots. ;; *-*-netbsdelf1*) # Just stubs. Idiots. ;; *-*-openbsd*) # Just stubs. Idiots. ;; *) AC_CHECK_FUNCS([timer_create timer_settime]) ;; esac AC_CHECK_FUNCS([umask uname updwtmp updwtmpx vsnprintf vsprintf]) ### # http://bugs.ntp.org/737 case "$ac_cv_func_recvmsg" in yes) AC_CACHE_CHECK( [if we need extra help to define struct iovec], [ntp_cv_struct_iovec_help], [ compiled=no for ntp_cv_struct_iovec_help in '0' '1'; do AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif #if $ntp_cv_struct_iovec_help # include #endif ]], [[ void foo(void) { ssize_t x; int s = 0; struct iovec iov; struct msghdr mh; int flags = 0; mh.msg_iov = &iov; x = recvmsg(s, &mh, flags); } ]] )], [compiled=yes ; break 1], [] ) done case "$compiled" in no) ntp_cv_struct_iovec_help=0 esac AS_UNSET([compiled]) ] ) case "$ntp_cv_struct_iovec_help" in 1) AC_DEFINE([HAVE_SYS_UIO_H], [1], [Use sys/uio.h for struct iovec help]) esac esac case "$host" in *-*-sunos4*) AC_DEFINE([SPRINTF_CHAR], [1], [*s*printf() functions are char*]) ;; esac AC_CACHE_CHECK( [number of arguments to gettimeofday()], [ntp_cv_func_Xettimeofday_nargs], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include ]], [[ gettimeofday(0, 0); settimeofday(0, 0); ]] )], [ntp_cv_func_Xettimeofday_nargs=2], [ntp_cv_func_Xettimeofday_nargs=1] )] ) case "$ntp_cv_func_Xettimeofday_nargs" in 1) AC_DEFINE([SYSV_TIMEOFDAY], [1], [Does Xettimeofday take 1 arg?]) esac AC_CACHE_CHECK( [number of arguments taken by setpgrp()], [ntp_cv_func_setpgrp_nargs], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif ]], [[ setpgrp(0, 0); ]] )], [ntp_cv_func_setpgrp_nargs=2], [ntp_cv_func_setpgrp_nargs=0] )] ) case "$ntp_cv_func_setpgrp_nargs" in 0) AC_DEFINE([HAVE_SETPGRP_0], [1], [define if setpgrp takes 0 arguments]) esac dnl we require ANSI C which mandates void * here dnl we should clean up all uses of QSORT_USES_VOID_P so dnl this can be removed. AC_DEFINE([QSORT_USES_VOID_P], [1], [Does qsort expect to work on "void *" stuff?]) AC_CACHE_CHECK( [if we need to declare 'errno'], [ntp_cv_decl_errno], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_ERRNO_H # include #endif ]], [[ errno = 0; ]] )], [ntp_cv_decl_errno=no], [ntp_cv_decl_errno=yes] )] ) case "$ntp_cv_decl_errno" in yes) AC_DEFINE([DECL_ERRNO], [1], [Declare errno?]) esac 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'], [ntp_cv_decl_h_errno], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #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; ]] )], [ntp_cv_decl_h_errno=yes], [ntp_cv_decl_h_errno=no] )] ) case "$ntp_cv_decl_h_errno" in yes) AC_DEFINE([DECL_H_ERRNO], [1], [Declare h_errno?]) esac AC_CACHE_CHECK( [if declaring 'syscall()' is ok], [ntp_cv_decl_syscall], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif ]], [[ extern int syscall (int, ...); ]] )] [ntp_cv_decl_syscall=yes], [ntp_cv_decl_syscall=no] )] ) case "$ntp_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_SELECT_0], [1], [Declaration style]) AC_DEFINE([DECL_SETITIMER_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_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]) 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_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_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 case "$host" in *-*-hpux[[567]]*) AC_DEFINE([NEED_RCVBUF_SLOP], [1], [Do we need extra room for SO_RCVBUF? (HPUX < 8)]) esac dnl Using AC_CACHE_CHECK to honor preset ntp_cv_var_open_bcast_socket AC_CACHE_CHECK( [if we will open the broadcast socket], [ntp_cv_var_open_bcast_socket], [ ans=yes case "$host" in *-*-domainos) ans=no esac ntp_cv_var_open_bcast_socket=$ans ] ) case "$ntp_cv_var_open_bcast_socket" in yes) AC_DEFINE([OPEN_BCAST_SOCKET], [1], [Should we open the broadcast socket?]) esac case "$host" in *-*-hpux*) AC_DEFINE([NEED_HPUX_FINDCONFIG], [1], [Do we want the HPUX FindConfig()?]) esac dnl using AC_CACHE_CHECK to honor preset $ntp_cv_arg_setpgrp_negpid AC_CACHE_CHECK( [if process groups are set with -pid], [ntp_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 ntp_cv_arg_setpgrp_negpid=$ans ] ) case "$ntp_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], [ntp_cv_func_ctty_for_f_setown], [ case "$host" in *-*-bsdi[23]*) ans=yes ;; *-*-freebsd*) ans=yes ;; # NetBSD versions prior to 3.99.8 require a CTTY for F_SETOWN, # while later versions will fail a ioctl(TIOCSCTTY, 0) call in # some cases and so should not have USE_FSETOWNCTTY. "netbsd" # in $host may be followed by "aout", "ecoff", or "elf". *-*-netbsd*[a-z]3.[0-8]*|*-*-netbsd*[a-z][0-2].*|*-*-netbsd*[a-z]3.99.[0-7]) ans=yes ;; *-*-netbsd3.[0-8]*|*-*-netbsd[0-2].*|*-*-netbsd3.99.[0-7]) ans=yes ;; *-*-openbsd*) ans=yes ;; *-*-osf*) ans=yes ;; *-*-darwin*) ans=yes ;; *) ans=no ;; esac ntp_cv_func_ctty_for_f_setown=$ans ] ) case "$ntp_cv_func_ctty_for_f_setown" in yes) AC_DEFINE([USE_FSETOWNCTTY], [1], [Must we have a CTTY for fsetown?]) esac AC_CACHE_CHECK( [if the OS clears cached routes when more specifics become available], [ntp_cv_os_routeupdates], [ case "$host" in *-*-netbsd*) ans=yes ;; *) ans=no ;; esac ntp_cv_os_routeupdates=$ans ] ) case "$ntp_cv_os_routeupdates" in yes) AC_DEFINE([OS_MISSES_SPECIFIC_ROUTE_UPDATES], [1], [need to recreate sockets on changed routing?]) esac AC_CACHE_CHECK( [if the wildcard socket needs REUSEADDR to bind other addresses], [ntp_cv_os_wildcardreuse], [ case "$host" in *-*-*linux*) ans=yes ;; *) ans=no ;; esac ntp_cv_os_wildcardreuse=$ans ] ) case "$ntp_cv_os_wildcardreuse" in yes) AC_DEFINE([OS_NEEDS_REUSEADDR_FOR_IFADDRBIND], [1], [wildcard socket needs REUSEADDR to bind interface addresses]) esac AC_MSG_CHECKING([if we'll use clock_settime or settimeofday or stime]) ntp_warning='GRONK' ans=none 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!' esac esac AC_MSG_RESULT([$ans]) case "$ntp_warning" in '') ;; *) AC_MSG_WARN([*** $ntp_warning ***]) ;; esac AC_CACHE_CHECK( [for SIGIO], [ntp_cv_hdr_def_sigio], [AC_EGREP_CPP( [yes], [ #include #ifdef SIGIO yes #endif ], [ntp_cv_hdr_def_sigio=yes], [ntp_cv_hdr_def_sigio=no] )] ) dnl Override those system that have a losing SIGIO AC_CACHE_CHECK( [if we want to use signalled IO], [ntp_cv_var_signalled_io], [ ans=no case "$ntp_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 ;; *-*-unicosmp*) ans=no ;; *-*-kfreebsd*) ans=no ;; m68k-*-mint*) ans=no ;; esac ;; esac ntp_cv_var_signalled_io=$ans ] ) case "$ntp_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], [ntp_cv_hdr_def_sigpoll], [AC_EGREP_CPP( [yes], [ #include #ifdef SIGPOLL yes #endif ], [ntp_cv_hdr_def_sigpoll=yes], [ntp_cv_hdr_def_sigpoll=no] )] ) AC_CACHE_CHECK( [for SIGSYS], [ntp_cv_hdr_def_sigsys], [AC_EGREP_CPP( [yes], [ #include #ifdef SIGSYS yes #endif ], [ntp_cv_hdr_def_sigsys=yes], [ntp_cv_hdr_def_sigsys=no] )] ) AC_CACHE_CHECK( [if we can use SIGPOLL for UDP I/O], [ntp_cv_var_use_udp_sigpoll], [ ans=no case "$ntp_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 ;; *-*-aix[[456]]*) ans=no ;; *-*-hpux*) ans=no ;; *-*-*linux*) ans=no ;; *-*-osf*) ans=no ;; *-*-qnx*) ans=no ;; *-*-sunos*) ans=no ;; *-*-solaris*) ans=no ;; *-*-ultrix*) ans=no ;; *-*-unicosmp*) ans=no ;; *-*-kfreebsd*) ans=no ;; *) ans=yes ;; esac ;; esac ntp_cv_var_use_udp_sigpoll=$ans ] ) case "$ntp_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], [ntp_cv_var_use_tty_sigpoll], [ ans=no case "$ntp_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 ;; *-*-aix[[456]]*) ans=no ;; *-*-hpux*) ans=no ;; *-*-*linux*) ans=no ;; *-*-osf*) ans=no ;; *-*-sunos*) ans=no ;; *-*-ultrix*) ans=no ;; *-*-qnx*) ans=no ;; *-*-unicosmp*) ans=no ;; *-*-kfreebsd*) ans=no ;; *) ans=yes ;; esac ;; esac ntp_cv_var_use_tty_sigpoll=$ans ] ) case "$ntp_cv_var_use_tty_sigpoll" in yes) AC_DEFINE([USE_TTY_SIGPOLL], [1], [Can we use SIGPOLL for tty IO?]) esac case "$host" in *-*-aix*) 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], [ntp_cv_var_min_rec_tickadj], [ ans=no case "$host" in *-*-aix*) ans=40 ;; esac ntp_cv_var_min_rec_tickadj=$ans ] ) case "$ntp_cv_var_min_rec_tickadj" in ''|no) ;; *) AC_DEFINE_UNQUOTED([MIN_REC_TICKADJ], [$ntp_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], [ntp_cv_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 ;; *-*-unicosmp*) ans=yes ;; esac ntp_cv_no_parenb_ignpar=$ans ] ) case "$ntp_cv_no_parenb_ignpar" in yes) AC_DEFINE([NO_PARENB_IGNPAR], [1], [Is there a problem using PARENB and IGNPAR?]) esac AC_MSG_CHECKING([if we're including ntpd debugging code]) AC_ARG_ENABLE( [debugging], [AS_HELP_STRING( [--enable-debugging], [+ include ntpd debugging code] )], [ntp_ok=$enableval], [ntp_ok=yes] ) case "$ntp_ok" in yes) AC_DEFINE([DEBUG], [1], [Enable ntpd debugging code?]) esac AC_MSG_RESULT([$ntp_ok]) AC_MSG_CHECKING([if we're including processing time debugging code]) AC_ARG_ENABLE( [debug-timing], [AS_HELP_STRING( [--enable-debug-timing], [- include processing time debugging code (costs performance)] )], [ntp_ok=$enableval], [ntp_ok=no] ) case "$ntp_ok" in yes) AC_DEFINE([DEBUG_TIMING], [1], [Enable processing time debugging?]) esac AC_MSG_RESULT([$ntp_ok]) AC_MSG_CHECKING([for a the number of minutes in a DST adjustment]) AC_ARG_ENABLE( [dst-minutes], [AS_HELP_STRING( [--enable-dst-minutes], [n minutes per DST adjustment @<:@60@:>@]) dnl @<:@ is [, @:>@ is ] ], [ans=$enableval], [ans=60] ) AC_DEFINE_UNQUOTED([DSTMINUTES], [$ans], [The number of minutes in a DST adjustment]) AC_MSG_RESULT([$ans]) AC_MSG_CHECKING([if ntpd will retry permanent DNS failures]) AC_ARG_ENABLE( [ignore-dns-errors], [AS_HELP_STRING( [--enable-ignore-dns-errors], [- retry DNS queries on any error] )], [ans=$enableval], [ans=no] ) case "$ans" in yes) AC_DEFINE([IGNORE_DNS_ERRORS], [1], [Retry queries on _any_ DNS error?]) esac AC_MSG_RESULT([$ans]) AC_MSG_CHECKING([if ntpd will use the deferred DNS lookup path]) AC_ARG_ENABLE( [force-defer-DNS], [AS_HELP_STRING( [--enable-force-defer-DNS], [- force all DNS lookups to take the deferred path] )], [ans=$enableval], [ans=no] ) case "$ans" in yes) AC_DEFINE([FORCE_DEFER_DNS], [1], [Force deferred DNS lookups?]) esac AC_MSG_RESULT([$ans]) case "$ac_cv_header_sys_sio_h" in yes) AC_CACHE_CHECK( [sys/sio.h for TIOCDCDTIMESTAMP], [ntp_cv_hdr_def_tiocdcdtimestamp], [AC_EGREP_CPP( [yes], [ #include #ifdef TIOCDCDTIMESTAMP yes #endif ], [ntp_cv_hdr_def_tiocdcdtimestamp=yes], [ntp_cv_hdr_def_tiocdcdtimestamp=no] )] ) esac AC_CACHE_CHECK( [if we have the tty_clk line discipline/streams module], [ntp_cv_tty_clk], [ case "$ac_cv_header_sys_clkdefs_h$ntp_cv_hdr_def_tiocdcdtimestamp" in *yes*) ntp_cv_tty_clk=yes ;; *) ntp_cv_tty_clk=no ;; esac ] ) case "$ntp_cv_tty_clk" in yes) AC_DEFINE([TTYCLK], [1], [Do we have the tty_clk line discipline/streams module?]) esac AC_MSG_CHECKING([for the ppsclock streams module]) case "$ntp_cv_struct_ppsclockev" in yes) ans=yes AC_DEFINE([PPS], [1], [Do we have the ppsclock streams module?]) ;; *) ans=no esac AC_MSG_RESULT([$ans]) AC_CACHE_CHECK( [for multicast IP support], [ntp_cv_multicast], [ ntp_cv_multicast=no case "$host" in i386-sequent-sysv4) ;; *) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_NETINET_IN_H #include #endif ]], [[ struct ip_mreq ipmr; ipmr.imr_interface.s_addr = 0; ]] )], [ntp_cv_multicast=yes], [] ) esac ] ) case "$ntp_cv_multicast" in yes) AC_DEFINE([MCAST], [1], [Does the target support multicast IP?]) AC_CACHE_CHECK( [arg type needed for setsockopt() IP*_MULTICAST_LOOP], [ntp_cv_typeof_ip_multicast_loop], [ case "$host" in *-*-netbsd*|*-*-*linux*) ntp_cv_typeof_ip_multicast_loop=u_int ;; *) ntp_cv_typeof_ip_multicast_loop=u_char esac ] ) AC_DEFINE_UNQUOTED([TYPEOF_IP_MULTICAST_LOOP], [$ntp_cv_typeof_ip_multicast_loop], [What type to use for setsockopt]) esac AC_CACHE_CHECK( [availability of ntp_{adj,get}time()], [ntp_cv_var_ntp_syscalls], [ ntp_cv_var_ntp_syscalls=no case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime$ac_cv_func___adjtimex" in yesyes*) ntp_cv_var_ntp_syscalls=libc ;; *yes) ntp_cv_var_ntp_syscalls=inline ;; *) AC_EGREP_CPP( [yes], [ #include #if defined(SYS_ntp_gettime) && defined(SYS_ntp_adjtime) yes #endif ], [ntp_cv_var_ntp_syscalls=kernel] ) ;; esac ] ) case "$ntp_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], [ntp_cv_var_sta_fll], [AC_EGREP_CPP( [yes], [ #include #ifdef STA_FLL yes #endif ], [ntp_cv_var_sta_fll=yes], [ntp_cv_var_sta_fll=no] )] ) AC_CACHE_CHECK( [if we have kernel PLL support], [ntp_cv_var_kernel_pll], [dnl ntp_cv_var_ntp_syscalls is {no,libc,kernel} case "$ac_cv_header_sys_timex_h$ntp_cv_struct_ntptimeval$ntp_cv_var_sta_fll$ntp_cv_var_ntp_syscalls" in *no*) ntp_cv_var_kernel_pll=no ;; *) ntp_cv_var_kernel_pll=yes ;; esac ] ) case "$ntp_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], [ntp_cv_size_returned_in_buffer], [ ans=no case "$host" in *-fujitsu-uxp*) ans=yes ;; *-ncr-sysv4*) ans=yes ;; *-univel-sysv*) ans=yes ;; esac ntp_cv_size_returned_in_buffer=$ans ] ) case "$ntp_cv_size_returned_in_buffer" in yes) AC_DEFINE([SIZE_RETURNED_IN_BUFFER], [1], [Does SIOCGIFCONF return size in the buffer?]) esac # Check for ioctls TIOCGPPSEV AC_MSG_CHECKING([for TTY PPS ioctl TIOCGPPSEV]) case "$ac_cv_header_termios_h" in yes) AC_EGREP_CPP( [yes], [ #include #ifdef TIOCGPPSEV yes #endif ], [ntp_ok=yes], [ntp_ok=no] ) ;; *) ntp_ok=no ;; esac case "$ntp_ok" in yes) AC_DEFINE([HAVE_TIOCGPPSEV], [1], [Do we have the TIOCGPPSEV ioctl (Solaris)?]) esac AC_MSG_RESULT([$ntp_ok]) # Check for ioctls TIOCSPPS AC_MSG_CHECKING([for TTY PPS ioctl TIOCSPPS]) case "$ac_cv_header_termios_h" in yes) AC_EGREP_CPP( [yes], [ #include #ifdef TIOCSPPS yes #endif ], [ntp_ok=yes], [ntp_ok=no] ) ;; *) ntp_ok=no ;; esac case "$ntp_ok" in yes) AC_DEFINE([HAVE_TIOCSPPS], [1], [Do we have the TIOCSPPS ioctl (Solaris)?]) esac AC_MSG_RESULT([$ntp_ok]) # Check for ioctls CIOGETEV AC_MSG_CHECKING([for TTY PPS ioctl CIOGETEV]) case "$ac_cv_header_sys_ppsclock_h" in yes) AC_EGREP_CPP( [yes], [ #include #ifdef CIOGETEV yes #endif ], [ntp_ok=yes], [ntp_ok=no] ) ;; *) ntp_ok=no ;; esac case "$ntp_ok" in yes) AC_DEFINE([HAVE_CIOGETEV], [1], [Do we have the CIOGETEV ioctl (SunOS, Linux)?]) esac AC_MSG_RESULT([$ntp_ok]) # ATOM/PPSAPI stuff. ntp_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 struct timespec. # The PPSAPI also needs a timepps header. case "$ac_cv_c_inline$ntp_cv_struct_timespec" in inlineyes) case "$ac_cv_header_timepps_h$ac_cv_header_sys_timepps_h$host_os" in *yes* | *sunos* | *solaris* | *sco* | *netbsd* ) AC_DEFINE(HAVE_PPSAPI, 1, [Do we have the PPS API per the Draft RFC?]) ntp_jupiter_ok=yes ntp_oncore_ok=yes ntp_parse_ok=yes ntp_ripe_ncc_ok=yes ;; esac ;; esac # Check for ioctls TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG AC_CHECK_HEADER([linux/serial.h]) case "$ac_cv_header_sys_ppsclock_h$ac_cv_header_linux_serial_h" in yesyes) AC_MSG_CHECKING([ioctl TIOCGSERIAL, TIOCSSERIAL, ASYNC_PPS_CD_POS, ASYNC_PPS_CD_NEG]) 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] ) AC_MSG_RESULT([$ntp_ok]) ;; *) ntp_ok=no ;; esac case "$ntp_ok" in yes) AC_DEFINE([HAVE_TIO_SERIAL_STUFF], 1, [Do we have the TIO serial stuff?]) esac # 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 case "$ntp_ok" in yes) AC_DEFINE([ONCORE_SHMEM_STATUS], [1], [Do we have support for SHMEM_STATUS?]) esac AC_MSG_RESULT([$ntp_ok]) ntp_refclock=no # HPUX only, and by explicit request AC_MSG_CHECKING([Datum/Bancomm bc635/VME interface]) AC_ARG_ENABLE( [BANCOMM], [AS_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], [AS_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 default inclusion of all suitable non-PARSE clocks]) AC_ARG_ENABLE( [all-clocks], [AS_HELP_STRING( [--enable-all-clocks], [+ include all suitable non-PARSE clocks:] )], [ntp_eac=$enableval], [ntp_eac=yes] ) AC_MSG_RESULT([$ntp_eac]) # HMS: Should we also require ntp_parse_ok? AC_MSG_CHECKING([if we have support for PARSE clocks]) case "$ntp_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$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in *yes*) ntp_canaudio=yes AC_DEFINE([HAVE_AUDIO], [], [Do we have audio support?]) ;; *) ntp_canaudio=no ;; esac AC_MSG_RESULT([$ntp_canaudio]) AC_MSG_CHECKING([if we have support for the SHM refclock interface]) case "$ac_cv_header_sys_ipc_h$ac_cv_header_sys_shm_h" in yesyes) ntp_canshm=yes ;; *) ntp_canshm=no ;; esac AC_MSG_RESULT([$ntp_canshm]) # Test for termios TIOCMBIS modem control (ACTS, Heath, Palisade) AC_CACHE_CHECK( [for termios modem control], [ntp_cv_modem_control], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #ifdef HAVE_UNISTD_H # include #endif #ifdef HAVE_TERMIOS_H # include #endif #ifdef HAVE_SYS_IOCTL_H # include #endif ]], [[ int dtr = TIOCM_DTR; ioctl(1, TIOCMBIS, (char *)&dtr); ]] )], [ntp_cv_modem_control=yes], [ntp_cv_modem_control=no] )] ) case "$ntp_eac::$ntp_cv_modem_control" in yes::yes) ntp_enable_all_modem_control_clocks=yes ;; *) ntp_enable_all_modem_control_clocks=no ;; esac # Requires modem control AC_MSG_CHECKING([ACTS modem service]) AC_ARG_ENABLE( [ACTS], [AS_HELP_STRING( [--enable-ACTS], [s ACTS modem service] )], [ntp_ok=$enableval], [ntp_ok=$ntp_enable_all_modem_control_clocks] ) 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], [AS_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], [AS_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], [AS_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], [AS_HELP_STRING( [--enable-ATOM], [s ATOM PPS interface] )], [ntp_ok=$enableval], [ntp_ok=$ntp_eac] ) case "$ntp_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], [AS_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], [AS_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]) ntp_refclock_chu=$ntp_ok AC_MSG_CHECKING([CHU audio/decoder]) AC_ARG_ENABLE( [AUDIO-CHU], [AS_HELP_STRING( [--enable-AUDIO-CHU], [s CHU audio/decoder] )], [ntp_ok=$enableval], [ case "$ntp_eac$ntp_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$ntp_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], [AS_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], [AS_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], [AS_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], [AS_HELP_STRING( [--enable-HEATH], [s Heath GC-1000 WWV/WWVH receiver] )], [ntp_ok=$enableval], [ntp_ok=$ntp_enable_all_modem_control_clocks] ) 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], [AS_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], [AS_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], [AS_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], [AS_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], [AS_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]) AC_MSG_CHECKING([Rockwell Jupiter GPS receiver]) AC_ARG_ENABLE( [JUPITER], [AS_HELP_STRING( [--enable-JUPITER], [s Rockwell Jupiter GPS receiver] )], [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) case "$ntp_jupiter_ok" in no) 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]) AC_MSG_CHECKING([Leitch CSD 5300 Master Clock System Driver]) AC_ARG_ENABLE( [LEITCH], [AS_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], [AS_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]) dnl Bug 340: longstanding unfixed bugs dnl AC_MSG_CHECKING([EES M201 MSF receiver]) dnl AC_ARG_ENABLE([MSFEES], dnl [AS_HELP_STRING([--enable-MSFEES], [+ EES M201 MSF receiver])], dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) dnl if test "$ntp_ok" = "yes"; then dnl ntp_refclock=yes dnl AC_DEFINE([CLOCK_MSFEES], [1], [EES M201 MSF receiver]) dnl fi dnl AC_MSG_RESULT([$ntp_ok]) # Not Ultrix AC_MSG_CHECKING([Magnavox MX4200 GPS receiver]) AC_ARG_ENABLE( [MX4200], [AS_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], [AS_HELP_STRING( [--enable-NEOCLOCK4X], [+ NeoClock4X DCF77 / TDF receiver] )], [ntp_ok=$enableval], [ntp_ok=$ntp_eac] ) 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], [AS_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], [AS_HELP_STRING( [--enable-ONCORE], [s Motorola VP/UT Oncore GPS receiver] )], [ntp_ok=$enableval], [ntp_ok=$ntp_eac] ) case "$ntp_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]) # Requires modem control AC_MSG_CHECKING([for Palisade clock]) AC_ARG_ENABLE( [PALISADE], [AS_HELP_STRING( [--enable-PALISADE], [s Palisade clock] )], [ntp_ok=$enableval], [ntp_ok=$ntp_enable_all_modem_control_clocks] ) 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], [AS_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], [AS_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]) AC_MSG_CHECKING([RIPENCC specific Trimble driver]) AC_ARG_ENABLE( [RIPENCC], [AS_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 "$ntp_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]) # Danny Meyer says SHM compiles (with a few warnings) under Win32. # For *IX, we need sys/ipc.h and sys/shm.h. AC_MSG_CHECKING([for SHM clock attached thru shared memory]) AC_ARG_ENABLE( [SHM], [AS_HELP_STRING( [--enable-SHM], [s SHM clock attached thru shared memory] )], [ntp_ok=$enableval], [ case "$ntp_eac$ntp_canshm" in *no*) ntp_ok=no ;; *) ntp_ok=yes ;; esac ] ) 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([Spectracom 8170/Netclock/2 WWVB receiver]) AC_ARG_ENABLE( [SPECTRACOM], [AS_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], [AS_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 dnl Bug 342: longstanding unfixed bugs dnl AC_MSG_CHECKING([TRAK 8810 GPS receiver]) dnl AC_ARG_ENABLE([TRAK], dnl [AS_HELP_STRING([--enable-TRAK], [+ TRAK 8810 GPS receiver])], dnl [ntp_ok=$enableval], [ntp_ok=$ntp_eac]) dnl if test "$ntp_ok" = "yes"; then dnl ntp_refclock=yes dnl AC_DEFINE([CLOCK_TRAK], [1], [TRAK 8810 GPS receiver]) dnl fi dnl AC_MSG_RESULT([$ntp_ok]) # Not on a vax-dec-bsd AC_MSG_CHECKING([Kinemetrics/TrueTime receivers]) AC_ARG_ENABLE( [TRUETIME], [AS_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], [AS_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], [AS_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]) AC_MSG_CHECKING([WWV receiver]) AC_ARG_ENABLE( [WWV], [AS_HELP_STRING( [--enable-WWV], [s 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], [AS_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], [AS_HELP_STRING( [--enable-parse-clocks], [- include all suitable PARSE clocks:] )], [ntp_eapc=$enableval], [ case "$ntp_eac" in yes) ntp_eapc=$ntp_canparse ;; *) ntp_eapc=no ;; esac # Delete the next line one of these days 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], [AS_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], [AS_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], [AS_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], [AS_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], [AS_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], [ntp_cv_rawdcf_parity], [ ans=no case "$host" in *-*-*linux*) ans=yes ;; esac ntp_cv_rawdcf_parity=$ans ] ) case "$ntp_cv_rawdcf_parity" in yes) AC_DEFINE([RAWDCF_NO_IGNPAR], [1], [Should we not IGNPAR (Linux)?]) ;; esac esac AC_MSG_CHECKING([RCC 8000 clock]) AC_ARG_ENABLE( [RCC8000], [AS_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], [AS_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], [AS_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], [AS_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], [AS_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 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([VARITEXT clock]) AC_ARG_ENABLE( [VARITEXT], [AS_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 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_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 # HMS: check_y2k trips the 34 year problem now... false && MAKE_CHECK_Y2K=check_y2k esac AC_MSG_RESULT([$ans]) NTP_OPENSSL AC_MSG_CHECKING([if we want to compile with ElectricFence]) AC_ARG_WITH( [electricfence], [AS_HELP_STRING( [--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([MAKE_CHECK_LAYOUT]) AC_MSG_CHECKING([if we want to run check-layout]) case "$cross_compiling$PATH_PERL" in no/*) MAKE_CHECK_LAYOUT=check-layout ans=yes ;; *) ans=no ;; 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*|*-*-netbsd*) 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 "$ntp_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 AC_CHECK_HEADERS([strings.h]) ;; 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_MSG_CHECKING([if we can read kmem]) # the default is to enable it if the system has the capability 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 *-*-domainos) # Won't be found... ans=no ;; *-*-hpux*) #ans=no ;; *-*-irix[[456]]*) ans=no ;; *-*-*linux*) ans=no ;; *-*-winnt3.5) ans=no ;; *-*-unicosmp*) ans=no ;; esac # --enable-kmem / --disable-kmem controls if present AC_ARG_ENABLE( [kmem], [AS_HELP_STRING( [--enable-kmem], [s read /dev/kmem for tick and/or tickadj] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) can_kmem=yes ;; *) can_kmem=no AC_DEFINE([NOKMEM], [1], [Should we NOT read /dev/kmem?]) esac AC_MSG_CHECKING([if adjtime is accurate]) # target-dependent defaults case "$host" in i386-sequent-ptx*) ans=no ;; i386-unknown-osf1*) ans=yes ;; mips-sgi-irix[[456]]*) ans=yes ;; *-fujitsu-uxp*) ans=yes ;; *-ibm-aix[[456]]*) ans=yes ;; *-*-*linux*) ans=yes ;; *-*-solaris2.[[01]]) ans=no ;; *-*-solaris2*) ans=yes ;; *-*-unicosmp*) ans=yes ;; *) ans=no esac # --enable-accurate-adjtime / --disable-accurate-adjtime # override the default AC_ARG_ENABLE( [accurate-adjtime], [AS_HELP_STRING( [--enable-accurate-adjtime], [s the adjtime() call is accurate] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([ADJTIME_IS_ACCURATE], [1], [Is adjtime() accurate?]) adjtime_is_accurate=yes ;; *) adjtime_is_accurate=no ;; esac AC_CACHE_CHECK( [the name of 'tick' in the kernel], [ntp_cv_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[[3456]]*) ans=no ;; *-*-mpeix*) ans=no ;; *-*-ptx*) ans=tick ;; *-*-sco3.2v[[45]]*) ans=no ;; *-*-solaris2*) ans=nsec_per_tick ;; *-*-sysv4*) ans=tick ;; esac ntp_cv_nlist_tick=$ans ] ) case "$ntp_cv_nlist_tick" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED([K_TICK_NAME], ["$ntp_cv_nlist_tick"], [What is the name of TICK in the kernel?]) esac AC_CACHE_CHECK( [for the units of 'tick'], [ntp_cv_tick_nano], [ ans=usec case "$host" in *-*-solaris2*) ans=nsec ;; esac ntp_cv_tick_nano=$ans ] ) case "$ntp_cv_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], [ntp_cv_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 ntp_cv_nlist_tickadj=$ans ] ) case "$ntp_cv_nlist_tickadj" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED([K_TICKADJ_NAME], ["$ntp_cv_nlist_tickadj"], [What is the name of TICKADJ in the kernel?]) esac AC_CACHE_CHECK( [for the units of 'tickadj'], [ntp_cv_tickadj_nano], [ ans=usec case "$host" in *-*-solaris2*) ans=nsec ;; esac ntp_cv_tickadj_nano=$ans ] ) case "$ntp_cv_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], [ntp_cv_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 ntp_cv_nlist_dosynctodr=$ans ] ) case "$ntp_cv_nlist_dosynctodr" in no) ;; *) AC_DEFINE_UNQUOTED([K_DOSYNCTODR_NAME], ["$ntp_cv_nlist_dosynctodr"], [What is (probably) the name of DOSYNCTODR in the kernel?]) ;; esac AC_CACHE_CHECK( [half-heartedly for 'noprintf' in the kernel], [ntp_cv_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 ntp_cv_nlist_noprintf=$ans ] ) case "$ntp_cv_nlist_noprintf" in no) ;; *) AC_DEFINE_UNQUOTED([K_NOPRINTF_NAME], ["$ntp_cv_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_MSG_CHECKING([for a default value for 'tick']) # target-dependent default for tick case "$host" in *-*-pc-cygwin*) AC_MSG_ERROR([tick needs work for cygwin]) ;; *-univel-sysv*) ans=10000 ;; *-*-irix*) ans=10000 ;; *-*-*linux*) ans=txc.tick ;; *-*-mpeix*) ans=no ;; *-*-winnt3.5) ans='(every / 10)' ;; *-*-unicosmp*) ans=10000 ;; *) ans='1000000L/hz' ;; esac AC_ARG_ENABLE( [tick], [AS_HELP_STRING( [--enable-tick=VALUE], [s force a value for 'tick'] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED([PRESET_TICK], [$ans], [Preset a value for 'tick'?]) esac AC_MSG_CHECKING([for a default value for 'tickadj']) # target-specific default ans='500/hz' case "$host" in *-fujitsu-uxp*) case "$adjtime_is_accurate" in yes) ans='tick/16' esac ;; *-univel-sysv*) ans=80 ;; *-*-aix*) case "$can_kmem" in no) ans=1000 esac ;; *-*-domainos) # Skippy: won't be found... case "$can_kmem" in no) ans=668 esac ;; *-*-hpux*) case "$adjtime_is_accurate" in yes) ans='tick/16' esac ;; *-*-irix*) ans=150 ;; *-*-mpeix*) ans=no ;; *-*-sco3.2v5.0*) ans=10000L/hz ;; *-*-winnt3.5) ans=50 ;; *-*-unicosmp*) ans=150 esac AC_ARG_ENABLE( [tickadj], [AS_HELP_STRING( [--enable-tickadj=VALUE], [s force a value for 'tickadj'] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) default_tickadj=$ans case "$default_tickadj" in ''|no) ;; # HMS: I think we can only get 'no' here... *) AC_DEFINE_UNQUOTED([PRESET_TICKADJ], [$default_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 ntp_cv_make_tickadj=yes case "$can_kmem$ac_cv_var_tick$default_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.]) ntp_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.]) ntp_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.]) ntp_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 "$ntp_cv_struct_ntptimeval$ntp_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 ntp_cv_make_tickadj=no ;; *-*-irix*) ntp_cv_make_tickadj=no ;; *-*-solaris2*) # DLM says tickadj is a no-no starting with solaris2.5 case "$host" in *-*-solaris2.1[[0-9]]*) ntp_cv_make_tickadj=no ;; *-*-solaris2.[[0-4]]*) ;; *) ntp_cv_make_tickadj=no ;; esac ;; *-*-unicosmp*) ntp_cv_make_tickadj=no ;; esac # # Despite all the above, we always make tickadj. Setting # ntp_cv_make_tickadj before AC_CACHE_CHECK will cause a false # report that the configuration variable was cached. It may # be better to simply remove the hunk above, I did not want # to remove it if there is hope it will be used again. # AS_UNSET([ntp_cv_make_tickadj]) AC_CACHE_CHECK( [if we want and can make the tickadj utility], [ntp_cv_make_tickadj], [ntp_cv_make_tickadj=yes] ) case "$ntp_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], [ntp_cv_make_timetrim], [ case "$host" in *-*-irix*) ntp_cv_make_timetrim=yes ;; *-*-unicosmp*) ntp_cv_make_timetrim=yes ;; *) ntp_cv_make_timetrim=no ;; esac ] ) case "$ntp_cv_make_timetrim" in yes) MAKE_TIMETRIM=timetrim esac AC_SUBST([MAKE_LIBNTPSIM]) AC_SUBST([MAKE_NTPDSIM]) AC_MSG_CHECKING([if we want to build the NTPD simulator]) AC_ARG_ENABLE( [simulator], [AS_HELP_STRING( [--enable-simulator], [- build/install the NTPD simulator?] )], [ans=$enableval], [ans=no] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) MAKE_NTPDSIM=ntpdsim MAKE_LIBNTPSIM=libntpsim.a esac case "$build" in $host) ;; *) case "$host" in *-*-vxworks*) LDFLAGS="$LDFLAGS -r" ;; esac ;; esac AC_MSG_CHECKING([if we want to build ntpsnmpd]) AC_ARG_WITH( [ntpsnmpd], [AS_HELP_STRING( [--with-ntpsnmpd], [s Build ntpsnmpd MIB agent?] )], [ans=$withval], [ case "$PATH_NET_SNMP_CONFIG" in /*) ans=yes ;; *) ans=no ;; esac ] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) case "$PATH_NET_SNMP_CONFIG" in /*) SNMP_LIBS=`$PATH_NET_SNMP_CONFIG --agent-libs` AC_SUBST([SNMP_LIBS]) # HMS: we really want to separate CPPFLAGS and CFLAGS foo=`$PATH_NET_SNMP_CONFIG --cflags` SNMP_CPPFLAGS= SNMP_CFLAGS= for i in $foo; do case "$i" in -D*|-U*|-I*) SNMP_CPPFLAGS="$SNMP_CPPFLAGS $i" ;; *) SNMP_CFLAGS="$SNMP_CFLAGS $i" ;; esac done AC_SUBST([SNMP_CPPFLAGS]) AC_SUBST([SNMP_CFLAGS]) save_CFLAGS=$CFLAGS save_CPPFLAGS=$CPPFLAGS save_LIBS=$LIBS CFLAGS=$SNMP_CFLAGS CPPFLAGS=$SNMP_CPPFLAGS AC_CHECK_HEADER( [net-snmp/net-snmp-config.h], [MAKE_NTPSNMPD=ntpsnmpd], [AC_MSG_WARN([net-snmp-config present but net-snmp headers are not available!])] ) # Do this last, as we're messing up LIBS. # check -lnetsnmp for netsnmp_daemonize LIBS=`$PATH_NET_SNMP_CONFIG --libs` AC_CHECK_LIB( [netsnmp], [netsnmp_daemonize], [ans=yes], [ans=no] ) case "$ans" in no) AC_DEFINE([NEED_NETSNMP_DAEMONIZE], [1], [We need to provide netsnmp_daemonize()]) esac CFLAGS=$save_CFLAGS CPPFLAGS=$save_CPPFLAGS LIBS=$save_LIBS ;; *) AC_MSG_WARN([Cannot build ntpsnmpd - net-snmp-config cannot be found]) ;; esac ;; esac AC_SUBST([MAKE_NTPSNMPD]) AC_MSG_CHECKING([if we should always slew the time]) # target-specific defaults 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 # --enable-slew-always / --disable-slew-always overrides default AC_ARG_ENABLE( [slew-always], [AS_HELP_STRING( [--enable-slew-always], [s always slew the time] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([SLEWALWAYS], [1], [Slew always?]) esac AC_MSG_CHECKING([if we should step and slew the time]) case "$host" in *-sni-sysv*) ans=yes ;; *-univel-sysv*) ans=no ;; *-*-ptx*) ans=yes ;; *-*-solaris2.1[[0-9]]*) ans=no ;; *-*-solaris2.[[012]]*) ans=yes ;; *-*-sysv4*) # HMS: Does this catch Fujitsu UXP? ans=yes ;; *) ans=no ;; esac AC_ARG_ENABLE( [step-slew], [AS_HELP_STRING( [--enable-step-slew], [s step and slew the time] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([STEP_SLEW], [1], [Step, then slew the clock?]) esac AC_MSG_CHECKING([if ntpdate should step the time]) case "$host" in *-apple-aux[[23]]*) ans=yes ;; *) ans=no esac AC_ARG_ENABLE( [ntpdate-step], [AS_HELP_STRING( [--enable-ntpdate-step], [s if ntpdate should step the time] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([FORCE_NTPDATE_STEP], [1], [force ntpdate to step the clock if !defined(STEP_SLEW) ?]) esac AC_MSG_CHECKING([if we should sync TODR clock every hour]) case "$host" in *-*-nextstep*) ans=yes ;; *-*-openvms*) # HMS: won't be found ans=yes ;; *) ans=no esac AC_ARG_ENABLE( [hourly-todr-sync], [AS_HELP_STRING( [--enable-hourly-todr-sync], [s if we should sync TODR hourly] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ac_cv_var_sync_todr" in yes) AC_DEFINE([DOSYNCTODR], [1], [synch TODR hourly?]) ;; esac AC_MSG_CHECKING([if we should avoid kernel FLL bug]) 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_ARG_ENABLE( [kernel-fll-bug], [AS_HELP_STRING( [--enable-kernel-fll-bug], [s if we should avoid a kernel FLL bug] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([KERNEL_FLL_BUG], [1], [Does the kernel have an FLL bug?]) esac AC_MSG_CHECKING([if we want new session key behavior]) AC_ARG_ENABLE( [bug1243-fix], [AS_HELP_STRING( [--enable-bug1243-fix], [+ use unmodified autokey session keys] )], [ans=$enableval], [ans=yes] ) AC_MSG_RESULT([$ans]) case "$ans" in no) AC_DEFINE([DISABLE_BUG1243_FIX], [1], [use old autokey session key behavior?]) esac AC_MSG_CHECKING([if we should use the IRIG sawtooth filter]) case "$host" in *-*-solaris2.[[89]]) ans=yes ;; *-*-solaris2.1[[0-9]]*) ans=yes ;; *) ans=no esac AC_ARG_ENABLE( [irig-sawtooth], [AS_HELP_STRING( [--enable-irig-sawtooth], [s if we should enable the IRIG sawtooth filter] )], [ans=$enableval] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([IRIG_SUCKS], [1], [Should we use the IRIG sawtooth filter?]) esac AC_MSG_CHECKING([if we should enable NIST lockclock scheme]) AC_ARG_ENABLE( [nist], [AS_HELP_STRING( [--enable-nist], [- if we should enable the NIST lockclock scheme] )], [ans=$enableval], [ans=no] ) AC_MSG_RESULT([$ans]) case "$ans" in yes) AC_DEFINE([LOCKCLOCK], [1], [Should we align with the NIST lockclock scheme?]) ;; esac AC_MSG_CHECKING([if we want support for Samba's signing daemon]) AC_ARG_ENABLE( [ntp-signd], [AS_HELP_STRING( [--enable-ntp-signd], [- Provide support for Samba's signing daemon, =/var/run/ntp_signd] )], [ans=$enableval], [ans=no] ) AC_MSG_RESULT([$ans]) case "$ans" in no) ntp_signd_path= ;; yes) ntp_signd_path=/var/run/ntp_signd ;; *) ntp_signd_path="$ans" esac case "$ntp_signd_path" in '') ;; *) AC_DEFINE([HAVE_NTP_SIGND], [1], [Do we want support for Samba's signing daemon?]) AC_DEFINE_UNQUOTED([NTP_SIGND_PATH], ["$ntp_signd_path"], [Path to sign daemon rendezvous socket]) esac AC_CHECK_HEADERS([sys/clockctl.h]) case "$host" in *-*-netbsd*) ans=yes ;; *) ans=no ;; esac AC_ARG_ENABLE( [clockctl], [AS_HELP_STRING( [--enable-clockctl], [s Use /dev/clockctl for non-root clock control] )], [ntp_use_dev_clockctl=$enableval], [ntp_use_dev_clockctl=$ac_cv_header_sys_clockctl_h] ) AC_MSG_CHECKING([[if we should use /dev/clockctl]]) AC_MSG_RESULT([$ntp_use_dev_clockctl]) AC_CHECK_HEADERS([sys/capability.h sys/prctl.h]) AC_MSG_CHECKING([if we have linux capabilities (libcap)]) case "$ac_cv_header_sys_capability_h$ac_cv_header_sys_prctl_h" in yesyes) case "$host" in mips-sgi-irix*) ntp_have_linuxcaps=no ;; *) ntp_have_linuxcaps=yes ;; esac ;; *) ntp_have_linuxcaps=no ;; esac AC_ARG_ENABLE( [linuxcaps], [AS_HELP_STRING( [--enable-linuxcaps], [+ Use Linux capabilities for non-root clock control] )], [ntp_have_linuxcaps=$enableval] ) AC_MSG_RESULT([$ntp_have_linuxcaps]) case "$ntp_have_linuxcaps" in yes) AC_DEFINE([HAVE_LINUX_CAPABILITIES], [1], [Do we have Linux capabilities?]) LIBS="$LIBS -lcap" esac case "$ntp_use_dev_clockctl$ntp_have_linuxcaps" in *yes*) AC_DEFINE([HAVE_DROPROOT], [1], [Can we drop root privileges?]) esac AC_CHECK_HEADERS([libscf.h]) LSCF= case "$ac_cv_header_libscf_h" in yes) LSCF='-lscf' esac AC_SUBST([LSCF]) AC_CHECK_FUNC( [setppriv], [ans=yes], [ans=no] ) case "$ans" in yes) AC_DEFINE([HAVE_SOLARIS_PRIVS], [1], [Are Solaris privileges available?]) esac AC_CACHE_CHECK( [struct sockaddr for sa_len], [isc_cv_platform_havesalen], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[ extern struct sockaddr *ps; return ps->sa_len; ]] )], [isc_cv_platform_havesalen=yes], [isc_cv_platform_havesalen=no] )] ) case "$isc_cv_platform_havesalen" in yes) AC_DEFINE([ISC_PLATFORM_HAVESALEN], [1], [struct sockaddr has sa_len?]) esac AC_ARG_ENABLE( [ipv6], [AS_HELP_STRING( [--enable-ipv6], [s use IPv6?] )] ) case "$enable_ipv6" in yes|''|autodetect) case "$host" in powerpc-ibm-aix4*) ;; *) AC_DEFINE([WANT_IPV6], [1], [configure --enable-ipv6]) ;; esac ;; no) ;; esac dnl [Bug 1984] ntp/libisc fails to compile on OS X 10.7 (Lion) case "$host" in *-*-darwin*) AC_DEFINE([__APPLE_USE_RFC_3542], [1], [Are we _special_?]) esac AC_CACHE_CHECK( [for IPv6 structures], [isc_cv_found_ipv6], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include ]], [[ struct sockaddr_in6 sin6; ]] )], [isc_cv_found_ipv6=yes], [isc_cv_found_ipv6=no] )] ) # # See whether IPv6 support is provided via a Kame add-on. # This is done before other IPv6 linking tests so LIBS is properly set. # AC_MSG_CHECKING([for Kame IPv6 support]) AC_ARG_WITH( [kame], [AS_HELP_STRING( [--with-kame], [- =/usr/local/v6] )], [use_kame="$withval"], [use_kame="no"] ) case "$use_kame" in no) ;; yes) kame_path=/usr/local/v6 ;; *) kame_path="$use_kame" ;; esac case "$use_kame" in no) AC_MSG_RESULT([no]) ;; *) if test -f $kame_path/lib/libinet6.a; then AC_MSG_RESULT([$kame_path/lib/libinet6.a]) LIBS="-L$kame_path/lib -linet6 $LIBS" else AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. Please choose the proper path with the following command: configure --with-kame=PATH ]) fi ;; esac # # Whether netinet6/in6.h is needed has to be defined in isc/platform.h. # Including it on Kame-using platforms is very bad, though, because # Kame uses #error against direct inclusion. So include it on only # the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1. # This is done before the in6_pktinfo check because that's what # netinet6/in6.h is needed for. # case "$host" in *-bsdi4.[[01]]*) AC_DEFINE([ISC_PLATFORM_NEEDNETINET6IN6H], [1], [Do we need netinet6/in6.h?]) isc_netinet6in6_hack="#include " ;; *) isc_netinet6in6_hack="" ;; esac # # This is similar to the netinet6/in6.h issue. # case "$host" in *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*) AC_DEFINE([ISC_PLATFORM_FIXIN6ISADDR], [1], [Do we need to fix in6isaddr?]) isc_netinetin6_hack="#include " ;; *) isc_netinetin6_hack="" ;; esac case "$isc_cv_found_ipv6" in yes) AC_DEFINE([ISC_PLATFORM_HAVEIPV6], [1], [have IPv6?]) AC_CACHE_CHECK( [for in6_pktinfo], [isc_cv_have_in6_pktinfo], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include $isc_netinetin6_hack $isc_netinet6in6_hack ]], [[ struct in6_pktinfo xyzzy; ]] )], [isc_cv_have_in6_pktinfo=yes], [isc_cv_have_in6_pktinfo=no] )] ) case "$isc_cv_have_in6_pktinfo" in yes) AC_DEFINE([ISC_PLATFORM_HAVEIN6PKTINFO], [1], [have struct in6_pktinfo?]) esac # HMS: Use HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead? AC_CACHE_CHECK( [for sockaddr_in6.sin6_scope_id], [isc_cv_have_sin6_scope_id], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include $isc_netinetin6_hack $isc_netinet6in6_hack ]], [[ struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; ]] )], [isc_cv_have_sin6_scope_id=yes], [isc_cv_have_sin6_scope_id=no] )] ) case "$isc_cv_have_sin6_scope_id" in yes) AC_DEFINE([ISC_PLATFORM_HAVESCOPEID], [1], [sin6_scope_id?]) esac esac # We need this check run even without isc_cv_found_ipv6=yes AC_CACHE_CHECK( [for in6addr_any], [isc_cv_have_in6addr_any], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #include $isc_netinetin6_hack $isc_netinet6in6_hack ]], [[ struct in6_addr in6; in6 = in6addr_any; ]] )], [isc_cv_have_in6addr_any=yes], [isc_cv_have_in6addr_any=no] )] ) case "$isc_cv_have_in6addr_any" in no) AC_DEFINE([ISC_PLATFORM_NEEDIN6ADDRANY], [1], [missing in6addr_any?]) esac AC_CACHE_CHECK( [for struct if_laddrconf], [isc_cv_struct_if_laddrconf], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[ struct if_laddrconf a; ]] )], [isc_cv_struct_if_laddrconf=yes], [isc_cv_struct_if_laddrconf=no] )] ) case "$isc_cv_struct_if_laddrconf" in yes) AC_DEFINE([ISC_PLATFORM_HAVEIF_LADDRCONF], [1], [have struct if_laddrconf?]) esac AC_CACHE_CHECK( [for struct if_laddrreq], isc_cv_struct_if_laddrreq, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[ struct if_laddrreq a; ]] )], [isc_cv_struct_if_laddrreq=yes], [isc_cv_struct_if_laddrreq=no] )] ) case "$isc_cv_struct_if_laddrreq" in yes) AC_DEFINE([ISC_PLATFORM_HAVEIF_LADDRREQ], [1], [have struct if_laddrreq?]) esac # # Look for a sysctl call to get the list of network interfaces. # AC_CACHE_CHECK( [for interface list sysctl], [ntp_cv_iflist_sysctl], [AC_EGREP_CPP( [found_rt_iflist], [ #include #include #include #ifdef NET_RT_IFLIST found_rt_iflist #endif ], [ntp_cv_iflist_sysctl=yes], [ntp_cv_iflist_sysctl=no] )] ) case "$ntp_cv_iflist_sysctl" in yes) AC_DEFINE([HAVE_IFLIST_SYSCTL], [1], [have iflist_sysctl?]) esac ### AC_MSG_CHECKING([if we want the saveconfig mechanism]) AC_ARG_ENABLE( [saveconfig], [AS_HELP_STRING( [--enable-saveconfig], [+ saveconfig mechanism] )], [ntp_ok=$enableval], [ntp_ok=yes] ) ntp_saveconfig_enabled=0 if test "$ntp_ok" = "yes"; then ntp_saveconfig_enabled=1 AC_DEFINE([SAVECONFIG], [1], [saveconfig mechanism]) fi AM_CONDITIONAL([SAVECONFIG_ENABLED], [test x$ntp_saveconfig_enabled = x1]) AC_MSG_RESULT([$ntp_ok]) ### AC_DEFINE_DIR([NTP_KEYSDIR], [sysconfdir], [Default location of crypto key info]) 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([include/isc/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([ntpd/Makefile]) AC_CONFIG_FILES([ntpdate/Makefile]) AC_CONFIG_FILES([ntpdc/Makefile]) AC_CONFIG_FILES([ntpdc/nl.pl], [chmod +x ntpdc/nl.pl]) AC_CONFIG_FILES([ntpq/Makefile]) AC_CONFIG_FILES([ntpsnmpd/Makefile]) AC_CONFIG_FILES([parseutil/Makefile]) AC_CONFIG_FILES([scripts/Makefile]) AC_CONFIG_FILES([scripts/calc_tickadj], [chmod +x scripts/calc_tickadj]) AC_CONFIG_FILES([scripts/checktime], [chmod +x scripts/checktime]) AC_CONFIG_FILES([scripts/freq_adj], [chmod +x scripts/freq_adj]) AC_CONFIG_FILES([scripts/html2man], [chmod +x scripts/html2man]) AC_CONFIG_FILES([scripts/mkver], [chmod +x scripts/mkver]) AC_CONFIG_FILES([scripts/ntp-wait], [chmod +x scripts/ntp-wait]) AC_CONFIG_FILES([scripts/ntpsweep], [chmod +x scripts/ntpsweep]) AC_CONFIG_FILES([scripts/ntptrace], [chmod +x scripts/ntptrace]) AC_CONFIG_FILES([scripts/ntpver], [chmod +x scripts/ntpver]) AC_CONFIG_FILES([scripts/plot_summary], [chmod +x scripts/plot_summary]) AC_CONFIG_FILES([scripts/summary], [chmod +x scripts/summary]) AC_CONFIG_FILES([util/Makefile]) AC_CONFIG_SUBDIRS([sntp]) AC_OUTPUT