• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
2 /*                                                                            */
3 /* Part of the LLVM Project, under the Apache License v2.0 with LLVM          */
4 /* Exceptions.                                                                */
5 /* See https://llvm.org/LICENSE.txt for license information.                  */
6 /* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    */
7 /*                                                                            */
8 /*===----------------------------------------------------------------------===*/
9 
10 /* This file enumerates variables from the LLVM configuration so that they
11    can be in exported headers and won't override package specific directives.
12    This is a C header that can be included in the llvm-c headers. */
13 
14 #ifndef LLVM_CONFIG_H
15 #define LLVM_CONFIG_H
16 
17 #if !defined(__i386__) && defined(_M_IX86)
18 #define __i386__ 1
19 #endif
20 
21 #if !defined(__x86_64__) && (defined(_M_AMD64) || defined (_M_X64))
22 #define __x86_64__ 1
23 #endif
24 
25 #define LLVM_CONFIG_H
26 
27 /* Define if LLVM_ENABLE_DUMP is enabled */
28 /* #undef LLVM_ENABLE_DUMP */
29 
30 /* Target triple LLVM will generate code for by default */
31 /* Doesn't use `cmakedefine` because it is allowed to be empty. */
32 #if defined(__x86_64__)
33 #define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-apple-darwin"
34 #elif defined(__aarch64__)
35 #define LLVM_DEFAULT_TARGET_TRIPLE "arm64-apple-darwin"
36 #else
37 #error "unknown architecture"
38 #endif
39 
40 /* Define if threads enabled */
41 #define LLVM_ENABLE_THREADS 1
42 
43 /* Has gcc/MSVC atomic intrinsics */
44 #define LLVM_HAS_ATOMICS 1
45 
46 /* Host triple LLVM will be executed on */
47 #if defined(__x86_64__)
48 #define LLVM_HOST_TRIPLE "x86_64-apple-darwin"
49 #elif defined(__aarch64__)
50 #define LLVM_HOST_TRIPLE "arm64-apple-darwin"
51 #else
52 #error "unknown architecture"
53 #endif
54 
55 /* LLVM architecture name for the native architecture, if available */
56 #if defined(__aarch64__)
57 #define LLVM_NATIVE_ARCH AArch64
58 #elif defined(__arm__)
59 #define LLVM_NATIVE_ARCH ARM
60 #elif defined(__i386__) || defined(__x86_64__)
61 #define LLVM_NATIVE_ARCH X86
62 #elif defined(__mips__)
63 #define LLVM_NATIVE_ARCH Mips
64 #elif defined(__powerpc64__)
65 #define LLVM_NATIVE_ARCH PowerPC
66 #elif defined(__riscv)
67 #define LLVM_NATIVE_ARCH RISCV
68 #else
69 #error "unknown architecture"
70 #endif
71 
72 /* LLVM name for the native AsmParser init function, if available */
73 #if defined(__aarch64__)
74 #define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser
75 #elif defined(__arm__)
76 #define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser
77 #elif defined(__i386__) || defined(__x86_64__)
78 #define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
79 #elif defined(__mips__)
80 #define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser
81 #elif defined(__powerpc64__)
82 #define LLVM_NATIVE_ASMPARSER LLVMInitializePowerPCAsmParser
83 #elif defined(__riscv)
84 #define LLVM_NATIVE_ASMPARSER LLVMInitializeRISCVAsmParser
85 #else
86 #error "unknown architecture"
87 #endif
88 
89 /* LLVM name for the native AsmPrinter init function, if available */
90 #if defined(__aarch64__)
91 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter
92 #elif defined(__arm__)
93 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter
94 #elif defined(__i386__) || defined(__x86_64__)
95 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
96 #elif defined(__mips__)
97 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter
98 #elif defined(__powerpc64__)
99 #define LLVM_NATIVE_ASMPRINTER LLVMInitializePowerPCAsmPrinter
100 #elif defined(__riscv)
101 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeRISCVAsmPrinter
102 #else
103 #error "unknown architecture"
104 #endif
105 
106 /* LLVM name for the native Disassembler init function, if available */
107 #if defined(__aarch64__)
108 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler
109 #elif defined(__arm__)
110 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler
111 #elif defined(__i386__) || defined(__x86_64__)
112 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
113 #elif defined(__mips__)
114 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler
115 #elif defined(__powerpc64__)
116 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializePowerPCDisassembler
117 #elif defined(__riscv)
118 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeRISCVDisassembler
119 #else
120 #error "unknown architecture"
121 #endif
122 
123 /* LLVM name for the native Target init function, if available */
124 #if defined(__aarch64__)
125 #define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target
126 #elif defined(__arm__)
127 #define LLVM_NATIVE_TARGET LLVMInitializeARMTarget
128 #elif defined(__i386__) || defined(__x86_64__)
129 #define LLVM_NATIVE_TARGET LLVMInitializeX86Target
130 #elif defined(__mips__)
131 #define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget
132 #elif defined(__powerpc64__)
133 #define LLVM_NATIVE_TARGET LLVMInitializePowerPCTarget
134 #elif defined(__riscv)
135 #define LLVM_NATIVE_TARGET LLVMInitializeRISCVTarget
136 #else
137 #error "unknown architecture"
138 #endif
139 
140 /* LLVM name for the native TargetInfo init function, if available */
141 #if defined(__aarch64__)
142 #define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo
143 #elif defined(__arm__)
144 #define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo
145 #elif defined(__i386__) || defined(__x86_64__)
146 #define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
147 #elif defined(__mips__)
148 #define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo
149 #elif defined(__powerpc64__)
150 #define LLVM_NATIVE_TARGETINFO LLVMInitializePowerPCTargetInfo
151 #elif defined(__riscv)
152 #define LLVM_NATIVE_TARGETINFO LLVMInitializeRISCVTargetInfo
153 #else
154 #error "unknown architecture"
155 #endif
156 
157 /* LLVM name for the native target MC init function, if available */
158 #if defined(__aarch64__)
159 #define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC
160 #elif defined(__arm__)
161 #define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC
162 #elif defined(__i386__) || defined(__x86_64__)
163 #define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
164 #elif defined(__mips__)
165 #define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC
166 #elif defined(__powerpc64__)
167 #define LLVM_NATIVE_TARGETMC LLVMInitializePowerPCTargetMC
168 #elif defined(__riscv)
169 #define LLVM_NATIVE_TARGETMC LLVMInitializeRISCVTargetMC
170 #else
171 #error "unknown architecture"
172 #endif
173 
174 /* LLVM name for the native target MCA init function, if available */
175 /* #undef LLVM_NATIVE_TARGETMCA */
176 
177 /* Define if this is Unixish platform */
178 #define LLVM_ON_UNIX 1
179 
180 /* Define if we have the Intel JIT API runtime support library */
181 #define LLVM_USE_INTEL_JITEVENTS 0
182 
183 /* Define if we have the oprofile JIT-support library */
184 #define LLVM_USE_OPROFILE 0
185 
186 /* Define if we have the perf JIT-support library */
187 #define LLVM_USE_PERF 0
188 
189 /* Major version of the LLVM API */
190 #define LLVM_VERSION_MAJOR 16
191 
192 /* Minor version of the LLVM API */
193 #define LLVM_VERSION_MINOR 0
194 
195 /* Patch version of the LLVM API */
196 #define LLVM_VERSION_PATCH 0
197 
198 /* LLVM version string */
199 #define LLVM_VERSION_STRING "16.0.0"
200 
201 /* Whether LLVM records statistics for use with GetStatistics(),
202  * PrintStatistics() or PrintStatisticsJSON()
203  */
204 #define LLVM_FORCE_ENABLE_STATS 0
205 
206 /* Define if we have z3 and want to build it */
207 /* #undef LLVM_WITH_Z3 */
208 
209 /* Define if we have curl and want to use it */
210 /* #undef LLVM_ENABLE_CURL */
211 
212 /* Define if we have cpp-httplib and want to use it */
213 /* #undef LLVM_ENABLE_HTTPLIB */
214 
215 /* Define if zlib compression is available */
216 #define LLVM_ENABLE_ZLIB 0
217 
218 /* Define if zstd compression is available */
219 #define LLVM_ENABLE_ZSTD 0
220 
221 /* Define if LLVM is using tflite instead of libtensorflow */
222 /* #undef LLVM_HAVE_TFLITE */
223 
224 /* Define to 1 if you have the <sysexits.h> header file. */
225 #define HAVE_SYSEXITS_H 1
226 
227 /* Define if the xar_open() function is supported on this platform. */
228 #define LLVM_HAVE_LIBXAR 1
229 
230 /* Define if building libLLVM shared library */
231 /* #undef LLVM_BUILD_LLVM_DYLIB */
232 
233 /* Define if building LLVM with BUILD_SHARED_LIBS */
234 /* #undef LLVM_BUILD_SHARED_LIBS */
235 
236 /* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
237 /* #undef LLVM_FORCE_USE_OLD_TOOLCHAIN */
238 
239 /* Define if llvm_unreachable should be optimized with undefined behavior
240  * in non assert builds */
241 #define LLVM_UNREACHABLE_OPTIMIZE 1
242 
243 /* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
244 #define LLVM_ENABLE_DIA_SDK 0
245 
246 /* Define if plugins enabled */
247 #define LLVM_ENABLE_PLUGINS
248 
249 #endif
250