Applications can test versions, for compatibility, this way:
        #if RTE_VERSION >= RTE_VERSION_NUM(1,2,3,4)
Previous versions can be tested with:
        #ifndef RTE_VERSION_NUM

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 will be 1.2.3r2.

Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
---
 lib/librte_eal/common/include/rte_eal.h     |    1 -
 lib/librte_eal/common/include/rte_version.h |   17 +++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_eal.h 
b/lib/librte_eal/common/include/rte_eal.h
index 58fa1cc..9aa5de8 100644
--- a/lib/librte_eal/common/include/rte_eal.h
+++ b/lib/librte_eal/common/include/rte_eal.h
@@ -50,7 +50,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 b29c1d3..0ef475f 100644
--- a/lib/librte_eal/common/include/rte_version.h
+++ b/lib/librte_eal/common/include/rte_version.h
@@ -63,10 +63,22 @@ extern "C" {
  */
 #define RTE_VER_PATCH_LEVEL 3

+/**
+ * Patch release number i.e. the w in x.y.zrw
+ */
+#define RTE_VER_PATCH_RELEASE 2
+
+#define RTE_VERSION_NUM(a,b,c,d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
+#define RTE_VERSION RTE_VERSION_NUM( \
+                       RTE_VER_MAJOR, \
+                       RTE_VER_MINOR, \
+                       RTE_VER_PATCH_LEVEL, \
+                       RTE_VER_PATCH_RELEASE)
+
 #define RTE_VER_PREFIX "RTE"

 /**
- * Function returning string of version number: "RTE x.y.z"
+ * Function returning string of version number: "RTE x.y.zrw"
  * @return
  *     string
  */
@@ -75,7 +87,8 @@ 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);
 }

 #ifdef __cplusplus
-- 
1.7.10.4

Reply via email to