149e08aacStbbdev /* 210a6d95eSIlya Isaev Copyright (c) 2005-2023 Intel Corporation 349e08aacStbbdev 449e08aacStbbdev Licensed under the Apache License, Version 2.0 (the "License"); 549e08aacStbbdev you may not use this file except in compliance with the License. 649e08aacStbbdev You may obtain a copy of the License at 749e08aacStbbdev 849e08aacStbbdev http://www.apache.org/licenses/LICENSE-2.0 949e08aacStbbdev 1049e08aacStbbdev Unless required by applicable law or agreed to in writing, software 1149e08aacStbbdev distributed under the License is distributed on an "AS IS" BASIS, 1249e08aacStbbdev WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1349e08aacStbbdev See the License for the specific language governing permissions and 1449e08aacStbbdev limitations under the License. 1549e08aacStbbdev */ 1649e08aacStbbdev 1749e08aacStbbdev #ifndef __TBB_version_H 1849e08aacStbbdev #define __TBB_version_H 1949e08aacStbbdev 206bfd29bdSPavel Kumbrasev // Exclude all includes during .rc files compilation 216bfd29bdSPavel Kumbrasev #ifndef RC_INVOKED 2249e08aacStbbdev #include "detail/_config.h" 2349e08aacStbbdev #include "detail/_namespace_injection.h" 246bfd29bdSPavel Kumbrasev #else 256bfd29bdSPavel Kumbrasev #define __TBB_STRING_AUX(x) #x 266bfd29bdSPavel Kumbrasev #define __TBB_STRING(x) __TBB_STRING_AUX(x) 276bfd29bdSPavel Kumbrasev #endif 2849e08aacStbbdev 2949e08aacStbbdev // Product version 3049e08aacStbbdev #define TBB_VERSION_MAJOR 2021 3149e08aacStbbdev // Update version 3271e1bb8eSPavel Kumbrasev #define TBB_VERSION_MINOR 11 3349e08aacStbbdev // "Patch" version for custom releases 3449e08aacStbbdev #define TBB_VERSION_PATCH 0 3549e08aacStbbdev // Suffix string 3649e08aacStbbdev #define __TBB_VERSION_SUFFIX "" 3749e08aacStbbdev // Full official version string 38*ddfc32d9SIlya Isaev #define TBB_VERSION_STRING \ 39*ddfc32d9SIlya Isaev __TBB_STRING(TBB_VERSION_MAJOR) "." \ 40*ddfc32d9SIlya Isaev __TBB_STRING(TBB_VERSION_MINOR) "." \ 41*ddfc32d9SIlya Isaev __TBB_STRING(TBB_VERSION_PATCH) \ 42*ddfc32d9SIlya Isaev __TBB_VERSION_SUFFIX 4349e08aacStbbdev 4449e08aacStbbdev // OneAPI oneTBB specification version 4549e08aacStbbdev #define ONETBB_SPEC_VERSION "1.0" 4649e08aacStbbdev // Full interface version 4771e1bb8eSPavel Kumbrasev #define TBB_INTERFACE_VERSION 12110 4849e08aacStbbdev // Major interface version 4949e08aacStbbdev #define TBB_INTERFACE_VERSION_MAJOR (TBB_INTERFACE_VERSION/1000) 5049e08aacStbbdev // Minor interface version 5149e08aacStbbdev #define TBB_INTERFACE_VERSION_MINOR (TBB_INTERFACE_VERSION%1000/10) 5249e08aacStbbdev 5349e08aacStbbdev // The binary compatibility version 5449e08aacStbbdev // To be used in SONAME, manifests, etc. 5549e08aacStbbdev #define __TBB_BINARY_VERSION 12 5649e08aacStbbdev 5749e08aacStbbdev //! TBB_VERSION support 5849e08aacStbbdev #ifndef ENDL 5949e08aacStbbdev #define ENDL "\n" 6049e08aacStbbdev #endif 6149e08aacStbbdev 6249e08aacStbbdev //TBB_REVAMP_TODO: consider enabling version_string.ver generation 6349e08aacStbbdev //TBB_REVAMP_TODO: #include "version_string.ver" 6449e08aacStbbdev 6549e08aacStbbdev #define __TBB_ONETBB_SPEC_VERSION(N) #N ": SPECIFICATION VERSION\t" ONETBB_SPEC_VERSION ENDL 6649e08aacStbbdev #define __TBB_VERSION_NUMBER(N) #N ": VERSION\t\t" TBB_VERSION_STRING ENDL 6749e08aacStbbdev #define __TBB_INTERFACE_VERSION_NUMBER(N) #N ": INTERFACE VERSION\t" __TBB_STRING(TBB_INTERFACE_VERSION) ENDL 6849e08aacStbbdev 6949e08aacStbbdev #ifndef TBB_USE_DEBUG 7049e08aacStbbdev #define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\tundefined" ENDL 7149e08aacStbbdev #elif TBB_USE_DEBUG==0 7249e08aacStbbdev #define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t0" ENDL 7349e08aacStbbdev #elif TBB_USE_DEBUG==1 7449e08aacStbbdev #define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t1" ENDL 7549e08aacStbbdev #elif TBB_USE_DEBUG==2 7649e08aacStbbdev #define __TBB_VERSION_USE_DEBUG(N) #N ": TBB_USE_DEBUG\t2" ENDL 7749e08aacStbbdev #else 7849e08aacStbbdev #error Unexpected value for TBB_USE_DEBUG 7949e08aacStbbdev #endif 8049e08aacStbbdev 8149e08aacStbbdev #ifndef TBB_USE_ASSERT 8249e08aacStbbdev #define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\tundefined" ENDL 8349e08aacStbbdev #elif TBB_USE_ASSERT==0 8449e08aacStbbdev #define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t0" ENDL 8549e08aacStbbdev #elif TBB_USE_ASSERT==1 8649e08aacStbbdev #define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t1" ENDL 8749e08aacStbbdev #elif TBB_USE_ASSERT==2 8849e08aacStbbdev #define __TBB_VERSION_USE_ASSERT(N) #N ": TBB_USE_ASSERT\t2" ENDL 8949e08aacStbbdev #else 9049e08aacStbbdev #error Unexpected value for TBB_USE_ASSERT 9149e08aacStbbdev #endif 9249e08aacStbbdev 9349e08aacStbbdev #define TBB_VERSION_STRINGS_P(N) \ 9449e08aacStbbdev __TBB_ONETBB_SPEC_VERSION(N) \ 9549e08aacStbbdev __TBB_VERSION_NUMBER(N) \ 9649e08aacStbbdev __TBB_INTERFACE_VERSION_NUMBER(N) \ 9749e08aacStbbdev __TBB_VERSION_USE_DEBUG(N) \ 9849e08aacStbbdev __TBB_VERSION_USE_ASSERT(N) 9949e08aacStbbdev 10049e08aacStbbdev #define TBB_VERSION_STRINGS TBB_VERSION_STRINGS_P(oneTBB) 10149e08aacStbbdev #define TBBMALLOC_VERSION_STRINGS TBB_VERSION_STRINGS_P(TBBmalloc) 10249e08aacStbbdev 10349e08aacStbbdev //! The function returns the version string for the Intel(R) oneAPI Threading Building Blocks (oneTBB) 10449e08aacStbbdev //! shared library being used. 10549e08aacStbbdev /** 10649e08aacStbbdev * The returned pointer is an address of a string in the shared library. 10749e08aacStbbdev * It can be different than the TBB_VERSION_STRING obtained at compile time. 10849e08aacStbbdev */ 1098827ea7dSLong Nguyen extern "C" TBB_EXPORT const char* __TBB_EXPORTED_FUNC TBB_runtime_version(); 11049e08aacStbbdev 11149e08aacStbbdev //! The function returns the interface version of the oneTBB shared library being used. 11249e08aacStbbdev /** 11349e08aacStbbdev * The returned version is determined at runtime, not at compile/link time. 11449e08aacStbbdev * It can be different than the value of TBB_INTERFACE_VERSION obtained at compile time. 11549e08aacStbbdev */ 1168827ea7dSLong Nguyen extern "C" TBB_EXPORT int __TBB_EXPORTED_FUNC TBB_runtime_interface_version(); 11749e08aacStbbdev 11849e08aacStbbdev #endif // __TBB_version_H 119