µ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 Liviu Ionescu.
5 *
6 * Permission is hereby granted, free of charge, to any person
7 * obtaining a copy of this software and associated documentation
8 * files (the "Software"), to deal in the Software without
9 * restriction, including without limitation the rights to use,
10 * copy, modify, merge, publish, distribute, sublicense, and/or
11 * sell copies of the Software, and to permit persons to whom
12 * the Software is furnished to do so, subject to the following
13 * conditions:
14 *
15 * The above copyright notice and this permission notice shall be
16 * included in all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 * OTHER DEALINGS IN THE SOFTWARE.
26 */
27
28#ifndef CMSIS_PLUS_OS_VERSIONS_H_
29#define CMSIS_PLUS_OS_VERSIONS_H_
30
31// ----------------------------------------------------------------------------
32
33// According to Semantic Versioning 2.0.0 (http://semver.org),
34// given a version number MAJOR.MINOR.PATCH, increment the:
35//
36// MAJOR version when you make incompatible API changes,
37// MINOR version when you add functionality in a backwards-compatible manner,
38// PATCH version when you make backwards-compatible bug fixes,
39// PRE_RELEASE is a hyphen and a series of dot separated identifiers,
40// BUILD a plus sign and a series of dot separated identifiers.
41
42// ----------------------------------------------------------------------------
43
44#define OS_MACRO_SHARP(x) #x
45#define OS_MACRO_STRINGIFY(x) OS_MACRO_SHARP(x)
46
47// ----------------------------------------------------------------------------
48
49// µOS++ version.
50#define OS_INTEGER_RTOS_IMPL_VERSION_MAJOR 6
51#define OS_INTEGER_RTOS_IMPL_VERSION_MINOR 3
52#define OS_INTEGER_RTOS_IMPL_VERSION_PATCH 18
53// #define OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE ""
54#define OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE "-beta"
55#define OS_STRING_RTOS_IMPL_VERSION_BUILD ""
56
57#define OS_INTEGER_RTOS_IMPL_YEAR 2023
58#define OS_STRING_RTOS_IMPL_YEAR OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_YEAR)
59
60#define OS_STRING_RTOS_IMPL_VERSION \
61 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_MAJOR) "." \
62 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_MINOR) "." \
63 OS_MACRO_STRINGIFY(OS_INTEGER_RTOS_IMPL_VERSION_PATCH) \
64 OS_STRING_RTOS_IMPL_VERSION_PRE_RELEASE \
65 OS_STRING_RTOS_IMPL_VERSION_BUILD
66
67// ----------------------------------------------------------------------------
68
80 #define OS_USE_MICRO_OS_PLUS
81
99#if !defined(__APPLE__) && !defined(__linux__)
100#define OS_IS_CROSS_BUILD
101#if !defined(_GLIBCXX_HAS_GTHREADS)
102#define OS_HAS_STD_THREADS
103#endif
104#endif
105
110// ----------------------------------------------------------------------------
111
112#endif /* CMSIS_PLUS_OS_VERSIONS_H_ */