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 this is Unixish platform */
58 #cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}
60 /* Define if we have the Intel JIT API runtime support library */
61 #cmakedefine01 LLVM_USE_INTEL_JITEVENTS
63 /* Define if we have the oprofile JIT-support library */
64 #cmakedefine01 LLVM_USE_OPROFILE
66 /* Define if we have the perf JIT-support library */
67 #cmakedefine01 LLVM_USE_PERF
69 /* Major version of the LLVM API */
70 #define LLVM_VERSION_MAJOR ${LLVM_VERSION_MAJOR}
72 /* Minor version of the LLVM API */
73 #define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
75 /* Patch version of the LLVM API */
76 #define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH}
78 /* LLVM version string */
79 #define LLVM_VERSION_STRING "${PACKAGE_VERSION}"
81 /* Whether LLVM records statistics for use with GetStatistics(),
82 * PrintStatistics() or PrintStatisticsJSON()
84 #cmakedefine01 LLVM_FORCE_ENABLE_STATS
86 /* Define if we have z3 and want to build it */
87 #cmakedefine LLVM_WITH_Z3 ${LLVM_WITH_Z3}
89 /* Define if we have curl and want to use it */
90 #cmakedefine LLVM_ENABLE_CURL ${LLVM_ENABLE_CURL}
92 /* Define if we have cpp-httplib and want to use it */
93 #cmakedefine LLVM_ENABLE_HTTPLIB ${LLVM_ENABLE_HTTPLIB}
95 /* Define if zlib compression is available */
96 #cmakedefine01 LLVM_ENABLE_ZLIB
98 /* Define if zstd compression is available */
99 #cmakedefine01 LLVM_ENABLE_ZSTD
101 /* Define if LLVM is using tflite */
102 #cmakedefine LLVM_HAVE_TFLITE
104 /* Define to 1 if you have the <sysexits.h> header file. */
105 #cmakedefine HAVE_SYSEXITS_H ${HAVE_SYSEXITS_H}
107 /* Define if building libLLVM shared library */
108 #cmakedefine LLVM_BUILD_LLVM_DYLIB
110 /* Define if building LLVM with BUILD_SHARED_LIBS */
111 #cmakedefine LLVM_BUILD_SHARED_LIBS
113 /* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
114 #cmakedefine LLVM_FORCE_USE_OLD_TOOLCHAIN ${LLVM_FORCE_USE_OLD_TOOLCHAIN}
116 /* Define if llvm_unreachable should be optimized with undefined behavior
117 * in non assert builds */
118 #cmakedefine01 LLVM_UNREACHABLE_OPTIMIZE
120 /* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
121 #cmakedefine01 LLVM_ENABLE_DIA_SDK
123 /* Define if plugins enabled */
124 #cmakedefine LLVM_ENABLE_PLUGINS