On Sun, 27 Jul 2008, Joel E. Denny wrote: > Maybe the top-level Makefile.am should declare .version to depend on > configure so they don't get out of sync.
I'm considering pushing the following patch to Bison. I'll wait a little for comments because this area seems a little controversial. By the way, I can't seem to find any documentation that explains the difference between VERSION and PACKAGE_VERSION. Sorry if I've missed it. Is VERSION just the old name for PACKAGE_VERSION? >From d7106a1232c8fe829326b77ec7e74c27cf4ed472 Mon Sep 17 00:00:00 2001 From: Joel E. Denny <[EMAIL PROTECTED]> Date: Sat, 2 Aug 2008 02:52:22 -0400 Subject: [PATCH] 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/Makefile.am b/Makefile.am index 7113484..4aa284b 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). 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) > [EMAIL PROTECTED] && mv [EMAIL PROTECTED] $@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -- 1.5.4.3