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 <ebb9@byu.net>
This commit is contained in:
Eric Blake 2008-07-21 15:38:40 -06:00
parent 36d8106f6d
commit 46a7a43068
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2008-07-21 Eric Blake <ebb9@byu.net>
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 <ebb9@byu.net>
Support multiple arguments to m4_defn, m4_popdef, and m4_undefine.

View File

@ -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 \