1 // $FreeBSD$ 2 /* 3 * kmp_config.h -- Feature macros 4 */ 5 //===----------------------------------------------------------------------===// 6 // 7 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 8 // See https://llvm.org/LICENSE.txt for license information. 9 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 10 // 11 //===----------------------------------------------------------------------===// 12 #ifndef KMP_CONFIG_H 13 #define KMP_CONFIG_H 14 15 #include "kmp_platform.h" 16 17 // cmakedefine01 MACRO will define MACRO as either 0 or 1 18 // cmakedefine MACRO 1 will define MACRO as 1 or leave undefined 19 #define DEBUG_BUILD 0 20 #define RELWITHDEBINFO_BUILD 0 21 #define LIBOMP_USE_ITT_NOTIFY 1 22 #define USE_ITT_NOTIFY LIBOMP_USE_ITT_NOTIFY 23 #if ! LIBOMP_USE_ITT_NOTIFY 24 # define INTEL_NO_ITTNOTIFY_API 25 #endif 26 #define LIBOMP_USE_VERSION_SYMBOLS 1 27 #if LIBOMP_USE_VERSION_SYMBOLS 28 # define KMP_USE_VERSION_SYMBOLS 29 #endif 30 #define LIBOMP_HAVE_WEAK_ATTRIBUTE 1 31 #define KMP_HAVE_WEAK_ATTRIBUTE LIBOMP_HAVE_WEAK_ATTRIBUTE 32 #define LIBOMP_HAVE_PSAPI 0 33 #define KMP_HAVE_PSAPI LIBOMP_HAVE_PSAPI 34 #define LIBOMP_STATS 0 35 #define KMP_STATS_ENABLED LIBOMP_STATS 36 #define LIBOMP_HAVE_X86INTRIN_H 0 37 #define KMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H 38 #define LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER 0 39 #define KMP_HAVE___BUILTIN_READCYCLECOUNTER LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER 40 #define LIBOMP_HAVE___RDTSC 0 41 #define KMP_HAVE___RDTSC LIBOMP_HAVE___RDTSC 42 #define LIBOMP_USE_DEBUGGER 0 43 #define USE_DEBUGGER LIBOMP_USE_DEBUGGER 44 #define LIBOMP_OMPT_DEBUG 0 45 #define OMPT_DEBUG LIBOMP_OMPT_DEBUG 46 #define LIBOMP_OMPT_SUPPORT 1 47 #define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT 48 #define LIBOMP_OMPD_SUPPORT 0 49 #define OMPD_SUPPORT LIBOMP_OMPD_SUPPORT 50 #define LIBOMP_PROFILING_SUPPORT 0 51 #define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT 52 #define LIBOMP_OMPT_OPTIONAL 1 53 #define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL 54 #define LIBOMP_USE_ADAPTIVE_LOCKS 1 55 #define KMP_USE_ADAPTIVE_LOCKS LIBOMP_USE_ADAPTIVE_LOCKS 56 #define KMP_DEBUG_ADAPTIVE_LOCKS 0 57 #define LIBOMP_USE_INTERNODE_ALIGNMENT 0 58 #define KMP_USE_INTERNODE_ALIGNMENT LIBOMP_USE_INTERNODE_ALIGNMENT 59 #define LIBOMP_ENABLE_ASSERTIONS 1 60 #define KMP_USE_ASSERT LIBOMP_ENABLE_ASSERTIONS 61 #define LIBOMP_USE_HIER_SCHED 0 62 #define KMP_USE_HIER_SCHED LIBOMP_USE_HIER_SCHED 63 #define STUBS_LIBRARY 0 64 #define LIBOMP_USE_HWLOC 0 65 #define KMP_USE_HWLOC LIBOMP_USE_HWLOC 66 #define LIBOMP_ENABLE_SHARED 1 67 #define KMP_DYNAMIC_LIB LIBOMP_ENABLE_SHARED 68 #define KMP_ARCH_STR "Intel(R) 64" 69 #define KMP_LIBRARY_FILE "libomp.so" 70 #define KMP_VERSION_MAJOR 5 71 #define KMP_VERSION_MINOR 0 72 #define MSVC 0 73 #define KMP_MSVC_COMPAT MSVC 74 #define LIBOMP_HAVE_WAITPKG_INTRINSICS 1 75 #define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS 76 #define LIBOMP_HAVE_RTM_INTRINSICS 1 77 #define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS 78 #define LIBOMP_HAVE_IMMINTRIN_H 1 79 #define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H 80 #define LIBOMP_HAVE_INTRIN_H 0 81 #define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H 82 #define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1 83 #define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG 84 #define LIBOMP_HAVE_ATTRIBUTE_RTM 1 85 #define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM 86 #define LIBOMP_ARCH_AARCH64_A64FX 0 87 #define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX 88 #define LIBOMP_HAVE_XMMINTRIN_H 1 89 #define KMP_HAVE_XMMINTRIN_H LIBOMP_HAVE_XMMINTRIN_H 90 #define LIBOMP_HAVE__MM_MALLOC 1 91 #define KMP_HAVE__MM_MALLOC LIBOMP_HAVE__MM_MALLOC 92 #define LIBOMP_HAVE_ALIGNED_ALLOC 1 93 #define KMP_HAVE_ALIGNED_ALLOC LIBOMP_HAVE_ALIGNED_ALLOC 94 #define LIBOMP_HAVE_POSIX_MEMALIGN 1 95 #define KMP_HAVE_POSIX_MEMALIGN LIBOMP_HAVE_POSIX_MEMALIGN 96 #define LIBOMP_HAVE__ALIGNED_MALLOC 0 97 #define KMP_HAVE__ALIGNED_MALLOC LIBOMP_HAVE__ALIGNED_MALLOC 98 99 // Configured cache line based on architecture 100 #if KMP_ARCH_PPC64 101 # define CACHE_LINE 128 102 #elif KMP_ARCH_AARCH64_A64FX 103 # define CACHE_LINE 256 104 #else 105 # define CACHE_LINE 64 106 #endif 107 108 #if ! KMP_32_BIT_ARCH 109 # define BUILD_I8 1 110 #endif 111 112 #define KMP_NESTED_HOT_TEAMS 1 113 #define KMP_ADJUST_BLOCKTIME 1 114 #define BUILD_PARALLEL_ORDERED 1 115 #define KMP_ASM_INTRINS 1 116 #define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY 117 #define INTEL_ITTNOTIFY_PREFIX __kmp_itt_ 118 #if ! KMP_MIC 119 # define USE_LOAD_BALANCE 1 120 #endif 121 #if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN) 122 # define KMP_TDATA_GTID 1 123 #endif 124 #if STUBS_LIBRARY 125 # define KMP_STUB 1 126 #endif 127 #if DEBUG_BUILD || RELWITHDEBINFO_BUILD 128 # define KMP_DEBUG 1 129 #endif 130 131 #if KMP_OS_WINDOWS 132 # define KMP_WIN_CDECL 133 #else 134 # define BUILD_TV 135 # define KMP_GOMP_COMPAT 136 #endif 137 138 // use shared memory with dynamic library (except Android, where shm_* 139 // functions don't exist). 140 #if KMP_OS_UNIX && KMP_DYNAMIC_LIB && !__ANDROID__ 141 #define KMP_USE_SHM 142 #endif 143 #endif // KMP_CONFIG_H 144