blob: 178a9351c0bbe7297db21121c381aa811b8011eb [file] [log] [blame]
Christopher Ferris1c82a522013-10-01 12:38:42 -07001LOCAL_PATH := $(call my-dir)
2
3libunwind_cflags := \
4 -DHAVE_CONFIG_H \
5 -DNDEBUG \
6 -D_GNU_SOURCE \
7
8libunwind_includes := \
9 $(LOCAL_PATH)/src \
10 $(LOCAL_PATH)/include \
11
12ifeq ($(TARGET_ARCH),arm)
13libunwind_includes += \
14 $(LOCAL_PATH)/include/tdep-arm \
15
16endif # arm
17
18ifeq ($(TARGET_ARCH),mips)
19libunwind_includes += \
20 $(LOCAL_PATH)/include/tdep-mips \
21
22endif # mips
23
24ifeq ($(TARGET_ARCH),x86)
25libunwind_includes += \
26 $(LOCAL_PATH)/include/tdep-x86 \
27
28endif # x86
29
30include $(CLEAR_VARS)
31
32LOCAL_MODULE := libunwind
33
34LOCAL_CFLAGS += $(libunwind_cflags)
35LOCAL_C_INCLUDES := $(libunwind_includes)
36
37LOCAL_SRC_FILES := \
38 src/mi/init.c \
39 src/mi/flush_cache.c \
40 src/mi/mempool.c \
41 src/mi/strerror.c \
42 src/mi/backtrace.c \
43 src/mi/dyn-cancel.c \
44 src/mi/dyn-info-list.c \
45 src/mi/dyn-register.c \
46 src/mi/Ldyn-extract.c \
47 src/mi/Lfind_dynamic_proc_info.c \
48 src/mi/Lget_proc_info_by_ip.c \
49 src/mi/Lget_proc_name.c \
50 src/mi/Lput_dynamic_unwind_info.c \
51 src/mi/Ldestroy_addr_space.c \
52 src/mi/Lget_reg.c \
53 src/mi/Lset_reg.c \
54 src/mi/Lget_fpreg.c \
55 src/mi/Lset_fpreg.c \
56 src/mi/Lset_caching_policy.c \
57 src/mi/Gdyn-extract.c \
58 src/mi/Gdyn-remote.c \
59 src/mi/Gfind_dynamic_proc_info.c \
60 src/mi/Gget_accessors.c \
61 src/mi/Gget_proc_info_by_ip.c \
62 src/mi/Gget_proc_name.c \
63 src/mi/Gput_dynamic_unwind_info.c \
64 src/mi/Gdestroy_addr_space.c \
65 src/mi/Gget_reg.c \
66 src/mi/Gset_reg.c \
67 src/mi/Gget_fpreg.c \
68 src/mi/Gset_fpreg.c \
69 src/mi/Gset_caching_policy.c \
70 src/dwarf/Lexpr.c \
71 src/dwarf/Lfde.c \
72 src/dwarf/Lparser.c \
73 src/dwarf/Lpe.c \
74 src/dwarf/Lstep.c \
75 src/dwarf/Lfind_proc_info-lsb.c \
76 src/dwarf/Lfind_unwind_table.c \
77 src/dwarf/Gexpr.c \
78 src/dwarf/Gfde.c \
79 src/dwarf/Gfind_proc_info-lsb.c \
80 src/dwarf/Gfind_unwind_table.c \
81 src/dwarf/Gparser.c \
82 src/dwarf/Gpe.c \
83 src/dwarf/Gstep.c \
84 src/dwarf/global.c \
85 src/elf32.c \
86 src/os-linux.c \
87
88ifeq ($(TARGET_ARCH),arm)
89LOCAL_SRC_FILES += \
90 src/arm/is_fpreg.c \
91 src/arm/regname.c \
92 src/arm/getcontext.S \
93 src/arm/Gcreate_addr_space.c \
94 src/arm/Gget_proc_info.c \
95 src/arm/Gget_save_loc.c \
96 src/arm/Gglobal.c \
97 src/arm/Ginit.c \
98 src/arm/Ginit_local.c \
99 src/arm/Ginit_remote.c \
100 src/arm/Gis_signal_frame.c \
101 src/arm/Gregs.c \
102 src/arm/Gresume.c \
103 src/arm/Gstep.c \
104 src/arm/Gex_tables.c \
105 src/arm/Lcreate_addr_space.c \
106 src/arm/Lget_proc_info.c \
107 src/arm/Lget_save_loc.c \
108 src/arm/Lglobal.c \
109 src/arm/Linit.c \
110 src/arm/Linit_local.c \
111 src/arm/Linit_remote.c \
112 src/arm/Lis_signal_frame.c \
113 src/arm/Lregs.c \
114 src/arm/Lresume.c \
115 src/arm/Lstep.c \
116 src/arm/Lex_tables.c \
117
118endif # arm
119
120ifeq ($(TARGET_ARCH),mips)
121LOCAL_SRC_FILES += \
122 src/mips/is_fpreg.c \
123 src/mips/regname.c \
124 src/mips/getcontext-android.S \
125 src/mips/Gcreate_addr_space.c \
126 src/mips/Gget_proc_info.c \
127 src/mips/Gget_save_loc.c \
128 src/mips/Gglobal.c \
129 src/mips/Ginit.c \
130 src/mips/Ginit_local.c \
131 src/mips/Ginit_remote.c \
132 src/mips/Gis_signal_frame.c \
133 src/mips/Gregs.c \
134 src/mips/Gresume.c \
135 src/mips/Gstep.c \
136 src/mips/Lcreate_addr_space.c \
137 src/mips/Lget_proc_info.c \
138 src/mips/Lget_save_loc.c \
139 src/mips/Lglobal.c \
140 src/mips/Linit.c \
141 src/mips/Linit_local.c \
142 src/mips/Linit_remote.c \
143 src/mips/Lis_signal_frame.c \
144 src/mips/Lregs.c \
145 src/mips/Lresume.c \
146 src/mips/Lstep.c \
147
148endif # mips
149
150ifeq ($(TARGET_ARCH),x86)
151LOCAL_SRC_FILES += \
152 src/x86/is_fpreg.c \
153 src/x86/regname.c \
154 src/x86/getcontext-linux.S \
155 src/x86/Gcreate_addr_space.c \
156 src/x86/Gget_proc_info.c \
157 src/x86/Gget_save_loc.c \
158 src/x86/Gglobal.c \
159 src/x86/Ginit.c \
160 src/x86/Ginit_local.c \
161 src/x86/Ginit_remote.c \
162 src/x86/Gregs.c \
163 src/x86/Gresume.c \
164 src/x86/Gstep.c \
165 src/x86/Gos-linux.c \
166 src/x86/Lcreate_addr_space.c \
167 src/x86/Lget_proc_info.c \
168 src/x86/Lget_save_loc.c \
169 src/x86/Lglobal.c \
170 src/x86/Linit.c \
171 src/x86/Linit_local.c \
172 src/x86/Linit_remote.c \
173 src/x86/Lregs.c \
174 src/x86/Lresume.c \
175 src/x86/Lstep.c \
176 src/x86/Los-linux.c \
177
178endif # x86
179
180LOCAL_SHARED_LIBRARIES := \
181 libdl \
182
Christopher Ferris836d9152013-12-02 12:27:30 -0800183LOCAL_ADDITIONAL_DEPENDENCIES := \
184 $(LOCAL_PATH)/Android.mk \
185
Christopher Ferris1c82a522013-10-01 12:38:42 -0700186include $(BUILD_SHARED_LIBRARY)
187
188include $(CLEAR_VARS)
189
190LOCAL_MODULE := libunwind-ptrace
191
192LOCAL_CFLAGS += $(libunwind_cflags)
193LOCAL_C_INCLUDES := $(libunwind_includes)
194
195# Files needed to trace running processes.
196LOCAL_SRC_FILES += \
197 src/ptrace/_UPT_elf.c \
198 src/ptrace/_UPT_accessors.c \
199 src/ptrace/_UPT_access_fpreg.c \
200 src/ptrace/_UPT_access_mem.c \
201 src/ptrace/_UPT_access_reg.c \
202 src/ptrace/_UPT_create.c \
203 src/ptrace/_UPT_destroy.c \
204 src/ptrace/_UPT_find_proc_info.c \
205 src/ptrace/_UPT_get_dyn_info_list_addr.c \
206 src/ptrace/_UPT_put_unwind_info.c \
207 src/ptrace/_UPT_get_proc_name.c \
208 src/ptrace/_UPT_reg_offset.c \
209 src/ptrace/_UPT_resume.c \
210
211LOCAL_SHARED_LIBRARIES := \
212 libunwind \
213
Christopher Ferris836d9152013-12-02 12:27:30 -0800214LOCAL_ADDITIONAL_DEPENDENCIES := \
215 $(LOCAL_PATH)/Android.mk \
216
Christopher Ferris1c82a522013-10-01 12:38:42 -0700217include $(BUILD_SHARED_LIBRARY)