[PATCH 1/3] lib: Make VERSION macros agree with soname version

Austin Clements amdragon at MIT.EDU
Wed Dec 4 08:19:44 PST 2013


We have two distinct "library version" numbers: the soname version and
the version macros.  We need both for different reasons: the version
macros enable easy compile-time version detection (and conditional
compilation), while the soname version enables runtime version
detection (which includes the version checking done by things like the
Python bindings).

However, currently, these two version numbers are different, which is
unnecessary and can lead to confusion (especially in things like
Debian, which include the soname version in the package name).  This
patch makes them the same by bumping the version macros up to agree
with the soname version.

(We should probably keep the version number in just one place so they
can't get out of sync, but that can be done in another patch.)
---
 lib/Makefile.local | 3 +++
 lib/notmuch.h      | 8 ++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/Makefile.local b/lib/Makefile.local
index 155ac02..cd2c60d 100644
--- a/lib/Makefile.local
+++ b/lib/Makefile.local
@@ -18,6 +18,9 @@ LIBNOTMUCH_VERSION_MINOR = 0
 # simply compatible changes to the implementation).
 LIBNOTMUCH_VERSION_RELEASE = 0
 
+# Note: Don't forget to change the VERSION macros in notmuch.h when
+# any of the above change.
+
 ifeq ($(PLATFORM),MACOSX)
 LIBRARY_SUFFIX = dylib
 # On OS X, library version numbers go before suffix.
diff --git a/lib/notmuch.h b/lib/notmuch.h
index 7c3a30c..42188a8 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -41,8 +41,12 @@ NOTMUCH_BEGIN_DECLS
 #define TRUE 1
 #endif
 
-#define NOTMUCH_MAJOR_VERSION	0
-#define NOTMUCH_MINOR_VERSION	17
+/*
+ * The library version number.  This must agree with the soname
+ * version in Makefile.local.
+ */
+#define NOTMUCH_MAJOR_VERSION	3
+#define NOTMUCH_MINOR_VERSION	0
 #define NOTMUCH_MICRO_VERSION	0
 
 /*
-- 
1.8.4.rc3



More information about the notmuch mailing list