Android.mk revision db44538387b08f367fc2419653639866f4c2fbd6
1#
2# Copyright (C) 2014 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH:= $(call my-dir)
18
19common_cflags := \
20	-Wall \
21	-Werror \
22
23common_conlyflags := \
24	-std=gnu99 \
25
26common_cppflags := \
27	-std=gnu++11 \
28
29build_host := false
30ifeq ($(HOST_OS),linux)
31ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH),x86 x86_64))
32build_host := true
33endif
34endif
35
36#-------------------------------------------------------------------------
37# The libbacktrace library.
38#-------------------------------------------------------------------------
39libbacktrace_src_files := \
40	BacktraceImpl.cpp \
41	BacktraceMap.cpp \
42	BacktraceThread.cpp \
43	thread_utils.c \
44
45libbacktrace_shared_libraries_target := \
46	libcutils \
47	libgccdemangle \
48
49libbacktrace_src_files += \
50	UnwindCurrent.cpp \
51	UnwindMap.cpp \
52	UnwindPtrace.cpp \
53
54libbacktrace_c_includes := \
55	external/libunwind/include \
56
57libbacktrace_shared_libraries := \
58	libunwind \
59	libunwind-ptrace \
60
61libbacktrace_shared_libraries_host := \
62	liblog \
63
64libbacktrace_static_libraries_host := \
65	libcutils \
66
67libbacktrace_ldlibs_host := \
68	-lpthread \
69	-lrt \
70
71module := libbacktrace
72module_tag := optional
73build_type := target
74build_target := SHARED_LIBRARY
75include $(LOCAL_PATH)/Android.build.mk
76build_type := host
77include $(LOCAL_PATH)/Android.build.mk
78
79# Don't build for unbundled branches
80ifeq (,$(TARGET_BUILD_APPS))
81#-------------------------------------------------------------------------
82# The libbacktrace library (libc++)
83#-------------------------------------------------------------------------
84libbacktrace_libc++_src_files := \
85	BacktraceImpl.cpp \
86	BacktraceMap.cpp \
87	BacktraceThread.cpp \
88	thread_utils.c \
89
90libbacktrace_libc++_shared_libraries_target := \
91	libcutils \
92	libgccdemangle \
93
94libbacktrace_libc++_src_files += \
95	UnwindCurrent.cpp \
96	UnwindMap.cpp \
97	UnwindPtrace.cpp \
98
99libbacktrace_libc++_c_includes := \
100	external/libunwind/include \
101
102libbacktrace_libc++_shared_libraries := \
103	libunwind \
104	libunwind-ptrace \
105
106libbacktrace_libc++_shared_libraries_host := \
107	liblog \
108
109libbacktrace_libc++_static_libraries_host := \
110	libcutils \
111
112libbacktrace_libc++_ldlibs_host := \
113	-lpthread \
114	-lrt \
115
116libbacktrace_libc++_libc++ := true
117
118module := libbacktrace_libc++
119module_tag := optional
120build_type := target
121build_target := SHARED_LIBRARY
122include $(LOCAL_PATH)/Android.build.mk
123build_type := host
124libbacktrace_libc++_multilib := both
125include $(LOCAL_PATH)/Android.build.mk
126libbacktrace_libc++_multilib :=
127endif
128
129#-------------------------------------------------------------------------
130# The libbacktrace_test library needed by backtrace_test.
131#-------------------------------------------------------------------------
132libbacktrace_test_cflags := \
133	-O0 \
134
135libbacktrace_test_src_files := \
136	backtrace_testlib.c \
137
138module := libbacktrace_test
139module_tag := debug
140build_type := target
141build_target := SHARED_LIBRARY
142include $(LOCAL_PATH)/Android.build.mk
143build_type := host
144include $(LOCAL_PATH)/Android.build.mk
145
146#-------------------------------------------------------------------------
147# The backtrace_test executable.
148#-------------------------------------------------------------------------
149backtrace_test_cflags := \
150	-fno-builtin \
151	-O0 \
152	-g \
153
154backtrace_test_cflags_target := \
155	-DENABLE_PSS_TESTS \
156
157backtrace_test_src_files := \
158	backtrace_test.cpp \
159	GetPss.cpp \
160	thread_utils.c \
161
162backtrace_test_ldlibs_host := \
163	-lpthread \
164	-lrt \
165
166backtrace_test_shared_libraries := \
167	libbacktrace_test \
168	libbacktrace \
169
170backtrace_test_shared_libraries_target := \
171	libcutils \
172
173backtrace_test_static_libraries_host := \
174	libcutils \
175
176module := backtrace_test
177module_tag := debug
178build_type := target
179build_target := NATIVE_TEST
180include $(LOCAL_PATH)/Android.build.mk
181build_type := host
182include $(LOCAL_PATH)/Android.build.mk
183
184#----------------------------------------------------------------------------
185# Special truncated libbacktrace library for mac.
186#----------------------------------------------------------------------------
187ifeq ($(HOST_OS),darwin)
188
189include $(CLEAR_VARS)
190
191LOCAL_MODULE := libbacktrace
192LOCAL_MODULE_TAGS := optional
193
194LOCAL_SRC_FILES := \
195	BacktraceMap.cpp \
196
197include $(BUILD_HOST_SHARED_LIBRARY)
198
199# Don't build for unbundled branches
200ifeq (,$(TARGET_BUILD_APPS))
201#-------------------------------------------------------------------------
202# The libbacktrace library (libc++)
203#-------------------------------------------------------------------------
204include $(CLEAR_VARS)
205
206LOCAL_MODULE := libbacktrace_libc++
207LOCAL_MODULE_TAGS := optional
208
209LOCAL_SRC_FILES := \
210	BacktraceMap.cpp \
211
212LOCAL_MULTILIB := both
213
214include $(BUILD_HOST_SHARED_LIBRARY)
215
216endif # TARGET_BUILD_APPS
217
218endif # HOST_OS-darwin
219