1// $FreeBSD: stable/11/lib/libomp/kmp_config.h 360658 2020-05-05 12:59:04Z dim $
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_OMPT_OPTIONAL 1
49#define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL
50#define LIBOMP_USE_ADAPTIVE_LOCKS 1
51#define KMP_USE_ADAPTIVE_LOCKS LIBOMP_USE_ADAPTIVE_LOCKS
52#define KMP_DEBUG_ADAPTIVE_LOCKS 0
53#define LIBOMP_USE_INTERNODE_ALIGNMENT 0
54#define KMP_USE_INTERNODE_ALIGNMENT LIBOMP_USE_INTERNODE_ALIGNMENT
55#define LIBOMP_ENABLE_ASSERTIONS 1
56#define KMP_USE_ASSERT LIBOMP_ENABLE_ASSERTIONS
57#define LIBOMP_USE_HIER_SCHED 0
58#define KMP_USE_HIER_SCHED LIBOMP_USE_HIER_SCHED
59#define STUBS_LIBRARY 0
60#define LIBOMP_USE_HWLOC 0
61#define KMP_USE_HWLOC LIBOMP_USE_HWLOC
62#define LIBOMP_ENABLE_SHARED 1
63#define KMP_DYNAMIC_LIB LIBOMP_ENABLE_SHARED
64#define KMP_ARCH_STR "Intel(R) 64"
65#define KMP_LIBRARY_FILE "libomp.so"
66#define KMP_VERSION_MAJOR 5
67#define KMP_VERSION_MINOR 0
68#define LIBOMP_TSAN_SUPPORT 0
69#if LIBOMP_TSAN_SUPPORT
70#define TSAN_SUPPORT
71#endif
72#define MSVC 0
73#define KMP_MSVC_COMPAT MSVC
74
75// Configured cache line based on architecture
76#if KMP_ARCH_PPC64
77# define CACHE_LINE 128
78#else
79# define CACHE_LINE 64
80#endif
81
82#if ! KMP_32_BIT_ARCH
83# define BUILD_I8 1
84#endif
85
86#define KMP_NESTED_HOT_TEAMS 1
87#define KMP_ADJUST_BLOCKTIME 1
88#define BUILD_PARALLEL_ORDERED 1
89#define KMP_ASM_INTRINS 1
90#define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY
91#define INTEL_ITTNOTIFY_PREFIX __kmp_itt_
92#if ! KMP_MIC
93# define USE_LOAD_BALANCE 1
94#endif
95#if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN)
96# define KMP_TDATA_GTID 1
97#endif
98#if STUBS_LIBRARY
99# define KMP_STUB 1
100#endif
101#if DEBUG_BUILD || RELWITHDEBINFO_BUILD
102# define KMP_DEBUG 1
103#endif
104
105#if KMP_OS_WINDOWS
106# define KMP_WIN_CDECL
107#else
108# define BUILD_TV
109# define KMP_GOMP_COMPAT
110#endif
111
112#endif // KMP_CONFIG_H
113