unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH v4 1/3] build: write version.stamp file containing $(VERSION) string
@ 2014-03-19 20:37 Tomi Ollila
  2014-03-19 20:37 ` Tomi Ollila
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Tomi Ollila @ 2014-03-19 20:37 UTC (permalink / raw)
  To: notmuch; +Cc: tomi.ollila

This version file will be as prerequisite to the target files
that use the version info for some purpose, like printing
it for the user to examine. The contents of the version.stamp
file is seldom read by the build system itself as the $(VERSION)
variable has the same information.

Thanks to Trevor, David and Mark for their contributions.
---
This patch (0001) and (0003) are the same as in thread starting
id:"1393189308-20241-2-git-send-email-tomi.ollila@iki.fi"

(0002) replaces setting version during byte compilation to
use notmuch-version.el (so .el -installation also have the
version info)


 .gitignore     |  1 +
 Makefile.local | 14 +++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index ef4f074..1fb3a71 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 .first-build-message
 Makefile.config
+version.stamp
 TAGS
 tags
 *cscope*
diff --git a/Makefile.local b/Makefile.local
index cb7b106..9ad554d 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -22,6 +22,11 @@ VERSION:=$(shell cat ${srcdir}/version)
 ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
 ifeq ($(IS_GIT),yes)
 VERSION:=$(shell git describe --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
+# Write the file 'version.stamp' in case its contents differ from $(VERSION)
+FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs)
+ifneq ($(FILE_VERSION),$(VERSION))
+       $(shell echo "$(VERSION)" > version.stamp)
+endif
 endif
 endif
 
@@ -69,6 +74,11 @@ ifeq ($(shell cat .first-build-message 2>/dev/null),)
 endif
 endif
 
+# Depend (also) on the file 'version'. In case of ifeq ($(IS_GIT),yes)
+# this file may already have been updated.
+version.stamp: version
+	echo $(VERSION) > $@
+
 $(TAR_FILE):
 	if git tag -v $(VERSION) >/dev/null 2>&1; then \
            ref=$(VERSION); \
@@ -280,6 +290,8 @@ notmuch_client_srcs =		\
 
 notmuch_client_modules = $(notmuch_client_srcs:.c=.o)
 
+notmuch.o: version.stamp
+
 notmuch: $(notmuch_client_modules) lib/libnotmuch.a util/libutil.a parse-time-string/libparse-time-string.a
 	$(call quiet,CXX $(CFLAGS)) $^ $(FINAL_LIBNOTMUCH_LDFLAGS) -o $@
 
@@ -318,7 +330,7 @@ install-desktop:
 	desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" notmuch.desktop
 
 SRCS  := $(SRCS) $(notmuch_client_srcs)
-CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc
+CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) version.stamp
 
 DISTCLEAN := $(DISTCLEAN) .first-build-message Makefile.config
 
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-04-11  2:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-19 20:37 [PATCH v4 1/3] build: write version.stamp file containing $(VERSION) string Tomi Ollila
2014-03-19 20:37 ` Tomi Ollila
2014-03-19 20:37 ` [PATCH v4 2/3] emacs: add notmuch-version.el.tmpl and create notmuch-version.el from it Tomi Ollila
2014-04-06 18:42   ` David Bremner
2014-04-07  9:22     ` Tomi Ollila
2014-04-07 10:15       ` David Bremner
2014-03-19 20:37 ` [PATCH v4 3/3] emacs: defun notmuch-hello-versions and bind 'v' in hello mode to it Tomi Ollila
2014-04-07 18:05 ` [PATCH v4 2/3] emacs: add notmuch-version.el.tmpl and create notmuch-version.el from it Tomi Ollila
2014-04-11  2:49   ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).