You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.7 KiB
112 lines
3.7 KiB
#ifndef BCC_CONFIG_CONFIG_H
|
|
#define BCC_CONFIG_CONFIG_H
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Configuration for Disassembler
|
|
//---------------------------------------------------------------------------
|
|
|
|
#if DEBUG_MC_DISASSEMBLER
|
|
#define USE_DISASSEMBLER 1
|
|
#else
|
|
#define USE_DISASSEMBLER 0
|
|
#endif
|
|
|
|
#if defined(__HOST__)
|
|
#define DEBUG_DISASSEMBLER_FILE "/tmp/mc-dis.s"
|
|
#else
|
|
#define DEBUG_DISASSEMBLER_FILE "/data/local/tmp/mc-dis.s"
|
|
#endif // defined(__HOST__)
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Configuration for CodeGen and CompilerRT
|
|
//---------------------------------------------------------------------------
|
|
|
|
#if defined(FORCE_ARM_CODEGEN)
|
|
#define PROVIDE_ARM_CODEGEN 1
|
|
#define DEFAULT_ARM_CODEGEN 1
|
|
|
|
#elif defined(FORCE_ARM64_CODEGEN)
|
|
#define PROVIDE_ARM_CODEGEN 1
|
|
#define PROVIDE_ARM64_CODEGEN 1
|
|
#define DEFAULT_ARM64_CODEGEN 1
|
|
|
|
#elif defined(FORCE_MIPS_CODEGEN)
|
|
#define PROVIDE_MIPS_CODEGEN 1
|
|
#define DEFAULT_MIPS_CODEGEN 1
|
|
|
|
#elif defined(FORCE_MIPS64_CODEGEN)
|
|
#define PROVIDE_MIPS_CODEGEN 1
|
|
#define PROVIDE_MIPS64_CODEGEN 1
|
|
#define DEFAULT_MIPS64_CODEGEN 1
|
|
|
|
#elif defined(FORCE_X86_CODEGEN)
|
|
#define PROVIDE_X86_CODEGEN 1
|
|
#define DEFAULT_X86_CODEGEN 1
|
|
|
|
#elif defined(FORCE_X86_64_CODEGEN)
|
|
// There is no separate X86_64 code generation target. It is all part of X86.
|
|
#define PROVIDE_X86_CODEGEN 1
|
|
#define DEFAULT_X86_64_CODEGEN 1
|
|
|
|
#else
|
|
#define PROVIDE_ARM_CODEGEN 1
|
|
#define PROVIDE_ARM64_CODEGEN 1
|
|
#define PROVIDE_MIPS_CODEGEN 1
|
|
#define PROVIDE_MIPS64_CODEGEN 1
|
|
#define PROVIDE_X86_CODEGEN 1
|
|
#define PROVIDE_X86_64_CODEGEN 1
|
|
|
|
#if defined(__arm__)
|
|
#define DEFAULT_ARM_CODEGEN 1
|
|
#elif defined(__aarch64__)
|
|
#define DEFAULT_ARM64_CODEGEN 1
|
|
#elif defined(__mips__)
|
|
#if defined(__LP64__)
|
|
#define DEFAULT_MIPS64_CODEGEN 1
|
|
#else
|
|
#define DEFAULT_MIPS_CODEGEN 1
|
|
#endif
|
|
#elif defined(__i386__)
|
|
#define DEFAULT_X86_CODEGEN 1
|
|
#elif defined(__x86_64__)
|
|
#define DEFAULT_X86_64_CODEGEN 1
|
|
#endif
|
|
#endif
|
|
|
|
#define DEFAULT_ARM_TRIPLE_STRING "armv7-none-linux-gnueabi"
|
|
#define DEFAULT_THUMB_TRIPLE_STRING "thumbv7-none-linux-gnueabi"
|
|
#define DEFAULT_ARM64_TRIPLE_STRING "aarch64-none-linux-gnueabi"
|
|
#define DEFAULT_MIPS_TRIPLE_STRING "mipsel-none-linux-gnueabi"
|
|
#define DEFAULT_MIPS64_TRIPLE_STRING "mips64el-none-linux-gnueabi"
|
|
#define DEFAULT_X86_TRIPLE_STRING "i686-unknown-linux"
|
|
#define DEFAULT_X86_64_TRIPLE_STRING "x86_64-unknown-linux"
|
|
|
|
// Custom DataLayout string for X86 with i64 and f64 set to match the ARM32
|
|
// alignment requirement of 64-bits.
|
|
#define X86_CUSTOM_DL_STRING "e-m:e-p:32:32-i64:64-f64:64:64-f80:32-n8:16:32-S128"
|
|
// Default DataLayout string for X86. Present to detect future LLVM datalayout
|
|
// changes so X86_CUSTOM_DL_STRING above can be modified appropriately.
|
|
#define X86_DEFAULT_DL_STRING "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
|
|
|
|
#if defined(DEFAULT_ARM_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_ARM_TRIPLE_STRING
|
|
#elif defined(DEFAULT_ARM64_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_ARM64_TRIPLE_STRING
|
|
#elif defined(DEFAULT_MIPS_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_MIPS_TRIPLE_STRING
|
|
#elif defined(DEFAULT_MIPS64_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_MIPS64_TRIPLE_STRING
|
|
#elif defined(DEFAULT_X86_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_X86_TRIPLE_STRING
|
|
#elif defined(DEFAULT_X86_64_CODEGEN)
|
|
#define DEFAULT_TARGET_TRIPLE_STRING DEFAULT_X86_64_TRIPLE_STRING
|
|
#endif
|
|
|
|
#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
|
|
#define ARM_USE_VFP
|
|
#endif
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
#endif // BCC_CONFIG_CONFIG_H
|