1 /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ 2 /* */ 3 /* The LLVM Compiler Infrastructure */ 4 /* */ 5 /* This file is distributed under the University of Illinois Open Source */ 6 /* License. See LICENSE.TXT for details. */ 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 /* Define if we link Polly to the tools */ 21 /* #undef LINK_POLLY_INTO_TOOLS */ 22 23 /* Target triple LLVM will generate code for by default */ 24 #if defined(__x86_64__) 25 #define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-linux-android" 26 #elif defined(__i386__) 27 #define LLVM_DEFAULT_TARGET_TRIPLE "i686-linux-android" 28 #elif defined(__arm__) 29 #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-androideabi" 30 #elif defined(__aarch64__) 31 #define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-android" 32 #else 33 #error "unknown architecture" 34 #endif 35 36 /* Define if threads enabled */ 37 #define LLVM_ENABLE_THREADS 1 38 39 /* Has gcc/MSVC atomic intrinsics */ 40 #define LLVM_HAS_ATOMICS 1 41 42 /* Host triple LLVM will be executed on */ 43 #if defined(__x86_64__) 44 #define LLVM_HOST_TRIPLE "x86_64-linux-android" 45 #elif defined(__i386__) 46 #define LLVM_HOST_TRIPLE "i686-linux-android" 47 #elif defined(__arm__) 48 #define LLVM_HOST_TRIPLE "armv7-linux-androideabi" 49 #elif defined(__aarch64__) 50 #define LLVM_HOST_TRIPLE "aarch64-linux-android" 51 #else 52 #error "unknown architecture" 53 #endif 54 55 /* LLVM architecture name for the native architecture, if available */ 56 #if defined(__aarch64__) 57 #define LLVM_NATIVE_ARCH AArch64 58 #elif defined(__arm__) 59 #define LLVM_NATIVE_ARCH ARM 60 #elif defined(__i386__) || defined(__x86_64__) 61 #define LLVM_NATIVE_ARCH X86 62 #elif defined(__mips__) 63 #define LLVM_NATIVE_ARCH Mips 64 #else 65 #error "unknown architecture" 66 #endif 67 68 /* LLVM name for the native AsmParser init function, if available */ 69 #if defined(__aarch64__) 70 #define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser 71 #elif defined(__arm__) 72 #define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser 73 #elif defined(__i386__) || defined(__x86_64__) 74 #define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser 75 #elif defined(__mips__) 76 #define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser 77 #else 78 #error "unknown architecture" 79 #endif 80 81 /* LLVM name for the native AsmPrinter init function, if available */ 82 #if defined(__aarch64__) 83 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter 84 #elif defined(__arm__) 85 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter 86 #elif defined(__i386__) || defined(__x86_64__) 87 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter 88 #elif defined(__mips__) 89 #define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter 90 #else 91 #error "unknown architecture" 92 #endif 93 94 /* LLVM name for the native Disassembler init function, if available */ 95 #if defined(__aarch64__) 96 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler 97 #elif defined(__arm__) 98 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler 99 #elif defined(__i386__) || defined(__x86_64__) 100 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler 101 #elif defined(__mips__) 102 #define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler 103 #else 104 #error "unknown architecture" 105 #endif 106 107 /* LLVM name for the native Target init function, if available */ 108 #if defined(__aarch64__) 109 #define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target 110 #elif defined(__arm__) 111 #define LLVM_NATIVE_TARGET LLVMInitializeARMTarget 112 #elif defined(__i386__) || defined(__x86_64__) 113 #define LLVM_NATIVE_TARGET LLVMInitializeX86Target 114 #elif defined(__mips__) 115 #define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget 116 #else 117 #error "unknown architecture" 118 #endif 119 120 /* LLVM name for the native TargetInfo init function, if available */ 121 #if defined(__aarch64__) 122 #define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo 123 #elif defined(__arm__) 124 #define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo 125 #elif defined(__i386__) || defined(__x86_64__) 126 #define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo 127 #elif defined(__mips__) 128 #define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo 129 #else 130 #error "unknown architecture" 131 #endif 132 133 /* LLVM name for the native target MC init function, if available */ 134 #if defined(__aarch64__) 135 #define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC 136 #elif defined(__arm__) 137 #define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC 138 #elif defined(__i386__) || defined(__x86_64__) 139 #define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC 140 #elif defined(__mips__) 141 #define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC 142 #else 143 #error "unknown architecture" 144 #endif 145 146 /* Define if this is Unixish platform */ 147 #define LLVM_ON_UNIX 1 148 149 /* Define if we have the Intel JIT API runtime support library */ 150 #define LLVM_USE_INTEL_JITEVENTS 0 151 152 /* Define if we have the oprofile JIT-support library */ 153 #define LLVM_USE_OPROFILE 0 154 155 /* Define if we have the perf JIT-support library */ 156 #define LLVM_USE_PERF 0 157 158 /* Major version of the LLVM API */ 159 #define LLVM_VERSION_MAJOR 7 160 161 /* Minor version of the LLVM API */ 162 #define LLVM_VERSION_MINOR 0 163 164 /* Patch version of the LLVM API */ 165 #define LLVM_VERSION_PATCH 0 166 167 /* LLVM version string */ 168 #define LLVM_VERSION_STRING "7.0.0" 169 170 /* Whether LLVM records statistics for use with GetStatistics(), 171 * PrintStatistics() or PrintStatisticsJSON() 172 */ 173 #define LLVM_FORCE_ENABLE_STATS 0 174 175 #endif 176