1 /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
3 /* Part of the LLVM Project, under the Apache License v2.0 with LLVM */
5 /* See https://llvm.org/LICENSE.txt for license information. */
6 /* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */
8 /*===----------------------------------------------------------------------===*/
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. */
17 /* Define if LLVM_ENABLE_DUMP is enabled */
18 #cmakedefine LLVM_ENABLE_DUMP
20 /* Target triple LLVM will generate code for by default */
21 /* Doesn't use `cmakedefine` because it is allowed to be empty. */
22 #define LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}"
24 /* Define if threads enabled */
25 #cmakedefine01 LLVM_ENABLE_THREADS
27 /* Has gcc/MSVC atomic intrinsics */
28 #cmakedefine01 LLVM_HAS_ATOMICS
30 /* Host triple LLVM will be executed on */
31 #cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
33 /* LLVM architecture name for the native architecture, if available */
34 #cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH}
36 /* LLVM name for the native AsmParser init function, if available */
37 #cmakedefine LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser
39 /* LLVM name for the native AsmPrinter init function, if available */
40 #cmakedefine LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter
42 /* LLVM name for the native Disassembler init function, if available */
43 #cmakedefine LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler
45 /* LLVM name for the native Target init function, if available */
46 #cmakedefine LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target
48 /* LLVM name for the native TargetInfo init function, if available */
49 #cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo
51 /* LLVM name for the native target MC init function, if available */
52 #cmakedefine LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC
54 /* LLVM name for the native target MCA init function, if available */
55 #cmakedefine LLVM_NATIVE_TARGETMCA LLVMInitialize${LLVM_NATIVE_ARCH}TargetMCA
57 /* Define if the AArch64 target is built in */
58 #cmakedefine01 LLVM_HAS_AARCH64_TARGET
60 /* Define if the AMDGPU target is built in */
61 #cmakedefine01 LLVM_HAS_AMDGPU_TARGET
63 /* Define if the ARC target is built in */
64 #cmakedefine01 LLVM_HAS_ARC_TARGET
66 /* Define if the ARM target is built in */
67 #cmakedefine01 LLVM_HAS_ARM_TARGET
69 /* Define if the AVR target is built in */
70 #cmakedefine01 LLVM_HAS_AVR_TARGET
72 /* Define if the BPF target is built in */
73 #cmakedefine01 LLVM_HAS_BPF_TARGET
75 /* Define if the CSKY target is built in */
76 #cmakedefine01 LLVM_HAS_CSKY_TARGET
78 /* Define if the DirectX target is built in */
79 #cmakedefine01 LLVM_HAS_DIRECTX_TARGET
81 /* Define if the Hexagon target is built in */
82 #cmakedefine01 LLVM_HAS_HEXAGON_TARGET
84 /* Define if the Lanai target is built in */
85 #cmakedefine01 LLVM_HAS_LANAI_TARGET
87 /* Define if the LoongArch target is built in */
88 #cmakedefine01 LLVM_HAS_LOONGARCH_TARGET
90 /* Define if the M68k target is built in */
91 #cmakedefine01 LLVM_HAS_M68K_TARGET
93 /* Define if the Mips target is built in */
94 #cmakedefine01 LLVM_HAS_MIPS_TARGET
96 /* Define if the MSP430 target is built in */
97 #cmakedefine01 LLVM_HAS_MSP430_TARGET
99 /* Define if the NVPTX target is built in */
100 #cmakedefine01 LLVM_HAS_NVPTX_TARGET
102 /* Define if the PowerPC target is built in */
103 #cmakedefine01 LLVM_HAS_POWERPC_TARGET
105 /* Define if the RISCV target is built in */
106 #cmakedefine01 LLVM_HAS_RISCV_TARGET
108 /* Define if the Sparc target is built in */
109 #cmakedefine01 LLVM_HAS_SPARC_TARGET
111 /* Define if the SPIRV target is built in */
112 #cmakedefine01 LLVM_HAS_SPIRV_TARGET
114 /* Define if the SystemZ target is built in */
115 #cmakedefine01 LLVM_HAS_SYSTEMZ_TARGET
117 /* Define if the VE target is built in */
118 #cmakedefine01 LLVM_HAS_VE_TARGET
120 /* Define if the WebAssembly target is built in */
121 #cmakedefine01 LLVM_HAS_WEBASSEMBLY_TARGET
123 /* Define if the X86 target is built in */
124 #cmakedefine01 LLVM_HAS_X86_TARGET
126 /* Define if the XCore target is built in */
127 #cmakedefine01 LLVM_HAS_XCORE_TARGET
129 /* Define if the Xtensa target is built in */
130 #cmakedefine01 LLVM_HAS_XTENSA_TARGET
132 /* Define if this is Unixish platform */
133 #cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}
135 /* Define if we have the Intel JIT API runtime support library */
136 #cmakedefine01 LLVM_USE_INTEL_JITEVENTS
138 /* Define if we have the oprofile JIT-support library */
139 #cmakedefine01 LLVM_USE_OPROFILE
141 /* Define if we have the perf JIT-support library */
142 #cmakedefine01 LLVM_USE_PERF
144 /* Major version of the LLVM API */
145 #define LLVM_VERSION_MAJOR ${LLVM_VERSION_MAJOR}
147 /* Minor version of the LLVM API */
148 #define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
150 /* Patch version of the LLVM API */
151 #define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH}
153 /* LLVM version string */
154 #define LLVM_VERSION_STRING "${PACKAGE_VERSION}"
156 /* Whether LLVM records statistics for use with GetStatistics(),
157 * PrintStatistics() or PrintStatisticsJSON()
159 #cmakedefine01 LLVM_FORCE_ENABLE_STATS
161 /* Define if we have z3 and want to build it */
162 #cmakedefine LLVM_WITH_Z3 ${LLVM_WITH_Z3}
164 /* Define if we have curl and want to use it */
165 #cmakedefine LLVM_ENABLE_CURL ${LLVM_ENABLE_CURL}
167 /* Define if we have cpp-httplib and want to use it */
168 #cmakedefine LLVM_ENABLE_HTTPLIB ${LLVM_ENABLE_HTTPLIB}
170 /* Define if zlib compression is available */
171 #cmakedefine01 LLVM_ENABLE_ZLIB
173 /* Define if zstd compression is available */
174 #cmakedefine01 LLVM_ENABLE_ZSTD
176 /* Define if LLVM is using tflite */
177 #cmakedefine LLVM_HAVE_TFLITE
179 /* Define to 1 if you have the <sysexits.h> header file. */
180 #cmakedefine HAVE_SYSEXITS_H ${HAVE_SYSEXITS_H}
182 /* Define if building libLLVM shared library */
183 #cmakedefine LLVM_BUILD_LLVM_DYLIB
185 /* Define if building LLVM with BUILD_SHARED_LIBS */
186 #cmakedefine LLVM_BUILD_SHARED_LIBS
188 /* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
189 #cmakedefine LLVM_FORCE_USE_OLD_TOOLCHAIN ${LLVM_FORCE_USE_OLD_TOOLCHAIN}
191 /* Define if llvm_unreachable should be optimized with undefined behavior
192 * in non assert builds */
193 #cmakedefine01 LLVM_UNREACHABLE_OPTIMIZE
195 /* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
196 #cmakedefine01 LLVM_ENABLE_DIA_SDK
198 /* Define if plugins enabled */
199 #cmakedefine LLVM_ENABLE_PLUGINS
201 /* Define if logf128 is available */
202 #cmakedefine LLVM_HAS_LOGF128