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