summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorThomas Monjalon <thomas.monjalon@6wind.com>2013-04-16 11:44:12 +0200
committerThomas Monjalon <thomas.monjalon@6wind.com>2014-01-15 18:11:18 +0100
commitbf77e5a9db32007e93f98a018b22ee409f6fd2c4 (patch)
tree08f845adfc16d76906e9c90b1cf6145d0806525b /lib
parent61d6f9657a73793eedefb594cf151adf77276e1b (diff)
downloaddpdk-bf77e5a9db32007e93f98a018b22ee409f6fd2c4.zip
dpdk-bf77e5a9db32007e93f98a018b22ee409f6fd2c4.tar.gz
dpdk-bf77e5a9db32007e93f98a018b22ee409f6fd2c4.tar.xz
version: add 4th digit and helper macros
Applications can test versions, for compatibility, this way: #if RTE_VERSION >= RTE_VERSION_NUM(1,2,3,4) RTE_VERSION was already defined for use with rte_config. It is moved in rte_version.h and updated to current version number. Note that the first tag having this helper is 1.2.3r2. Releases r0 have not this patch. Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/librte_eal/common/include/rte_eal.h1
-rw-r--r--lib/librte_eal/common/include/rte_version.h27
2 files changed, 24 insertions, 4 deletions
diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h
index 31826cf..f3bbada 100644
--- a/lib/librte_eal/common/include/rte_eal.h
+++ b/lib/librte_eal/common/include/rte_eal.h
@@ -46,7 +46,6 @@
extern "C" {
#endif
-#define RTE_VERSION 1 /**< The version of the RTE configuration structure. */
#define RTE_MAGIC 19820526 /**< Magic number written by the main partition when ready. */
/**
diff --git a/lib/librte_eal/common/include/rte_version.h b/lib/librte_eal/common/include/rte_version.h
index 79b905c..a4e5d1e 100644
--- a/lib/librte_eal/common/include/rte_version.h
+++ b/lib/librte_eal/common/include/rte_version.h
@@ -67,13 +67,32 @@ extern "C" {
#define RTE_VER_PATCH_LEVEL 2
/**
+ * Patch release number i.e. the w in x.y.zrw
+ */
+#define RTE_VER_PATCH_RELEASE 0
+
+/**
+ * Macro to compute a version number usable for comparisons
+ */
+#define RTE_VERSION_NUM(a,b,c,d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
+
+/**
+ * All version numbers in one to compare with RTE_VERSION_NUM()
+ */
+#define RTE_VERSION RTE_VERSION_NUM( \
+ RTE_VER_MAJOR, \
+ RTE_VER_MINOR, \
+ RTE_VER_PATCH_LEVEL, \
+ RTE_VER_PATCH_RELEASE)
+
+/**
* Extra string to be appended to version number,
* for example: pre1, EAR, final etc.
*/
#define RTE_VER_SUFFIX ""
/**
- * Function returning string of version number: "RTE x.y.z"
+ * Function returning string of version number: "RTE x.y.zrw"
* @return
* string
*/
@@ -83,13 +102,15 @@ rte_version(void) {
return RTE_VER_PREFIX" "
RTE_STR(RTE_VER_MAJOR)"."
RTE_STR(RTE_VER_MINOR)"."
- RTE_STR(RTE_VER_PATCH_LEVEL)
+ RTE_STR(RTE_VER_PATCH_LEVEL)"r"
+ RTE_STR(RTE_VER_PATCH_RELEASE)
"-"RTE_VER_SUFFIX;
else
return RTE_VER_PREFIX" "
RTE_STR(RTE_VER_MAJOR)"."
RTE_STR(RTE_VER_MINOR)"."
- RTE_STR(RTE_VER_PATCH_LEVEL);
+ RTE_STR(RTE_VER_PATCH_LEVEL)"r"
+ RTE_STR(RTE_VER_PATCH_RELEASE);
}
#ifdef __cplusplus