diff options
author | Chris Johns <chrisj@rtems.org> | 2017-11-07 16:43:11 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2017-11-10 13:34:06 +1100 |
commit | 6f3fb8a547f5700416744a7dc82b3cb83177c7a8 (patch) | |
tree | 5a5869b9dcf63196c0c1ef06b2ccdc4006d48f05 /cpukit/sapi/src | |
parent | pppd/Makefile.am: Add support/include (diff) | |
download | rtems-6f3fb8a547f5700416744a7dc82b3cb83177c7a8.tar.bz2 |
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.
Diffstat (limited to 'cpukit/sapi/src')
-rw-r--r-- | cpukit/sapi/src/version.c | 63 |
1 files changed, 63 insertions, 0 deletions
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 <chrisj@rtems.org> + * + * 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 <rtems.h> +#include <rtems/version.h> + +#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 +} |