diff options
Diffstat (limited to 'include/nm-version.h.in')
-rw-r--r-- | include/nm-version.h.in | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/include/nm-version.h.in b/include/nm-version.h.in index ee2e1080e0..711bfa9f01 100644 --- a/include/nm-version.h.in +++ b/include/nm-version.h.in @@ -59,5 +59,60 @@ (NM_MAJOR_VERSION == (major) && NM_MINOR_VERSION > (minor)) || \ (NM_MAJOR_VERSION == (major) && NM_MINOR_VERSION == (minor) && NM_MICRO_VERSION >= (micro))) + +/* Deprecation / Availability macros */ + +#define NM_ENCODE_VERSION(major,minor,micro) ((major) << 16 | (minor) << 8 | (micro)) + +#define NM_VERSION_0_9_8 (NM_ENCODE_VERSION (0, 9, 8)) +#define NM_VERSION_0_9_10 (NM_ENCODE_VERSION (0, 9, 10)) + +#if (NM_MICRO_VERSION % 2) +#define NM_VERSION_CUR_STABLE (NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION - 1)) +#else +#define NM_VERSION_CUR_STABLE (NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION)) +#endif + +#if (NM_MICRO_VERSION % 2) +#define NM_VERSION_NEXT_STABLE (NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION +1)) +#else +#define NM_VERSION_NEXT_STABLE (NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION + 2)) +#endif + +#if !defined (NM_VERSION_MIN_REQUIRED) || (NM_VERSION_MIN_REQUIRED == 0) +# undef NM_VERSION_MIN_REQUIRED +# define NM_VERSION_MIN_REQUIRED (NM_VERSION_CUR_STABLE) +#endif + +#if !defined (NM_VERSION_MAX_ALLOWED) || (NM_VERSION_MAX_ALLOWED == 0) +# undef NM_VERSION_MAX_ALLOWED +# define NM_VERSION_MAX_ALLOWED (NM_VERSION_CUR_STABLE) +#endif + +/* sanity checks */ +#if NM_VERSION_MIN_REQUIRED > NM_VERSION_NEXT_STABLE +#error "NM_VERSION_MIN_REQUIRED must be <= NM_VERSION_NEXT_STABLE" +#endif +#if NM_VERSION_MAX_ALLOWED < NM_VERSION_MIN_REQUIRED +#error "NM_VERSION_MAX_ALLOWED must be >= NM_VERSION_MIN_REQUIRED" +#endif +#if NM_VERSION_MIN_REQUIRED < NM_VERSION_0_9_8 +#error "NM_VERSION_MIN_REQUIRED must be >= NM_VERSION_0_9_8" +#endif + +#if NM_VERSION_MIN_REQUIRED >= NM_VERSION_0_9_10 +# define NM_DEPRECATED_IN_0_9_10 G_DEPRECATED +# define NM_DEPRECATED_IN_0_9_10_FOR(f) G_DEPRECATED_FOR(f) +#else +# define NM_DEPRECATED_IN_0_9_10 +# define NM_DEPRECATED_IN_0_9_10_FOR(f) +#endif + +#if NM_VERSION_MAX_ALLOWED < NM_VERSION_0_9_10 +# define NM_AVAILABLE_IN_0_9_10 G_UNAVAILABLE(0.9,10) +#else +# define NM_AVAILABLE_IN_0_9_10 +#endif + #endif /* NM_VERSION_H */ |