summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-04-02 11:55:09 -0700
committerCarl Worth <cworth@cworth.org>2010-04-02 11:55:09 -0700
commitb2a9fcd5cfd1bf84321b8bf53b37e7fb98618d6e (patch)
treef1df126e2e7283bcb28647be0cfaa26c48129f28
parent9d9aeb7c71a52b67519f567c34acc3cf3bec6fd2 (diff)
notmuch: Add a version (0.1 initially) with a new --version option.
We're planning to do actual releases soon, so we need a version number to put into the tar file.
-rw-r--r--Makefile.local14
-rw-r--r--notmuch-client.h3
-rw-r--r--notmuch.c6
3 files changed, 22 insertions, 1 deletions
diff --git a/Makefile.local b/Makefile.local
index c7f4719..e9f86e0 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,3 +1,15 @@
+# Here's the (hopefully simple) versioning scheme.
+#
+# Releases of notmuch have a two-digit version (0.1, 0.2, etc.). We
+# increment the second digit for each release and increment the first
+# digit when we reach particularly major milestones of usability.
+#
+# Between releases, (such as when compiling notmuch from the git
+# repository), we add a third digit, (0.1.1, 0.1.2, etc.), and
+# increment it occasionally, (such as after a big batch of commits are
+# merged.
+NOTMUCH_VERSION=0.1
+
# Get settings from the output of configure by running it to generate
# Makefile.config if it doesn't exist yet. And add Makefile.config to
# our global dependency list.
@@ -18,7 +30,7 @@ extra_cflags :=
extra_cxxflags :=
# Smash together user's values with our extra values
-FINAL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(CONFIGURE_CFLAGS) $(extra_cflags)
+FINAL_CFLAGS = -DNOTMUCH_VERSION=$(NOTMUCH_VERSION) $(CFLAGS) $(WARN_CFLAGS) $(CONFIGURE_CFLAGS) $(extra_cflags)
FINAL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(CONFIGURE_CXXFLAGS) $(extra_cflags) $(extra_cxxflags)
FINAL_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS)
diff --git a/notmuch-client.h b/notmuch-client.h
index c80b39c..08d0a15 100644
--- a/notmuch-client.h
+++ b/notmuch-client.h
@@ -51,6 +51,9 @@
#define unused(x) x __attribute__ ((unused))
+#define STRINGIFY(s) STRINGIFY_(s)
+#define STRINGIFY_(s) #s
+
/* There's no point in continuing when we've detected that we've done
* something wrong internally (as opposed to the user passing in a
* bogus value).
diff --git a/notmuch.c b/notmuch.c
index 3b743a9..e519f98 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -309,6 +309,7 @@ usage (FILE *out)
fprintf (out,
"Usage: notmuch --help\n"
+ " notmuch --version\n"
" notmuch <command> [args...]\n");
fprintf (out, "\n");
fprintf (out, "Where <command> and [args...] are as follows:\n");
@@ -462,6 +463,11 @@ main (int argc, char *argv[])
if (STRNCMP_LITERAL (argv[1], "--help") == 0)
return notmuch_help_command (NULL, 0, NULL);
+ if (STRNCMP_LITERAL (argv[1], "--version") == 0) {
+ printf ("notmuch version " STRINGIFY(NOTMUCH_VERSION) "\n");
+ return 0;
+ }
+
for (i = 0; i < ARRAY_SIZE (commands); i++) {
command = &commands[i];