19318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#ifndef LLVM_NATIVE_CONFIG_H 29318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 39318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/*===-- llvm/config/llvm-native-config.h --------------------------*- C -*-===*/ 49318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* */ 59318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* The LLVM Compiler Infrastructure */ 69318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* */ 79318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* This file is distributed under the University of Illinois Open Source */ 89318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* License. See LICENSE.TXT for details. */ 99318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* */ 109318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/*===----------------------------------------------------------------------===*/ 119318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 129318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#if defined(__i386__) || defined(__x86_64__) 139318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 149318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM architecture name for the native architecture, if available */ 159318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ARCH X86 169318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 172123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines/* Host triple LLVM will be executed on */ 189151f6474c0c3c696e75a12a605c48f54da4665fStephen Hines#define LLVM_HOST_TRIPLE "i686-unknown-linux-gnu" 192123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines 209318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmParser init function, if available */ 219318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser 229318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 239318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmPrinter init function, if available */ 249318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter 259318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 269318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Disassembler init function, if available */ 279318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler 289318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 299318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Target init function, if available */ 309318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGET LLVMInitializeX86Target 319318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 329318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native TargetInfo init function, if available */ 339318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo 349318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 359318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native target MC init function, if available */ 369318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC 379318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 389318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 399318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#elif defined(__arm__) 409318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 419318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM architecture name for the native architecture, if available */ 429318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ARCH ARM 439318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 442123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines/* Host triple LLVM will be executed on */ 459151f6474c0c3c696e75a12a605c48f54da4665fStephen Hines#define LLVM_HOST_TRIPLE "arm-unknown-linux-gnu" 462123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines 479318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmParser init function, if available */ 489318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser 499318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 509318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmPrinter init function, if available */ 519318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter 529318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 539318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Disassembler init function, if available */ 549318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler 559318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 569318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Target init function, if available */ 579318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGET LLVMInitializeARMTarget 589318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 599318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native TargetInfo init function, if available */ 609318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo 619318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 629318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native target MC init function, if available */ 639318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC 649318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 659318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 669318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#elif defined(__mips__) 679318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 689318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM architecture name for the native architecture, if available */ 699318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ARCH Mips 709318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 712123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines/* Host triple LLVM will be executed on */ 729151f6474c0c3c696e75a12a605c48f54da4665fStephen Hines#define LLVM_HOST_TRIPLE "mipsel-unknown-linux-gnu" 732123c1c0de9e6006dfffe9123b4b992703202e3eStephen Hines 749318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmParser init function, if available */ 759318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser 769318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 779318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native AsmPrinter init function, if available */ 789318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter 799318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 809318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Disassembler init function, if available */ 819318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler 829318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 839318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native Target init function, if available */ 849318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget 859318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 869318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native TargetInfo init function, if available */ 879318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo 889318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 899318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* LLVM name for the native target MC init function, if available */ 909318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC 919318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 928aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#elif defined(__aarch64__) 938aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 948aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM architecture name for the native architecture, if available */ 958aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_ARCH AArch64 968aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 978aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* Host triple LLVM will be executed on */ 988aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_HOST_TRIPLE "aarch64-none-linux-gnu" 998aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1008aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native AsmParser init function, if available */ 1018aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser 1028aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1038aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native AsmPrinter init function, if available */ 1048aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter 1058aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1068aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native Disassembler init function, if available */ 1078aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler 1088aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1098aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native Target init function, if available */ 1108aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target 1118aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1128aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native TargetInfo init function, if available */ 1138aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo 1148aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray 1158aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray/* LLVM name for the native target MC init function, if available */ 1168aa5ce8cbaa58d14493eb694f06c8a0fde23c509Tim Murray#define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC 1179318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1189318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#else 1199318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1209318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#error "Unknown native architecture" 1219318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1229318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#endif 1239318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1249318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1259318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1269318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#if defined(_WIN32) || defined(_WIN64) 1279318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1289318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define if this is Unixish platform */ 1299318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* #undef LLVM_ON_UNIX */ 1309318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1319318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define if this is Win32ish platform */ 1329318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_ON_WIN32 1 1339318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1349318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define to 1 if you have the <windows.h> header file. */ 1359318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define HAVE_WINDOWS_H 1 1369318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1379318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define to 1 if you have the `psapi' library (-lpsapi). */ 1389318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define HAVE_LIBPSAPI 1 1399318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1409318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define to 1 if you have the `imagehlp' library (-limagehlp). */ 1419318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define HAVE_LIBIMAGEHLP 1 1429318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1439318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Type of 1st arg on ELM Callback */ 1448a95734f9813e11664344a198af8c9203451e684Stephen Hines#define WIN32_ELMCB_PCSTR PCSTR 1459318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1469318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1479318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#else /* Linux, Mac OS X, ... Unixish platform */ 1489318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1499318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define if this is Unixish platform */ 1509318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#define LLVM_ON_UNIX 1 1519318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1529318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Define if this is Win32ish platform */ 1539318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* #undef LLVM_ON_WIN32 */ 1549318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1559318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* Type of 1st arg on ELM Callback */ 1569318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien/* #undef WIN32_ELMCB_PCSTR */ 1579318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1589318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#endif 1599318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien 1609318a38869458cef6806cf85a7d7d8157101fb9fLogan Chien#endif // LLVM_NATIVE_CONFIG_H 161