xref: /llvm-project/llvm/include/llvm/Config/llvm-config.h.cmake (revision 3613b2683107bd60fda6d9348623be0686f6d7e3)
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/* Define if LLVM_ENABLE_DUMP is enabled */
18#cmakedefine LLVM_ENABLE_DUMP
19
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}"
23
24/* Define if threads enabled */
25#cmakedefine01 LLVM_ENABLE_THREADS
26
27/* Has gcc/MSVC atomic intrinsics */
28#cmakedefine01 LLVM_HAS_ATOMICS
29
30/* Host triple LLVM will be executed on */
31#cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
32
33/* LLVM architecture name for the native architecture, if available */
34#cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH}
35
36/* LLVM name for the native AsmParser init function, if available */
37#cmakedefine LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser
38
39/* LLVM name for the native AsmPrinter init function, if available */
40#cmakedefine LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter
41
42/* LLVM name for the native Disassembler init function, if available */
43#cmakedefine LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler
44
45/* LLVM name for the native Target init function, if available */
46#cmakedefine LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target
47
48/* LLVM name for the native TargetInfo init function, if available */
49#cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo
50
51/* LLVM name for the native target MC init function, if available */
52#cmakedefine LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC
53
54/* LLVM name for the native target MCA init function, if available */
55#cmakedefine LLVM_NATIVE_TARGETMCA LLVMInitialize${LLVM_NATIVE_ARCH}TargetMCA
56
57/* Define if the AArch64 target is built in */
58#cmakedefine01 LLVM_HAS_AARCH64_TARGET
59
60/* Define if the AMDGPU target is built in */
61#cmakedefine01 LLVM_HAS_AMDGPU_TARGET
62
63/* Define if the ARC target is built in */
64#cmakedefine01 LLVM_HAS_ARC_TARGET
65
66/* Define if the ARM target is built in */
67#cmakedefine01 LLVM_HAS_ARM_TARGET
68
69/* Define if the AVR target is built in */
70#cmakedefine01 LLVM_HAS_AVR_TARGET
71
72/* Define if the BPF target is built in */
73#cmakedefine01 LLVM_HAS_BPF_TARGET
74
75/* Define if the CSKY target is built in */
76#cmakedefine01 LLVM_HAS_CSKY_TARGET
77
78/* Define if the DirectX target is built in */
79#cmakedefine01 LLVM_HAS_DIRECTX_TARGET
80
81/* Define if the Hexagon target is built in */
82#cmakedefine01 LLVM_HAS_HEXAGON_TARGET
83
84/* Define if the Lanai target is built in */
85#cmakedefine01 LLVM_HAS_LANAI_TARGET
86
87/* Define if the LoongArch target is built in */
88#cmakedefine01 LLVM_HAS_LOONGARCH_TARGET
89
90/* Define if the M68k target is built in */
91#cmakedefine01 LLVM_HAS_M68K_TARGET
92
93/* Define if the Mips target is built in */
94#cmakedefine01 LLVM_HAS_MIPS_TARGET
95
96/* Define if the MSP430 target is built in */
97#cmakedefine01 LLVM_HAS_MSP430_TARGET
98
99/* Define if the NVPTX target is built in */
100#cmakedefine01 LLVM_HAS_NVPTX_TARGET
101
102/* Define if the PowerPC target is built in */
103#cmakedefine01 LLVM_HAS_POWERPC_TARGET
104
105/* Define if the RISCV target is built in */
106#cmakedefine01 LLVM_HAS_RISCV_TARGET
107
108/* Define if the Sparc target is built in */
109#cmakedefine01 LLVM_HAS_SPARC_TARGET
110
111/* Define if the SPIRV target is built in */
112#cmakedefine01 LLVM_HAS_SPIRV_TARGET
113
114/* Define if the SystemZ target is built in */
115#cmakedefine01 LLVM_HAS_SYSTEMZ_TARGET
116
117/* Define if the VE target is built in */
118#cmakedefine01 LLVM_HAS_VE_TARGET
119
120/* Define if the WebAssembly target is built in */
121#cmakedefine01 LLVM_HAS_WEBASSEMBLY_TARGET
122
123/* Define if the X86 target is built in */
124#cmakedefine01 LLVM_HAS_X86_TARGET
125
126/* Define if the XCore target is built in */
127#cmakedefine01 LLVM_HAS_XCORE_TARGET
128
129/* Define if the Xtensa target is built in */
130#cmakedefine01 LLVM_HAS_XTENSA_TARGET
131
132/* Define if this is Unixish platform */
133#cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}
134
135/* Define if we have the Intel JIT API runtime support library */
136#cmakedefine01 LLVM_USE_INTEL_JITEVENTS
137
138/* Define if we have the oprofile JIT-support library */
139#cmakedefine01 LLVM_USE_OPROFILE
140
141/* Define if we have the perf JIT-support library */
142#cmakedefine01 LLVM_USE_PERF
143
144/* Major version of the LLVM API */
145#define LLVM_VERSION_MAJOR ${LLVM_VERSION_MAJOR}
146
147/* Minor version of the LLVM API */
148#define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
149
150/* Patch version of the LLVM API */
151#define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH}
152
153/* LLVM version string */
154#define LLVM_VERSION_STRING "${PACKAGE_VERSION}"
155
156/* Whether LLVM records statistics for use with GetStatistics(),
157 * PrintStatistics() or PrintStatisticsJSON()
158 */
159#cmakedefine01 LLVM_FORCE_ENABLE_STATS
160
161/* Define if we have z3 and want to build it */
162#cmakedefine LLVM_WITH_Z3 ${LLVM_WITH_Z3}
163
164/* Define if we have curl and want to use it */
165#cmakedefine LLVM_ENABLE_CURL ${LLVM_ENABLE_CURL}
166
167/* Define if we have cpp-httplib and want to use it */
168#cmakedefine LLVM_ENABLE_HTTPLIB ${LLVM_ENABLE_HTTPLIB}
169
170/* Define if zlib compression is available */
171#cmakedefine01 LLVM_ENABLE_ZLIB
172
173/* Define if zstd compression is available */
174#cmakedefine01 LLVM_ENABLE_ZSTD
175
176/* Define if LLVM is using tflite */
177#cmakedefine LLVM_HAVE_TFLITE
178
179/* Define to 1 if you have the <sysexits.h> header file. */
180#cmakedefine HAVE_SYSEXITS_H ${HAVE_SYSEXITS_H}
181
182/* Define if building libLLVM shared library */
183#cmakedefine LLVM_BUILD_LLVM_DYLIB
184
185/* Define if building LLVM with BUILD_SHARED_LIBS */
186#cmakedefine LLVM_BUILD_SHARED_LIBS
187
188/* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
189#cmakedefine LLVM_FORCE_USE_OLD_TOOLCHAIN ${LLVM_FORCE_USE_OLD_TOOLCHAIN}
190
191/* Define if llvm_unreachable should be optimized with undefined behavior
192 * in non assert builds */
193#cmakedefine01 LLVM_UNREACHABLE_OPTIMIZE
194
195/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
196#cmakedefine01 LLVM_ENABLE_DIA_SDK
197
198/* Define if plugins enabled */
199#cmakedefine LLVM_ENABLE_PLUGINS
200
201/* Define if logf128 is available */
202#cmakedefine LLVM_HAS_LOGF128
203
204#endif
205