added stack layout for armv8
[dyninst.git] / stackwalk / CMakeLists.txt
1 # CMake configuration for proccontrol directory
2
3 include_directories (
4   ${PROJECT_SOURCE_DIR}/proccontrol/h
5   ${PROJECT_SOURCE_DIR}/elf/h
6   ${PROJECT_SOURCE_DIR}/dwarf/h
7   src
8   h
9   )
10
11 set (SRC_LIST
12     src/frame.C 
13     src/framestepper.C 
14     src/swk_errors.C 
15     src/symlookup.C 
16     src/walker.C 
17     src/procstate.C 
18     src/steppergroup.C 
19     src/libstate.C 
20     src/sw_c.C 
21     src/sw_pcontrol.C  
22 )
23
24 if (PLATFORM MATCHES freebsd)
25 set (SRC_LIST ${SRC_LIST}
26      src/freebsd-swk.C 
27      src/x86-swk.C
28      src/symtab-swk.C 
29      src/dbginfo-stepper.C 
30      src/x86-wanderer.C 
31      src/linuxbsd-swk.C
32      src/linuxbsd-x86-swk.C 
33      src/freebsd-x86-swk.C
34 )
35 elseif (PLATFORM MATCHES linux OR PLATFORM MATCHES freebsd)
36     set (SRC_LIST ${SRC_LIST}
37         src/symtab-swk.C 
38         src/linuxbsd-swk.C 
39         src/linux-swk.C
40     )
41     if (PLATFORM MATCHES ppc)
42         set (SRC_LIST ${SRC_LIST}
43             src/linux-ppc-swk.C 
44             src/ppc-swk.C
45         )
46
47     elseif (PLATFORM MATCHES aarch64)
48         set (SRC_LIST ${SRC_LIST}
49             src/linux-aarch64-swk.C 
50             src/aarch64-swk.C
51         )
52
53     elseif (PLATFORM MATCHES i386 OR PLATFORM MATCHES x86_64)
54         set (SRC_LIST ${SRC_LIST}
55             src/dbginfo-stepper.C 
56             src/linux-x86-swk.C 
57             src/x86-wanderer.C 
58             src/linuxbsd-x86-swk.C 
59             src/x86-swk.C 
60         )
61     endif()
62 elseif (PLATFORM MATCHES bgq)
63     set (SRC_LIST ${SRC_LIST}
64         src/ppc-swk.C 
65         src/symtab-swk.C 
66         src/linuxbsd-swk.C
67         src/bluegeneq-swk.C
68     )
69 endif()
70 if (PLATFORM MATCHES nt OR PLATFORM MATCHES windows)
71     set (SRC_LIST ${SRC_LIST}
72         src/x86-wanderer.C 
73         src/x86-swk.C
74         src/win-x86-swk.C
75         src/symtab-swk.C
76     )
77 endif()
78
79 if (SW_ANALYSIS_STEPPER)
80     set (SRC_LIST ${SRC_LIST}
81         src/analysis_stepper.C
82         src/callchecker-IAPI.C
83     )
84 else ()
85     set (SRC_LIST ${SRC_LIST}
86         src/callchecker.C
87     )
88 endif()
89
90 SET_SOURCE_FILES_PROPERTIES(${SRC_LIST} PROPERTIES LANGUAGE CXX)
91
92 ADD_DEFINITIONS(-DSTACKWALKER_EXPORTS)
93
94 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FORCE_FRAME_POINTER}")
95 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FORCE_FRAME_POINTER}")
96
97 set(DEPS common instructionAPI pcontrol)
98 if (UNIX)
99 set (DEPS ${DEPS} dynDwarf dynElf)
100 endif()
101
102 set (DEPS ${DEPS} ${SYMREADER})
103
104 if (SW_ANALYSIS_STEPPER)
105 set (DEPS ${DEPS} parseAPI)
106 endif()
107
108
109 dyninst_library(stackwalk ${DEPS})
110