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