From 6f3fb8a547f5700416744a7dc82b3cb83177c7a8 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Tue, 7 Nov 2017 16:43:11 +1100 Subject: cpukit: Add a Version API. Provide functions to get the version string, major, minor and revision numbers and the version control identifer that is a unique tag for the version control system. Update #3199. --- cpukit/sapi/src/version.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 cpukit/sapi/src/version.c (limited to 'cpukit/sapi/src') diff --git a/cpukit/sapi/src/version.c b/cpukit/sapi/src/version.c new file mode 100644 index 0000000000..d240b1b0df --- /dev/null +++ b/cpukit/sapi/src/version.c @@ -0,0 +1,63 @@ +/** + * @file + * + * @brief Creates the version strings from the various pieces of version + * information. The main version number is part of the build system and is + * stamped into rtems/score/cpuopts.h. The version control key string is + * extracted from the version control tool when the code is being built and is + * updated if it has changed. The key may indicate there are local + * modification. + * + * @ingroup ClassicVersion + */ + +/* + * Copyright (C) 2017. + * Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include "version-vc-key.h" + +const char *rtems_version( void ) +{ +#ifdef RTEMS_VERSION_VC_KEY + return RTEMS_VERSION "." RTEMS_VERSION_VC_KEY; +#else + return RTEMS_VERSION; +#endif +} + +int rtems_version_major( void ) +{ + return __RTEMS_MAJOR__; +} + +int rtems_version_minor( void ) +{ + return __RTEMS_MINOR__; +} + +int rtems_version_revision( void ) +{ + return __RTEMS_REVISION__; +} + +const char *rtems_version_control_key( void ) +{ +#ifdef RTEMS_VERSION_VC_KEY + return RTEMS_VERSION_VC_KEY; +#else + return NULL; +#endif +} -- cgit v1.2.3