summaryrefslogtreecommitdiff
path: root/include/nm-version.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'include/nm-version.h.in')
-rw-r--r--include/nm-version.h.in55
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 */