+* Add NTP_CACHEVERSION mechanism to ignore incompatible config.cache
+* Enable gcc -Wstrict-overflow for gsoc_sntp as well
* [Bug 1090] Fix bogus leap seconds in refclock_hpgps.
(4.2.5p168) 2009/04/29 Released by Harlan Stenn <stenn@ntp.org>
* Include (4.2.4p7-RC4)
dnl -*-fundamental-*-
dnl Process this file with autoconf to produce a configure script.
m4_include([version.m4])
-AC_INIT(ntp, VERSION_NUMBER)
+AC_INIT([ntp], [VERSION_NUMBER])
+
+# Increment ntp_configure_cache_version by one for each change to
+# configure.ac or .m4 files which invalidates cached values from
+# previous versions.
+
+# It is not necessary to bump the version in more than one
+# configure.ac at the same time, as the cache is shared.
+# Previously used values should never be used again.
+
+ntp_configure_cache_version=0
+
+# 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_HOST
dnl the 'build' machine is where we run configure and compile
]
)
CFLAGS="$SAVED_CFLAGS_AC"
- unset SAVED_CFLAGS_AC
+ $as_unset SAVED_CFLAGS_AC
#
# $ac_cv_gcc_Wstrict_overflow is tested later to add the
# flag to CFLAGS.
]
)
CFLAGS="$SAVED_CFLAGS_AC"
- unset SAVED_CFLAGS_AC
+ $as_unset SAVED_CFLAGS_AC
#
# $ac_cv_gcc_Winit_self is tested later to add the
# flag to CFLAGS.
# be better to simply remove the hunk above, I did not want
# to remove it if there is hope it will be used again.
#
-unset ac_cv_make_tickadj
+$as_unset ac_cv_make_tickadj
AC_CACHE_CHECK([if we want and can make the tickadj utility], ac_cv_make_tickadj,
ac_cv_make_tickadj=yes)
# default is no, unless --enable-ntp-signd was given
ans=$wintime_default
-unset wintime_default
+$as_unset wintime_default
AC_ARG_ENABLE(
[wintime],
# Makefile.am for JMK's SNTP, by Harlan Stenn
AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS= -I libopts/m4
+ACLOCAL_AMFLAGS= -I ../m4 -I libopts/m4
AM_CPPFLAGS= $(LIBOPTS_CFLAGS) -I$(top_srcdir)/../include
LDADD= $(LIBOPTS_LDADD) -lm ../libntp/libntp.a
# Process this file with autoconf to produce a configure script.
m4_include([../version.m4])
AC_INIT([sntp], [VERSION_NUMBER])
+
+# Increment sntp_configure_cache_version by one for each change to
+# configure.ac or .m4 files which invalidates cached values from
+# previous versions.
+
+# It is not necessary to bump the version in more than one
+# configure.ac at the same time, as the cache is shared.
+# Previously used values should never be used again.
+
+sntp_configure_cache_version=0
+
+# When the version of config.cache and configure do not
+# match, NTP_CACHEVERSION will flush the cache.
+
+NTP_CACHEVERSION([sntp], [$sntp_configure_cache_version])
+
AM_INIT_AUTOMAKE
AC_CANONICAL_HOST
dnl the 'build' machine is where we run configure and compile
# CFLAGS="$CFLAGS -Wwrite-strings"
case "$ac_cv_gcc_Wstrict_overflow" in
yes)
- #not yet#CFLAGS="$CFLAGS -Wstrict-overflow"
+ CFLAGS="$CFLAGS -Wstrict-overflow"
esac
esac
#include <math.h>
+#include <ntp_fp.h>
#include <ntp_types.h>
#ifdef OPENSSL
#include <ntp_crypto.h>
--- /dev/null
+# NTP_CACHEVERSION(component, version)
+# ------------------------------------
+# compare this configure script's cache version stamp with the stamp
+# saved by the prior run in config.cache. If they differ, clear all
+# cache variables to avoid using results cached with a script that
+# is known to differ in a cache-invalidating manner.
+#
+# Note: use immediately following AC_INIT in configure.ac, as clearing
+# all _cv_ variables only makes sense immediately after loading, before
+# use or modification.
+#
+# It is assumed that parent configure.ac files which use
+# AC_CONFIG_SUBDIR to invoke child configure.ac files have used
+# NTP_CACHEVERSION if any children do. The top-level configure script
+# will clear a previous cache lacking any saved cache version number,
+# while children do not. The reason is the children can rely on the
+# parent having cleared any cache variables predating this mechanism.
+# Therefore the child can rely on the config.cache generated by the
+# parent on the first run despite not finding its version stamp
+# previously saved.
+
+AC_DEFUN_ONCE([NTP_CACHEVERSION], [
+ AC_BEFORE([$0], [AM_INIT_AUTOMAKE])dnl
+ AC_BEFORE([$0], [AM_CONFIG_HEADER])dnl
+ AC_BEFORE([$0], [AC_PROG_CC])dnl
+
+ ntp_cache_flush=1
+ case "$ntp_cv_[$1]_cache_version" in
+ [$2])
+ # same version, good
+ ntp_cache_flush=0
+ ;;
+ '')
+ # No cache, predates ntp_cv_$1_cache_version, or is empty.
+ case "$cache_file" in
+ ../*)
+ # Parent configure will have cleared cache once already.
+ # This will misfire if a top-level configure is invoked
+ # with --config-cache= value beginning with '../', is
+ # there a better way to detect this configure was
+ # invoked by a parent directory configure?
+ ntp_cache_flush=0
+ ;;
+ /dev/null)
+ ntp_cache_flush=0
+ esac
+ ;;
+ *)
+ # configure cache version mismatches config.cache version
+ esac
+ case "$ntp_cache_flush" in
+ 1)
+ # Clear all *_cv_* variables except our various components'
+ # ntp_cv_*_cache_version vars.
+
+ c_varname_list=`set |
+ sed 's/=.*$//' |
+ grep -F _cv_ |
+ grep -v 'ntp_cv_.*_cache_version'
+ `
+ for c_varname in $c_varname_list
+ do
+ dnl use AS_UNSET([$c_varname]) eventually
+ eval ${c_varname}=;
+ $as_unset $c_varname
+ done
+
+ dnl use AS_UNSET([c_varname_list c_varname]) eventually
+ c_varname_list=; $as_unset c_varname_list c_varname
+
+ AC_MSG_NOTICE([$cache_file saved by another version, ignored.])
+ AC_MSG_NOTICE([configure script cache version: [$2]])
+ c_version="${ntp_cv_[$1]_cache_version:-(no version found)}"
+ AC_MSG_NOTICE([$cache_file version: $c_version])
+ $as_unset c_version
+ esac
+
+ # save configure version in config.cache for next time
+ ntp_cv_[$1]_cache_version="[$2]"
+
+ $as_unset ntp_cache_flush
+])dnl
struct refclock_atom *ap /* atom structure pointer */
)
{
- if (!ap->handle) {
+ if (ap->handle == 0) {
if (time_pps_create(fddev, &ap->handle) < 0) {
msyslog(LOG_ERR,
"refclock_ppsapi: time_pps_create: %m");
* most recent PPS timestamp.
*/
pp = peer->procptr;
- if (!ap->handle)
+ if (ap->handle == 0)
return (0);
if (ap->pps_params.mode == 0 && sys_leap != LEAP_NOTINSYNC) {
# N.M. Maclaren, October 2000.
AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS= -I libopts/m4
+ACLOCAL_AMFLAGS= -I ../m4 -I libopts/m4
AM_CPPFLAGS= $(LIBOPTS_CFLAGS)
LDADD= $(LIBOPTS_LDADD)
# Process this file with autoconf to produce a configure script.
-AC_INIT(main.c)
+AC_INIT([msntp])
+
+# Increment msntp_configure_version by one for each
+# change to configure.ac or .m4 files which invalidates
+# cached values from previous versions.
+
+# It is not necessary to bump the version in more than one
+# configure.ac at the same time, as the cache is shared.
+# Previously used values should never be used again.
+
+msntp_configure_cache_version=0
+
+# When the version of config.cache and configure do not
+# match, NTP_CACHEVERSION will flush the cache.
+
+NTP_CACHEVERSION([msntp], [$msntp_configure_cache_version])
+
AM_INIT_AUTOMAKE([msntp],[1.6])
AC_CONFIG_SRCDIR([header.h])
AC_CANONICAL_HOST