--- /dev/null
+Return-Path: <too@guru-group.fi>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 5ED43431FC0\r
+ for <notmuch@notmuchmail.org>; Fri, 21 Feb 2014 15:20:51 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id rALMZVP26hcD for <notmuch@notmuchmail.org>;\r
+ Fri, 21 Feb 2014 15:20:46 -0800 (PST)\r
+Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
+ by olra.theworths.org (Postfix) with ESMTP id 98EAC431FB6\r
+ for <notmuch@notmuchmail.org>; Fri, 21 Feb 2014 15:20:46 -0800 (PST)\r
+Received: by guru.guru-group.fi (Postfix, from userid 501)\r
+ id 093FA100063; Sat, 22 Feb 2014 01:20:39 +0200 (EET)\r
+From: Tomi Ollila <tomi.ollila@iki.fi>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 1/3] build: write version.stamp file containing $(VERSION)\r
+ string\r
+Date: Sat, 22 Feb 2014 01:20:35 +0200\r
+Message-Id: <1393024837-30394-1-git-send-email-tomi.ollila@iki.fi>\r
+X-Mailer: git-send-email 1.8.0\r
+Cc: tomi.ollila@iki.fi\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 21 Feb 2014 23:20:51 -0000\r
+\r
+This version file will be as prerequisite to the target files\r
+that use the version info for some purpose, like printing\r
+it for the user to examine. The contents of the version.stamp\r
+file is seldom read by the build system itself as the $(VERSION)\r
+variable has the same information.\r
+\r
+Thanks to Trevor, David and Mark for their contributions.\r
+---\r
+\r
+This is version 6 of\r
+\r
+ id:1391956711-21231-1-git-send-email-tomi.ollila@iki.fi\r
+\r
+ The only change is $(VERSTAMP) -> version.stamp -- $(VERSTAMP) does not\r
+ get expanded for prerequisities if those are not already defined,\r
+ and as emacs/Makefile.local is included before Makefile.local $(VERSTAMP)\r
+ is useless in emacs/... (expands to nothing). And my original idea for\r
+ $(VERSTAMP) was for typo-checking -- I just did not realize that make does\r
+ not tell me that the variable is undefined so the typo-check I thought of\r
+ just did't happen.\r
+\r
+\r
+And the following 2 patches version 2 of\r
+\r
+ id:1390135903-28167-1-git-send-email-tomi.ollila@iki.fi\r
+\r
+ Now utilizes version.stamp to know when notmuch.el is to be\r
+ re-bytecompiled.\r
+\r
+ Makefile.local | 14 +++++++++++++-\r
+ 1 file changed, 13 insertions(+), 1 deletion(-)\r
+\r
+diff --git a/Makefile.local b/Makefile.local\r
+index 174506c..3a56c06 100644\r
+--- a/Makefile.local\r
++++ b/Makefile.local\r
+@@ -22,6 +22,11 @@ VERSION:=$(shell cat ${srcdir}/version)\r
+ ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)\r
+ ifeq ($(IS_GIT),yes)\r
+ VERSION:=$(shell git describe --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)\r
++# Write the file 'version.stamp' in case its contents differ from $(VERSION)\r
++FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs)\r
++ifneq ($(FILE_VERSION),$(VERSION))\r
++ $(shell echo "$(VERSION)" > version.stamp)\r
++endif\r
+ endif\r
+ endif\r
+ \r
+@@ -69,6 +74,11 @@ ifeq ($(shell cat .first-build-message 2>/dev/null),)\r
+ endif\r
+ endif\r
+ \r
++# Depend (also) on the file 'version'. In case of ifeq ($(IS_GIT),yes)\r
++# this file may already have been updated.\r
++version.stamp: version\r
++ echo $(VERSION) > $@\r
++\r
+ $(TAR_FILE):\r
+ if git tag -v $(VERSION) >/dev/null 2>&1; then \\r
+ ref=$(VERSION); \\r
+@@ -280,6 +290,8 @@ notmuch_client_srcs = \\r
+ \r
+ notmuch_client_modules = $(notmuch_client_srcs:.c=.o)\r
+ \r
++notmuch.o: version.stamp\r
++\r
+ notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libutil.a parse-time-string/libparse-time-string.a\r
+ $(call quiet,CXX $(CFLAGS)) $^ $(FINAL_LIBNOTMUCH_LDFLAGS) -o $@\r
+ \r
+@@ -318,7 +330,7 @@ install-desktop:\r
+ desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" notmuch.desktop\r
+ \r
+ SRCS := $(SRCS) $(notmuch_client_srcs)\r
+-CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc\r
++CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) version.stamp\r
+ \r
+ DISTCLEAN := $(DISTCLEAN) .first-build-message Makefile.config\r
+ \r
+-- \r
+1.8.0\r
+\r