Config.h revision 1dc6314a03b320f9ba5431834c2deeba13f5f065
1#ifndef BCC_CONFIG_H
2#define BCC_CONFIG_H
3
4//---------------------------------------------------------------------------
5// Configuration for libbcc
6//---------------------------------------------------------------------------
7
8#define USE_CACHE 1
9
10#define USE_DISASSEMBLER 1
11
12#define USE_DISASSEMBLER_FILE 0
13
14#define USE_LIBBCC_SHA1SUM 1
15
16//---------------------------------------------------------------------------
17// Configuration for ContextManager
18//---------------------------------------------------------------------------
19
20// Note: Most of the code should NOT use these constants.  Use the public
21// static member of ContextManager instead, which is type-safe.  For example,
22// if you need BCC_CONTEXT_FIXED_ADDR_, then you should write:
23// ContextManager::ContextFixedAddr
24
25#define BCC_CONTEXT_FIXED_ADDR_ reinterpret_cast<char *>(0x7e000000)
26
27#define BCC_CONTEXT_SLOT_COUNT_ 8
28
29#define BCC_CONTEXT_CODE_SIZE_ (128 * 1024)
30
31#define BCC_CONTEXT_DATA_SIZE_ (128 * 1024)
32
33//---------------------------------------------------------------------------
34// Configuration for CodeGen and CompilerRT
35//---------------------------------------------------------------------------
36
37#if defined(__arm__)
38  #define DEFAULT_ARM_CODEGEN
39  #define PROVIDE_ARM_CODEGEN
40#elif defined(__i386__)
41  #define DEFAULT_X86_CODEGEN
42  #define PROVIDE_X86_CODEGEN
43#elif defined(__x86_64__)
44  #define DEFAULT_X64_CODEGEN
45  #define PROVIDE_X64_CODEGEN
46#endif
47
48#if defined(FORCE_ARM_CODEGEN)
49  #define DEFAULT_ARM_CODEGEN
50  #undef DEFAULT_X86_CODEGEN
51  #undef DEFAULT_X64_CODEGEN
52  #define PROVIDE_ARM_CODEGEN
53  #undef PROVIDE_X86_CODEGEN
54  #undef PROVIDE_X64_CODEGEN
55#elif defined(FORCE_X86_CODEGEN)
56  #undef DEFAULT_ARM_CODEGEN
57  #define DEFAULT_X86_CODEGEN
58  #undef DEFAULT_X64_CODEGEN
59  #undef PROVIDE_ARM_CODEGEN
60  #define PROVIDE_X86_CODEGEN
61  #undef PROVIDE_X64_CODEGEN
62#elif defined(FORCE_X64_CODEGEN)
63  #undef DEFAULT_ARM_CODEGEN
64  #undef DEFAULT_X86_CODEGEN
65  #define DEFAULT_X64_CODEGEN
66  #undef PROVIDE_ARM_CODEGEN
67  #undef PROVIDE_X86_CODEGEN
68  #define PROVIDE_X64_CODEGEN
69#endif
70
71#if defined(DEFAULT_ARM_CODEGEN)
72  #define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi"
73#elif defined(DEFAULT_X86_CODEGEN)
74  #define TARGET_TRIPLE_STRING "i686-unknown-linux"
75#elif defined(DEFAULT_X64_CODEGEN)
76  #define TARGET_TRIPLE_STRING "x86_64-unknown-linux"
77#endif
78
79#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
80  #define ARM_USE_VFP
81#endif
82
83//---------------------------------------------------------------------------
84
85#endif // BCC_CONFIG_H
86