Get CMake Dyninst building on linux/ppc64
[dyninst.git] / cmake / cap_arch_def.cmake
1
2 add_definitions (
3              -Dcap_dynamic_heap 
4              -Dcap_liveness 
5              -Dcap_threads
6     )
7
8 if (PLATFORM MATCHES i386)
9 add_definitions (-Darch_x86)
10 add_definitions (
11              -Dcap_fixpoint_gen 
12              -Dcap_noaddr_gen 
13              -Dcap_stripped_binaries 
14              -Dcap_tramp_liveness 
15              -Dcap_virtual_registers
16     )
17
18 elseif (PLATFORM MATCHES x86_64 OR PLATFORM MATCHES amd64)
19 add_definitions (-Darch_x86_64 -Darch_64bit)
20 add_definitions (
21              -Dcap_32_64
22              -Dcap_fixpoint_gen 
23              -Dcap_noaddr_gen
24              -Dcap_registers
25              -Dcap_stripped_binaries 
26              -Dcap_tramp_liveness 
27     )
28
29 elseif (PLATFORM MATCHES ppc32)
30 add_definitions (-Darch_ppc32 -Darch_power)
31 add_definitions (
32              -Dcap_registers
33     )
34
35 elseif (PLATFORM MATCHES ppc64)
36 add_definitions (-Darch_ppc64 -Darch_power -Darch_64bit)
37 set (CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -m64)
38 set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -m64)
39 add_definitions (
40              -Dcap_32_64
41              -Dcap_registers
42              -Dcap_toc_64
43     )
44 endif (PLATFORM MATCHES i386)
45
46 if (PLATFORM MATCHES linux)
47 add_definitions (-Dos_linux)
48 add_definitions (
49              -Dcap_async_events
50              -Dcap_binary_rewriter
51              -Dcap_dwarf
52              -Dcap_mutatee_traps
53              -Dcap_ptrace
54     )
55 add_definitions (-Dbug_syscall_changepc_rewind -Dbug_force_terminate_failure)
56
57 elseif (PLATFORM MATCHES bgq_ion)
58 add_definitions (-Dos_bg -Dos_bgq -Dos_bgq_ion -Dos_linux)
59 add_definitions (
60              -Dcap_async_events
61              -Dcap_binary_rewriter
62              -Dcap_dwarf
63              -Dcap_mutatee_traps
64              -Dcap_ptrace
65     )
66 add_definitions (-Dbug_syscall_changepc_rewind)
67
68 elseif (PLATFORM MATCHES cnl)
69 add_definitions (-Dos_linux -Dos_cnl)
70 add_definitions (
71              -Dcap_async_events
72              -Dcap_binary_rewriter
73              -Dcap_dwarf
74              -Dcap_mutatee_traps
75              -Dcap_ptrace
76     )
77 add_definitions (-Dbug_syscall_changepc_rewind)
78
79 elseif (PLATFORM MATCHES freebsd)
80 add_definitions (-Dos_freebsd)
81 add_definitions (
82              -Dcap_binary_rewriter
83              -Dcap_dwarf
84              -Dcap_mutatee_traps
85     )
86 add_definitions (-Dbug_freebsd_missing_sigstop 
87              -Dbug_freebsd_mt_suspend 
88              -Dbug_freebsd_change_pc 
89              -Dbug_phdrs_first_page 
90              -Dbug_syscall_changepc_rewind
91     )
92
93 elseif (PLATFORM MATCHES windows)
94 add_definitions (-Dos_windows)
95 add_definitions (
96              -Dcap_mem_emulation
97     )
98 endif (PLATFORM MATCHES linux)
99
100
101 if (PLATFORM STREQUAL i386-unknown-linux2.4)
102 add_definitions (-Di386_unknown_linux2_0)
103
104 elseif (PLATFORM STREQUAL x86_64-unknown-linux2.4)
105 add_definitions (-Dx86_64_unknown_linux2_4)
106
107 elseif (PLATFORM STREQUAL ppc32_linux)
108 add_definitions (-Dppc32_linux)
109 add_definitions (${BUG_DEF} -Dbug_registers_after_exit)
110
111 elseif (PLATFORM STREQUAL ppc64_linux)
112 add_definitions (-Dppc64_linux)
113 add_definitions (${BUG_DEF} -Dbug_registers_after_exit)
114
115 elseif (PLATFORM STREQUAL ppc64_bgq_ion)
116 add_definitions (-Dppc64_bluegene -Dppc64_linux)
117
118 elseif (PLATFORM STREQUAL x86_64_cnl)
119 add_definitions (-Dx86_64_cnl -Dx86_64_unknown_linux2_4)
120
121 elseif (PLATFORM STREQUAL i386-unknown-freebsd7.2)
122 add_definitions (-Di386_unknown_freebsd7_0)
123
124 elseif (PLATFORM STREQUAL amd64-unknown-freebsd7.2)
125 add_definitions (-Damd64_unknown_freebsd7_0)
126
127 else (PLATFORM STREQUAL i386-unknown-linux2.4)
128   message (FATAL_ERROR "Unknown platform: $(PLATFORM)")
129 endif (PLATFORM STREQUAL i386-unknown-linux2.4)
130
131 if (HAVE_THREAD_DB)
132 add_definitions (-Dcap_thread_db)
133 endif (HAVE_THREAD_DB)
134
135
136 string (REPLACE ";" " " UNIFIED_DEF_STRING "${UNIFIED_DEF}") 
137
138 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${UNIFIED_DEF_STRING}")
139 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${UNIFIED_DEF_STRING}")
140