[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