From d8967fb1c34964dd1205214e38ce0739d328ded4 Mon Sep 17 00:00:00 2001 From: Konstantin Ananyev Date: Fri, 9 Feb 2018 13:12:27 +0000 Subject: tldk: introduce versioning, follow DPDK notation Change-Id: I9d83b254fa66ff72dd2faddf366f35ecda13a6ea Signed-off-by: Konstantin Ananyev --- lib/libtle_misc/Makefile | 1 + lib/libtle_misc/tle_version.h | 86 +++++++++++++++++++++++++++++++++++++++++++ test/gtest/main.cpp | 4 ++ 3 files changed, 91 insertions(+) create mode 100644 lib/libtle_misc/tle_version.h diff --git a/lib/libtle_misc/Makefile b/lib/libtle_misc/Makefile index 287d533..9fc26f9 100644 --- a/lib/libtle_misc/Makefile +++ b/lib/libtle_misc/Makefile @@ -31,5 +31,6 @@ EXPORT_MAP := tle_misc_version.map LIBABIVER := 1 SYMLINK-y-include += tle_dpdk_wrapper.h +SYMLINK-y-include += tle_version.h include $(TLDK_ROOT)/mk/tle.lib.mk diff --git a/lib/libtle_misc/tle_version.h b/lib/libtle_misc/tle_version.h new file mode 100644 index 0000000..f2ef714 --- /dev/null +++ b/lib/libtle_misc/tle_version.h @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2018 Intel Corporation. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Definitions of TLDK version numbers + * Follows DPDK version convention. + */ + +#ifndef _TLE_VERSION_H_ +#define _TLE_VERSION_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/** + * Major version/year number i.e. the yy in yy.mm.z + */ +#define TLE_VER_YEAR 18 + +/** + * Minor version/month number i.e. the mm in yy.mm.z + */ +#define TLE_VER_MONTH 2 + +/** + * Patch level number i.e. the z in yy.mm.z + */ +#define TLE_VER_MINOR 0 + +/** + * Patch release number + * 0-15 = release candidates + * 16 = release + */ +#define TLE_VER_RELEASE 16 + +/** + * Macro to compute a version number usable for comparisons + */ +#define TLE_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 TLE_VERSION TLE_VERSION_NUM( \ + TLE_VER_YEAR, \ + TLE_VER_MONTH, \ + TLE_VER_MINOR, \ + TLE_VER_RELEASE) + +static const char * const tle_version = "TLDK " +#if (TLE_VER_YEAR < 10) + "0" +#endif + RTE_STR(TLE_VER_YEAR) "." +#if (TLE_VER_MONTH < 10) + "0" +#endif + RTE_STR(TLE_VER_MONTH) "." + RTE_STR(TLE_VER_MINOR) +#if (TLE_VER_RELEASE < 16) + "rc-" RTE_STR(TLE_VER_RELEASE) +#endif + ""; + +#ifdef __cplusplus +} +#endif + +#endif /* _TLE_VERSION_H_ */ diff --git a/test/gtest/main.cpp b/test/gtest/main.cpp index 53dcf78..862e847 100644 --- a/test/gtest/main.cpp +++ b/test/gtest/main.cpp @@ -25,6 +25,8 @@ #include #include +#include + #include "test_common.h" struct rte_mempool *mbuf_pool; @@ -46,6 +48,8 @@ main(int argc, char *argv[]) argc -= ret; argv += ret; + printf("%s UT\n", tle_version); + /* get the path of binary and save in a global variable to be used later*/ realpath(argv[0], binpath); slash = NULL; -- cgit 1.2.3-korg