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