[PATCH] lib: add library version check macro

2013-11-07 Thread David Bremner
Jani Nikula  writes:

> There have been some plans for making build incompatible changes to
> the library API. This is inconvenient, but it is much more so without
> a way to easily conditional build against multiple versions of
> notmuch.

pushed, so now the commit message might even be true ;).

d


[PATCH] lib: add library version check macro

2013-11-07 Thread Tomi Ollila
On Wed, Nov 06 2013, Jani Nikula  wrote:

> There have been some plans for making build incompatible changes to
> the library API. This is inconvenient, but it is much more so without
> a way to easily conditional build against multiple versions of
> notmuch.
>
> The macro has been lifted from glib.

+1

Tomi


> ---
>  lib/notmuch.h | 24 
>  1 file changed, 24 insertions(+)
>
> diff --git a/lib/notmuch.h b/lib/notmuch.h
> index 9dab555..d109a2c 100644
> --- a/lib/notmuch.h
> +++ b/lib/notmuch.h
> @@ -41,6 +41,30 @@ NOTMUCH_BEGIN_DECLS
>  #define TRUE 1
>  #endif
>  
> +#define NOTMUCH_MAJOR_VERSION0
> +#define NOTMUCH_MINOR_VERSION17
> +#define NOTMUCH_MICRO_VERSION0
> +
> +/*
> + * Check the version of the notmuch library being compiled against.
> + *
> + * Return true if the library being compiled against is of the
> + * specified version or above. For example:
> + *
> + * #if NOTMUCH_CHECK_VERSION(0, 18, 0)
> + * (code requiring notmuch 0.18 or above)
> + * #endif
> + *
> + * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you
> + * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions
> + * prior to that.
> + */
> +#define NOTMUCH_CHECK_VERSION (major, minor, micro)  \
> +(NOTMUCH_MAJOR_VERSION > (major) ||  
> \
> + (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION > (minor)) 
> || \
> + (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION == (minor) 
> && \
> +  NOTMUCH_MICRO_VERSION >= (micro)))
> +
>  typedef int notmuch_bool_t;
>  
>  /* Status codes used for the return values of most functions.
> -- 
> 1.8.4.rc3
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] lib: add library version check macro

2013-11-07 Thread Tomi Ollila
On Wed, Nov 06 2013, Jani Nikula j...@nikula.org wrote:

 There have been some plans for making build incompatible changes to
 the library API. This is inconvenient, but it is much more so without
 a way to easily conditional build against multiple versions of
 notmuch.

 The macro has been lifted from glib.

+1

Tomi


 ---
  lib/notmuch.h | 24 
  1 file changed, 24 insertions(+)

 diff --git a/lib/notmuch.h b/lib/notmuch.h
 index 9dab555..d109a2c 100644
 --- a/lib/notmuch.h
 +++ b/lib/notmuch.h
 @@ -41,6 +41,30 @@ NOTMUCH_BEGIN_DECLS
  #define TRUE 1
  #endif
  
 +#define NOTMUCH_MAJOR_VERSION0
 +#define NOTMUCH_MINOR_VERSION17
 +#define NOTMUCH_MICRO_VERSION0
 +
 +/*
 + * Check the version of the notmuch library being compiled against.
 + *
 + * Return true if the library being compiled against is of the
 + * specified version or above. For example:
 + *
 + * #if NOTMUCH_CHECK_VERSION(0, 18, 0)
 + * (code requiring notmuch 0.18 or above)
 + * #endif
 + *
 + * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you
 + * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions
 + * prior to that.
 + */
 +#define NOTMUCH_CHECK_VERSION (major, minor, micro)  \
 +(NOTMUCH_MAJOR_VERSION  (major) ||  
 \
 + (NOTMUCH_MAJOR_VERSION == (major)  NOTMUCH_MINOR_VERSION  (minor)) 
 || \
 + (NOTMUCH_MAJOR_VERSION == (major)  NOTMUCH_MINOR_VERSION == (minor) 
  \
 +  NOTMUCH_MICRO_VERSION = (micro)))
 +
  typedef int notmuch_bool_t;
  
  /* Status codes used for the return values of most functions.
 -- 
 1.8.4.rc3

 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] lib: add library version check macro

2013-11-07 Thread David Bremner
Jani Nikula j...@nikula.org writes:

 There have been some plans for making build incompatible changes to
 the library API. This is inconvenient, but it is much more so without
 a way to easily conditional build against multiple versions of
 notmuch.

pushed, so now the commit message might even be true ;).

d
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] lib: add library version check macro

2013-11-06 Thread Jani Nikula
There have been some plans for making build incompatible changes to
the library API. This is inconvenient, but it is much more so without
a way to easily conditional build against multiple versions of
notmuch.

The macro has been lifted from glib.
---
 lib/notmuch.h | 24 
 1 file changed, 24 insertions(+)

diff --git a/lib/notmuch.h b/lib/notmuch.h
index 9dab555..d109a2c 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -41,6 +41,30 @@ NOTMUCH_BEGIN_DECLS
 #define TRUE 1
 #endif

+#define NOTMUCH_MAJOR_VERSION  0
+#define NOTMUCH_MINOR_VERSION  17
+#define NOTMUCH_MICRO_VERSION  0
+
+/*
+ * Check the version of the notmuch library being compiled against.
+ *
+ * Return true if the library being compiled against is of the
+ * specified version or above. For example:
+ *
+ * #if NOTMUCH_CHECK_VERSION(0, 18, 0)
+ * (code requiring notmuch 0.18 or above)
+ * #endif
+ *
+ * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you
+ * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions
+ * prior to that.
+ */
+#define NOTMUCH_CHECK_VERSION (major, minor, micro)\
+(NOTMUCH_MAJOR_VERSION > (major) ||
\
+ (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION > (minor)) || \
+ (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION == (minor) && \
+  NOTMUCH_MICRO_VERSION >= (micro)))
+
 typedef int notmuch_bool_t;

 /* Status codes used for the return values of most functions.
-- 
1.8.4.rc3



[PATCH] lib: add library version check macro

2013-11-06 Thread David Bremner
Jani Nikula  writes:

> There have been some plans for making build incompatible changes to
> the library API. This is inconvenient, but it is much more so without
> a way to easily conditional build against multiple versions of
> notmuch.
>
> The macro has been lifted from glib.

This seems fine to me. I even thought about the licensing for these 3
lines of code ;).

d


[PATCH] lib: add library version check macro

2013-11-06 Thread Jani Nikula
There have been some plans for making build incompatible changes to
the library API. This is inconvenient, but it is much more so without
a way to easily conditional build against multiple versions of
notmuch.

The macro has been lifted from glib.
---
 lib/notmuch.h | 24 
 1 file changed, 24 insertions(+)

diff --git a/lib/notmuch.h b/lib/notmuch.h
index 9dab555..d109a2c 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -41,6 +41,30 @@ NOTMUCH_BEGIN_DECLS
 #define TRUE 1
 #endif
 
+#define NOTMUCH_MAJOR_VERSION  0
+#define NOTMUCH_MINOR_VERSION  17
+#define NOTMUCH_MICRO_VERSION  0
+
+/*
+ * Check the version of the notmuch library being compiled against.
+ *
+ * Return true if the library being compiled against is of the
+ * specified version or above. For example:
+ *
+ * #if NOTMUCH_CHECK_VERSION(0, 18, 0)
+ * (code requiring notmuch 0.18 or above)
+ * #endif
+ *
+ * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you
+ * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions
+ * prior to that.
+ */
+#define NOTMUCH_CHECK_VERSION (major, minor, micro)\
+(NOTMUCH_MAJOR_VERSION  (major) ||
\
+ (NOTMUCH_MAJOR_VERSION == (major)  NOTMUCH_MINOR_VERSION  (minor)) || \
+ (NOTMUCH_MAJOR_VERSION == (major)  NOTMUCH_MINOR_VERSION == (minor)  \
+  NOTMUCH_MICRO_VERSION = (micro)))
+
 typedef int notmuch_bool_t;
 
 /* Status codes used for the return values of most functions.
-- 
1.8.4.rc3

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] lib: add library version check macro

2013-11-06 Thread David Bremner
Jani Nikula j...@nikula.org writes:

 There have been some plans for making build incompatible changes to
 the library API. This is inconvenient, but it is much more so without
 a way to easily conditional build against multiple versions of
 notmuch.

 The macro has been lifted from glib.

This seems fine to me. I even thought about the licensing for these 3
lines of code ;).

d
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch