[PATCH 1/3] lib: Make VERSION macros agree with soname version
Jani Nikula
jani at nikula.org
Wed Dec 4 10:36:33 PST 2013
On Wed, 04 Dec 2013, Austin Clements <amdragon at MIT.EDU> wrote:
> 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.
The patches look good to me. Thanks for spotting and fixing this in the
nick of time before releasing.
BR,
Jani.
>
> (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