µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
os-versions.h
Go to the documentation of this file.
1/*
2 * This file is part of the µOS++ distribution.
3 * (https://github.com/micro-os-plus)
4 * Copyright (c) 2016-2023 Liviu Ionescu. All rights reserved.
5 *
6 * Permission to use, copy, modify, and/or distribute this software
7 * for any purpose is hereby granted, under the terms of the MIT license.
8 *
9 * If a copy of the license was not distributed with this file, it can
10 * be obtained from https://opensource.org/licenses/mit/.
11 */
12
13#ifndef CMSIS_PLUS_OS_VERSIONS_H_
14#define CMSIS_PLUS_OS_VERSIONS_H_
15
16// ----------------------------------------------------------------------------
17
18// According to Semantic Versioning 2.0.0 (http://semver.org),
19// given a version number MAJOR.MINOR.PATCH, increment the:
20//
21// MAJOR version when you make incompatible API changes,
22// MINOR version when you add functionality in a backwards-compatible manner,
23// PATCH version when you make backwards-compatible bug fixes,
24// PRE_RELEASE is a hyphen and a series of dot separated identifiers,
25// BUILD a plus sign and a series of dot separated identifiers.
26
27// ----------------------------------------------------------------------------
28
29#define OS_MACRO_SHARP(x) #x
30#define OS_MACRO_STRINGIFY(x) OS_MACRO_SHARP(x)
31
32// ----------------------------------------------------------------------------
33
34// µOS++ version.
35#define OS_INTEGER_RTOS_IMPL_VERSION_MAJOR 7
36#define OS_INTEGER_RTOS_IMPL_VERSION_MINOR 0
37#define OS_INTEGER_RTOS_IMPL_VERSION_PATCH 0
38#define OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE ""
39// #define OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE "-beta"
40#define OS_STRING_RTOS_IMPL_VERSION_BUILD ""
41
42#define OS_INTEGER_RTOS_IMPL_YEAR 2023
43#define OS_STRING_RTOS_IMPL_YEAR OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_YEAR)
44
45#define OS_STRING_RTOS_IMPL_VERSION \
46 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_MAJOR) "." \
47 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_MINOR) "." \
48 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_PATCH) \
49 OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE \
50 OS_STRING_RTOS_IMPL_VERSION_BUILD
51
52// ----------------------------------------------------------------------------
53
65 #define OS_USE_MICRO_OS_PLUS
66
84#if !defined(__APPLE__) && !defined(__linux__)
85#define OS_IS_CROSS_BUILD
86#if !defined(_GLIBCXX_HAS_GTHREADS)
87#define OS_HAS_STD_THREADS
88#endif
89#endif
90
95// ----------------------------------------------------------------------------
96
97#endif /* CMSIS_PLUS_OS_VERSIONS_H_ */