Fix installation issues from RT library cmake split
[dyninst.git] / cmake / cap_arch_def.cmake
1 # The test suite needs this as a list rather than a bunch
2 # of definitions so that we can append _test to it. 
3
4 set (CAP_DEFINES
5      -Dcap_dynamic_heap 
6      -Dcap_liveness 
7      -Dcap_threads
8 )
9
10 if (${USE_GNU_DEMANGLER} MATCHES 1)
11 set (CAP_DEFINES ${CAP_DEFINES} -Dcap_gnu_demangler)
12 endif()
13
14 if (PLATFORM MATCHES i386)
15 set (ARCH_DEFINES -Darch_x86)
16 set (CAP_DEFINES ${CAP_DEFINES}
17              -Dcap_fixpoint_gen 
18              -Dcap_noaddr_gen 
19              -Dcap_stripped_binaries 
20              -Dcap_tramp_liveness 
21              -Dcap_virtual_registers
22     )
23
24 elseif (PLATFORM MATCHES x86_64 OR PLATFORM MATCHES amd64)
25 set (ARCH_DEFINES -Darch_x86_64 -Darch_64bit)
26 set (CAP_DEFINES ${CAP_DEFINES} 
27              -Dcap_32_64
28              -Dcap_fixpoint_gen 
29              -Dcap_noaddr_gen
30              -Dcap_registers
31              -Dcap_stripped_binaries 
32              -Dcap_tramp_liveness 
33     )
34
35 elseif (PLATFORM MATCHES ppc32)
36 set (ARCH_DEFINES -Darch_power)
37 set (CAP_DEFINES ${CAP_DEFINES} 
38              -Dcap_registers
39     )
40
41 elseif (PLATFORM MATCHES ppc64)
42 set (ARCH_DEFINES -Darch_power -Darch_64bit)
43 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
44 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
45 set (CAP_DEFINES ${CAP_DEFINES} 
46              -Dcap_32_64
47              -Dcap_registers
48              -Dcap_toc_64
49     )
50 endif (PLATFORM MATCHES i386)
51
52 if (PLATFORM MATCHES linux)
53 set (OS_DEFINES -Dos_linux)
54 set (CAP_DEFINES ${CAP_DEFINES} 
55              -Dcap_async_events
56              -Dcap_binary_rewriter
57              -Dcap_dwarf
58              -Dcap_mutatee_traps
59              -Dcap_ptrace
60     )
61 set (BUG_DEFINES -Dbug_syscall_changepc_rewind -Dbug_force_terminate_failure)
62
63 elseif (PLATFORM MATCHES bgq_ion)
64 set (OS_DEFINES -Dos_bg -Dos_bgq -Dos_bgq_ion -Dos_linux)
65 set (CAP_DEFINES ${CAP_DEFINES} 
66              -Dcap_async_events
67              -Dcap_binary_rewriter
68              -Dcap_dwarf
69              -Dcap_mutatee_traps
70              -Dcap_ptrace
71     )
72 set (BUG_DEFINES -Dbug_syscall_changepc_rewind)
73
74 elseif (PLATFORM MATCHES cnl)
75 set (OS_DEFINES -Dos_linux -Dos_cnl)
76 set (CAP_DEFINES ${CAP_DEFINES} 
77              -Dcap_async_events
78              -Dcap_binary_rewriter
79              -Dcap_dwarf
80              -Dcap_mutatee_traps
81              -Dcap_ptrace
82     )
83 set (BUG_DEFINES -Dbug_syscall_changepc_rewind)
84
85 elseif (PLATFORM MATCHES freebsd)
86 set (OS_DEFINES -Dos_freebsd)
87 set (CAP_DEFINES ${CAP_DEFINES} 
88              -Dcap_binary_rewriter
89              -Dcap_dwarf
90              -Dcap_mutatee_traps
91     )
92 set (BUG_DEFINES -Dbug_freebsd_missing_sigstop 
93              -Dbug_freebsd_mt_suspend 
94              -Dbug_freebsd_change_pc 
95              -Dbug_phdrs_first_page 
96              -Dbug_syscall_changepc_rewind
97     )
98
99 elseif (PLATFORM STREQUAL i386-unknown-nt4.0)
100 set (OS_DEFINES -Dos_windows)
101 set (CAP_DEFINES ${CAP_DEFINES} 
102              -Dcap_mem_emulation
103     )
104 endif (PLATFORM MATCHES linux)
105
106
107 if (PLATFORM STREQUAL i386-unknown-linux2.4)
108 set (OLD_DEFINES -Di386_unknown_linux2_0)
109
110 elseif (PLATFORM STREQUAL x86_64-unknown-linux2.4)
111 set (OLD_DEFINES -Dx86_64_unknown_linux2_4)
112
113 elseif (PLATFORM STREQUAL ppc32_linux)
114 set (OLD_DEFINES -Dppc32_linux)
115 set (BUG_DEFINES -Dbug_registers_after_exit)
116
117 elseif (PLATFORM STREQUAL ppc64_linux)
118 set (OLD_DEFINES -Dppc64_linux)
119 set (BUG_DEFINES ${BUG_DEF} -Dbug_registers_after_exit)
120
121 elseif (PLATFORM STREQUAL ppc64_bgq_ion)
122 set (OLD_DEFINES -Dppc64_bluegene -Dppc64_linux)
123
124 elseif (PLATFORM STREQUAL x86_64_cnl)
125 set (OLD_DEFINES -Dx86_64_cnl -Dx86_64_unknown_linux2_4)
126
127 elseif (PLATFORM STREQUAL i386-unknown-freebsd7.2)
128 set (OLD_DEFINES -Di386_unknown_freebsd7_0)
129
130 elseif (PLATFORM STREQUAL amd64-unknown-freebsd7.2)
131 set (OLD_DEFINES -Damd64_unknown_freebsd7_0)
132
133 elseif (PLATFORM STREQUAL i386-unknown-nt4.0)
134 set (OLD_DEFINES -Di386_unknown_nt4_0)
135
136 else (PLATFORM STREQUAL i386-unknown-linux2.4)
137   message (FATAL_ERROR "Unknown platform: $(PLATFORM)")
138 endif (PLATFORM STREQUAL i386-unknown-linux2.4)
139
140 if (THREAD_DB_FOUND)
141 message ("-- Enabling ThreadDB support")
142 set (CAP_DEFINES ${CAP_DEFINES} -Dcap_thread_db)
143 endif (THREAD_DB_FOUND)
144
145 set (UNIFIED_DEFINES ${CAP_DEFINES} ${BUG_DEFINES} ${ARCH_DEFINES} ${OS_DEFINES} ${OLD_DEFINES})
146
147 foreach (def ${UNIFIED_DEFINES})
148   add_definitions (${def})
149 endforeach()
150
151
152 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${UNIFIED_DEF_STRING}")
153 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${UNIFIED_DEF_STRING}")
154