Home ⌂
Doc Index ◂
Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
tbb_version.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2005-2020 Intel Corporation
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
17
// Please define version number in the file:
18
#include "
tbb/tbb_stddef.h
"
19
20
// And don't touch anything below
21
#ifndef ENDL
22
#define ENDL "\n"
23
#endif
24
#include "version_string.ver"
25
26
#ifndef __TBB_VERSION_STRINGS
27
#pragma message("Warning: version_string.ver isn't generated properly by version_info.sh script!")
28
// here is an example of macros value:
29
#define __TBB_VERSION_STRINGS \
30
"TBB: BUILD_HOST\tUnknown\n" \
31
"TBB: BUILD_ARCH\tUnknown\n" \
32
"TBB: BUILD_OS\t\tUnknown\n" \
33
"TBB: BUILD_CL\t\tUnknown\n" \
34
"TBB: BUILD_COMPILER\tUnknown\n" \
35
"TBB: BUILD_COMMAND\tUnknown\n"
36
#endif
37
#ifndef __TBB_DATETIME
38
#ifdef RC_INVOKED
39
#define __TBB_DATETIME "Unknown"
40
#else
41
#define __TBB_DATETIME __DATE__ __TIME__
42
#endif
43
#endif
44
45
#define __TBB_VERSION_NUMBER(N) #N ": VERSION\t\t" __TBB_STRING(TBB_VERSION_MAJOR.TBB_VERSION_MINOR) ENDL
46
#define __TBB_INTERFACE_VERSION_NUMBER(N) #N ": INTERFACE VERSION\t" __TBB_STRING(TBB_INTERFACE_VERSION) ENDL
47
48
#define __TBB_VERSION_DATETIME(N) #N ": BUILD_DATE\t\t" __TBB_DATETIME ENDL
49
#ifndef TBB_USE_DEBUG
50
#define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\tundefined" ENDL
51
#elif TBB_USE_DEBUG==0
52
#define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t0" ENDL
53
#elif TBB_USE_DEBUG==1
54
#define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t1" ENDL
55
#elif TBB_USE_DEBUG==2
56
#define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t2" ENDL
57
#else
58
#error Unexpected value for TBB_USE_DEBUG
59
#endif
60
61
/* Make __TBB_VERSION_USE_ASSERT and __TBB_VERSION_DO_NOTIFY empty for rc
62
* because rc from VS2005 crashed with fatal error RC10056 for too complex
63
* macros (for example, when __TBB_CPF_BUILD is enabled).
64
* All information is available in BUILD_COMMAND anyway.
65
*/
66
67
#ifdef RC_INVOKED
68
#define __TBB_VERSION_USE_ASSERT(N)
69
#else // RC_INVOKED
70
#ifndef TBB_USE_ASSERT
71
#define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\tundefined" ENDL
72
#elif TBB_USE_ASSERT==0
73
#define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t0" ENDL
74
#elif TBB_USE_ASSERT==1
75
#define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t1" ENDL
76
#elif TBB_USE_ASSERT==2
77
#define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t2" ENDL
78
#else
79
#error Unexpected value for TBB_USE_ASSERT
80
#endif
81
#endif // RC_INVOKED
82
83
#ifndef __TBB_CPF_BUILD
84
#define __TBB_VERSION_TBB_PREVIEW_BINARY(N)
85
#else
86
#define __TBB_VERSION_TBB_PREVIEW_BINARY(N) #N ": TBB_PREVIEW_BINARY\t1" ENDL
87
#endif
88
89
#ifdef RC_INVOKED
90
#define __TBB_VERSION_DO_NOTIFY(N)
91
#else
92
#ifndef DO_ITT_NOTIFY
93
#define __TBB_VERSION_DO_NOTIFY(N) #N ": DO_ITT_NOTIFY\tundefined" ENDL
94
#elif DO_ITT_NOTIFY==1
95
#define __TBB_VERSION_DO_NOTIFY(N) #N ": DO_ITT_NOTIFY\t1" ENDL
96
#elif DO_ITT_NOTIFY==0
97
#define __TBB_VERSION_DO_NOTIFY(N)
98
#else
99
#error Unexpected value for DO_ITT_NOTIFY
100
#endif
101
#endif // RC_INVOKED
102
103
#define TBB_VERSION_STRINGS_P(N) __TBB_VERSION_NUMBER(N) __TBB_INTERFACE_VERSION_NUMBER(N) __TBB_VERSION_DATETIME(N) __TBB_VERSION_STRINGS(N) __TBB_VERSION_USE_DEBUG(N) __TBB_VERSION_USE_ASSERT(N) __TBB_VERSION_TBB_PREVIEW_BINARY(N) __TBB_VERSION_DO_NOTIFY(N)
104
105
#define TBB_VERSION_STRINGS TBB_VERSION_STRINGS_P(TBB)
106
#define TBBMALLOC_VERSION_STRINGS TBB_VERSION_STRINGS_P(TBBmalloc)
107
108
// numbers
109
#ifndef __TBB_VERSION_YMD
110
#define __TBB_VERSION_YMD 0, 0
111
#endif
112
113
#define TBB_VERNUMBERS TBB_VERSION_MAJOR, TBB_VERSION_MINOR, __TBB_VERSION_YMD
114
115
#define TBB_VERSION __TBB_STRING(TBB_VERNUMBERS)
tbb_stddef.h
Copyright © 2005-2020 Intel Corporation. All Rights Reserved.
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.