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 67module := libbacktrace 68module_tag := optional 69build_type := target 70build_target := SHARED_LIBRARY 71include $(LOCAL_PATH)/Android.build.mk 72build_type := host 73include $(LOCAL_PATH)/Android.build.mk 74 75# Don't build for unbundled branches 76ifeq (,$(TARGET_BUILD_APPS)) 77#------------------------------------------------------------------------- 78# The libbacktrace library (libc++) 79#------------------------------------------------------------------------- 80libbacktrace_libc++_src_files := \ 81 BacktraceImpl.cpp \ 82 BacktraceMap.cpp \ 83 BacktraceThread.cpp \ 84 thread_utils.c \ 85 86libbacktrace_libc++_shared_libraries_target := \ 87 libcutils \ 88 libgccdemangle \ 89 90libbacktrace_libc++_src_files += \ 91 UnwindCurrent.cpp \ 92 UnwindMap.cpp \ 93 UnwindPtrace.cpp \ 94 95libbacktrace_libc++_c_includes := \ 96 external/libunwind/include \ 97 98libbacktrace_libc++_shared_libraries := \ 99 libunwind \ 100 libunwind-ptrace \ 101 102libbacktrace_libc++_shared_libraries_host := \ 103 liblog \ 104 105libbacktrace_libc++_static_libraries_host := \ 106 libcutils \ 107 108libbacktrace_libc++_libc++ := true 109 110module := libbacktrace_libc++ 111module_tag := optional 112build_type := target 113build_target := SHARED_LIBRARY 114include $(LOCAL_PATH)/Android.build.mk 115build_type := host 116libbacktrace_libc++_multilib := both 117include $(LOCAL_PATH)/Android.build.mk 118libbacktrace_libc++_multilib := 119endif 120 121#------------------------------------------------------------------------- 122# The libbacktrace_test library needed by backtrace_test. 123#------------------------------------------------------------------------- 124libbacktrace_test_cflags := \ 125 -O0 \ 126 127libbacktrace_test_src_files := \ 128 backtrace_testlib.c \ 129 130module := libbacktrace_test 131module_tag := debug 132build_type := target 133build_target := SHARED_LIBRARY 134include $(LOCAL_PATH)/Android.build.mk 135build_type := host 136include $(LOCAL_PATH)/Android.build.mk 137 138#------------------------------------------------------------------------- 139# The backtrace_test executable. 140#------------------------------------------------------------------------- 141backtrace_test_cflags := \ 142 -fno-builtin \ 143 -O0 \ 144 -g \ 145 146backtrace_test_cflags_target := \ 147 -DENABLE_PSS_TESTS \ 148 149backtrace_test_src_files := \ 150 backtrace_test.cpp \ 151 GetPss.cpp \ 152 thread_utils.c \ 153 154backtrace_test_ldlibs_host := \ 155 -lpthread \ 156 -lrt \ 157 158backtrace_test_shared_libraries := \ 159 libbacktrace_test \ 160 libbacktrace \ 161 162backtrace_test_shared_libraries_target := \ 163 libcutils \ 164 165backtrace_test_static_libraries_host := \ 166 libcutils \ 167 168module := backtrace_test 169module_tag := debug 170build_type := target 171build_target := NATIVE_TEST 172include $(LOCAL_PATH)/Android.build.mk 173build_type := host 174include $(LOCAL_PATH)/Android.build.mk 175 176#---------------------------------------------------------------------------- 177# Special truncated libbacktrace library for mac. 178#---------------------------------------------------------------------------- 179ifeq ($(HOST_OS),darwin) 180 181include $(CLEAR_VARS) 182 183LOCAL_MODULE := libbacktrace 184LOCAL_MODULE_TAGS := optional 185 186LOCAL_SRC_FILES := \ 187 BacktraceMap.cpp \ 188 189include $(BUILD_HOST_SHARED_LIBRARY) 190 191# Don't build for unbundled branches 192ifeq (,$(TARGET_BUILD_APPS)) 193#------------------------------------------------------------------------- 194# The libbacktrace library (libc++) 195#------------------------------------------------------------------------- 196include $(CLEAR_VARS) 197 198LOCAL_MODULE := libbacktrace_libc++ 199LOCAL_MODULE_TAGS := optional 200 201LOCAL_SRC_FILES := \ 202 BacktraceMap.cpp \ 203 204LOCAL_MULTILIB := both 205 206include $(BUILD_HOST_SHARED_LIBRARY) 207 208endif # TARGET_BUILD_APPS 209 210endif # HOST_OS-darwin 211