Config.h revision 1dc6314a03b320f9ba5431834c2deeba13f5f065
1358490082d8435aa36feaff8107aa55c3cf363adLogan#ifndef BCC_CONFIG_H
2358490082d8435aa36feaff8107aa55c3cf363adLogan#define BCC_CONFIG_H
3358490082d8435aa36feaff8107aa55c3cf363adLogan
4358490082d8435aa36feaff8107aa55c3cf363adLogan//---------------------------------------------------------------------------
51dc6314a03b320f9ba5431834c2deeba13f5f065Logan// Configuration for libbcc
61dc6314a03b320f9ba5431834c2deeba13f5f065Logan//---------------------------------------------------------------------------
7358490082d8435aa36feaff8107aa55c3cf363adLogan
8358490082d8435aa36feaff8107aa55c3cf363adLogan#define USE_CACHE 1
9358490082d8435aa36feaff8107aa55c3cf363adLogan
10358490082d8435aa36feaff8107aa55c3cf363adLogan#define USE_DISASSEMBLER 1
11358490082d8435aa36feaff8107aa55c3cf363adLogan
12358490082d8435aa36feaff8107aa55c3cf363adLogan#define USE_DISASSEMBLER_FILE 0
13358490082d8435aa36feaff8107aa55c3cf363adLogan
140671ee77dcd97a60a493a1213eaf7db08d224049Shih-wei Liao#define USE_LIBBCC_SHA1SUM 1
15358490082d8435aa36feaff8107aa55c3cf363adLogan
16358490082d8435aa36feaff8107aa55c3cf363adLogan//---------------------------------------------------------------------------
171dc6314a03b320f9ba5431834c2deeba13f5f065Logan// Configuration for ContextManager
181dc6314a03b320f9ba5431834c2deeba13f5f065Logan//---------------------------------------------------------------------------
191dc6314a03b320f9ba5431834c2deeba13f5f065Logan
201dc6314a03b320f9ba5431834c2deeba13f5f065Logan// Note: Most of the code should NOT use these constants.  Use the public
211dc6314a03b320f9ba5431834c2deeba13f5f065Logan// static member of ContextManager instead, which is type-safe.  For example,
221dc6314a03b320f9ba5431834c2deeba13f5f065Logan// if you need BCC_CONTEXT_FIXED_ADDR_, then you should write:
231dc6314a03b320f9ba5431834c2deeba13f5f065Logan// ContextManager::ContextFixedAddr
241dc6314a03b320f9ba5431834c2deeba13f5f065Logan
251dc6314a03b320f9ba5431834c2deeba13f5f065Logan#define BCC_CONTEXT_FIXED_ADDR_ reinterpret_cast<char *>(0x7e000000)
261dc6314a03b320f9ba5431834c2deeba13f5f065Logan
271dc6314a03b320f9ba5431834c2deeba13f5f065Logan#define BCC_CONTEXT_SLOT_COUNT_ 8
281dc6314a03b320f9ba5431834c2deeba13f5f065Logan
291dc6314a03b320f9ba5431834c2deeba13f5f065Logan#define BCC_CONTEXT_CODE_SIZE_ (128 * 1024)
301dc6314a03b320f9ba5431834c2deeba13f5f065Logan
311dc6314a03b320f9ba5431834c2deeba13f5f065Logan#define BCC_CONTEXT_DATA_SIZE_ (128 * 1024)
321dc6314a03b320f9ba5431834c2deeba13f5f065Logan
331dc6314a03b320f9ba5431834c2deeba13f5f065Logan//---------------------------------------------------------------------------
341dc6314a03b320f9ba5431834c2deeba13f5f065Logan// Configuration for CodeGen and CompilerRT
351dc6314a03b320f9ba5431834c2deeba13f5f065Logan//---------------------------------------------------------------------------
36358490082d8435aa36feaff8107aa55c3cf363adLogan
37358490082d8435aa36feaff8107aa55c3cf363adLogan#if defined(__arm__)
38358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_ARM_CODEGEN
39358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_ARM_CODEGEN
40358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(__i386__)
41358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_X86_CODEGEN
42358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_X86_CODEGEN
43358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(__x86_64__)
44358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_X64_CODEGEN
45358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_X64_CODEGEN
46358490082d8435aa36feaff8107aa55c3cf363adLogan#endif
47358490082d8435aa36feaff8107aa55c3cf363adLogan
48358490082d8435aa36feaff8107aa55c3cf363adLogan#if defined(FORCE_ARM_CODEGEN)
49358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_ARM_CODEGEN
50358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_X86_CODEGEN
51358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_X64_CODEGEN
52358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_ARM_CODEGEN
53358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_X86_CODEGEN
54358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_X64_CODEGEN
55358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(FORCE_X86_CODEGEN)
56358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_ARM_CODEGEN
57358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_X86_CODEGEN
58358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_X64_CODEGEN
59358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_ARM_CODEGEN
60358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_X86_CODEGEN
61358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_X64_CODEGEN
62358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(FORCE_X64_CODEGEN)
63358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_ARM_CODEGEN
64358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef DEFAULT_X86_CODEGEN
65358490082d8435aa36feaff8107aa55c3cf363adLogan  #define DEFAULT_X64_CODEGEN
66358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_ARM_CODEGEN
67358490082d8435aa36feaff8107aa55c3cf363adLogan  #undef PROVIDE_X86_CODEGEN
68358490082d8435aa36feaff8107aa55c3cf363adLogan  #define PROVIDE_X64_CODEGEN
69358490082d8435aa36feaff8107aa55c3cf363adLogan#endif
70358490082d8435aa36feaff8107aa55c3cf363adLogan
71358490082d8435aa36feaff8107aa55c3cf363adLogan#if defined(DEFAULT_ARM_CODEGEN)
72358490082d8435aa36feaff8107aa55c3cf363adLogan  #define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi"
73358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(DEFAULT_X86_CODEGEN)
74358490082d8435aa36feaff8107aa55c3cf363adLogan  #define TARGET_TRIPLE_STRING "i686-unknown-linux"
75358490082d8435aa36feaff8107aa55c3cf363adLogan#elif defined(DEFAULT_X64_CODEGEN)
76358490082d8435aa36feaff8107aa55c3cf363adLogan  #define TARGET_TRIPLE_STRING "x86_64-unknown-linux"
77358490082d8435aa36feaff8107aa55c3cf363adLogan#endif
78358490082d8435aa36feaff8107aa55c3cf363adLogan
79358490082d8435aa36feaff8107aa55c3cf363adLogan#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
80358490082d8435aa36feaff8107aa55c3cf363adLogan  #define ARM_USE_VFP
81358490082d8435aa36feaff8107aa55c3cf363adLogan#endif
82358490082d8435aa36feaff8107aa55c3cf363adLogan
83358490082d8435aa36feaff8107aa55c3cf363adLogan//---------------------------------------------------------------------------
84358490082d8435aa36feaff8107aa55c3cf363adLogan
85358490082d8435aa36feaff8107aa55c3cf363adLogan#endif // BCC_CONFIG_H
86