From 46a7a4306842f7f23942f36fd595cc7505957cc0 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 21 Jul 2008 15:38:40 -0600 Subject: [PATCH] Resync with gnulib. * GNUmakefile: Grab from upstream, to fix issue where 'make install' would allow installation of stale version string. Signed-off-by: Eric Blake --- ChangeLog | 6 ++++++ GNUmakefile | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 47c73b7f..a45513f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-07-21 Eric Blake + + Resync with gnulib. + * GNUmakefile: Grab from upstream, to fix issue where 'make + install' would allow installation of stale version string. + 2008-07-19 Eric Blake Support multiple arguments to m4_defn, m4_popdef, and m4_undefine. diff --git a/GNUmakefile b/GNUmakefile index 31bd873f..0f1bba93 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -55,12 +55,22 @@ _have-git-version-gen := \ ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) _is-dist-target = $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS))) - ifneq (,$(_is-dist-target)) + _is-install-target = $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) + ifneq (,$(_is-dist-target)$(_is-install-target)) _curr-ver := $(shell cd $(srcdir) \ && $(_build-aux)/git-version-gen .tarball-version) ifneq ($(_curr-ver),$(VERSION)) ifeq ($(_curr-ver),UNKNOWN) $(info WARNING: unable to verify if $(VERSION) is correct version) + else ifneq (,$(_is-install-target)) + # GNU Coding Standards state that 'make install' should not cause + # recompilation after 'make all'. But as long as changing the version + # string alters config.h, the cost of having 'make all' always have an + # up-to-date version is prohibitive. So, as a compromise, we merely + # refuse to install if the version string is out of date; the user + # must run 'autoreconf' (or something like 'make distcheck') to + # fix the version, 'make all' to propagate it, then 'make install'. + $(error version string $(VERSION) is out of date; run autoreconf before installing) else $(info INFO: running autoreconf for new version string: $(_curr-ver)) _dummy := $(shell cd $(srcdir) && rm -rf autom4te.cache .version \