From: Joel E. Denny <jdenny@ces.clemson.edu>
Date: Thu, 7 Aug 2008 22:37:07 +0000 (-0400)
Subject: Keep .version and PACKAGE_VERSION in sync.
X-Git-Tag: v2.4~27
X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/8dce3875bc0d1ba8d2c3b2702810e5fc7e78a29c?ds=inline

Keep .version and PACKAGE_VERSION in sync.

* Makefile.am ($(top_srcdir)/.version): Declare configure as a
dependency, and add comments justifying this in more detail.  Discussed
starting at
<http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
---

diff --git a/ChangeLog b/ChangeLog
index 5af268ee..dd85885f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+	Keep .version and PACKAGE_VERSION in sync.
+	* Makefile.am ($(top_srcdir)/.version): Declare configure as a
+	dependency, and add comments justifying this in more detail.  Discussed
+	starting at
+	<http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
+
 2008-08-06  Eric Blake  <ebb9@byu.net>
 
 	Partial m4sugar merge from autoconf: m4_shiftn.
diff --git a/Makefile.am b/Makefile.am
index 7113484e..28d59f43 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -43,9 +43,17 @@ maintainer-push-check:
 maintainer-xml-check:
 	cd tests && $(MAKE) $(AM_MAKEFLAGS) $@
 
-# See comments in build-aux/git-version-gen.
+# See comments in build-aux/git-version-gen.  However, we make .version depend
+# on configure so that .version and VERSION/PACKAGE_VERSION stay in sync in the
+# working copy (for example, when you run autoreconf && make).  Allowing these
+# to fall out of sync appears to have little potential to improve Bison build
+# efficiency (even if we were to replace VERSION/PACKAGE_VERSION with .version
+# everywhere possible).  On the other hand, it could be harmful.  For example,
+# a developer might naively reference .version in a test case while the bison
+# executable still compiles with VERSION, and so the test case might fail or
+# pass incorrectly.
 BUILT_SOURCES = $(top_srcdir)/.version
-$(top_srcdir)/.version:
+$(top_srcdir)/.version: configure
 	echo $(VERSION) > $@-t && mv $@-t $@
 dist-hook:
 	echo $(VERSION) > $(distdir)/.tarball-version