]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Resync with gnulib.
authorEric Blake <ebb9@byu.net>
Mon, 21 Jul 2008 21:38:40 +0000 (15:38 -0600)
committerEric Blake <ebb9@byu.net>
Mon, 21 Jul 2008 21:38:40 +0000 (15:38 -0600)
* 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>
ChangeLog
GNUmakefile

index 47c73b7f2b1cf8a13f4631dee2df76558f969dca..a45513f32a47be59bdbe64f1b6741e922df32da8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 31bd873fadeca303c97f6b3aba39e9ed0eabc500..0f1bba9324bf94734b7c96406744c9ae9cbcc2fc 100644 (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 \