xref: /freebsd/lib/libomp/kmp_config.h (revision 0eae32dcef82f6f06de6419a0d623d7def0cc8f6)
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