From ced030892df27c543da599d6baa4b17b0588fa32 Mon Sep 17 00:00:00 2001 From: Colin Cross <ccross@android.com> Date: Thu, 15 Dec 2016 20:44:30 +0000 Subject: [PATCH] Revert "Convert the rest of libbacktrace to Android.bp" This reverts commit 9a3603622ff95a602a1ce018ada59cb52d2539f4. Broke the mips build with an unused parameter warning Change-Id: If36964ea189b58a9825de8904f1cf49010548b59 --- libbacktrace/Android.bp | 95 +------------------------- libbacktrace/Android.build.mk | 95 ++++++++++++++++++++++++++ libbacktrace/Android.mk | 121 ++++++++++++++++++++++++++++++++++ 3 files changed, 218 insertions(+), 93 deletions(-) create mode 100644 libbacktrace/Android.build.mk create mode 100644 libbacktrace/Android.mk diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp index 684e611a7..200b6d637 100644 --- a/libbacktrace/Android.bp +++ b/libbacktrace/Android.bp @@ -22,9 +22,9 @@ cc_defaults { "-Werror", ], - // The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists. clang_cflags: ["-Wno-inline-asm"], + // The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists. include_dirs: ["external/libunwind/include/tdep"], // TODO: LLVM_DEVICE_BUILD_MK @@ -130,95 +130,4 @@ cc_library_shared { ], }, } -} - -//------------------------------------------------------------------------- -// The libbacktrace_offline static library. -//------------------------------------------------------------------------- -cc_library_static { - name: "libbacktrace_offline", - defaults: ["libbacktrace_common"], - host_supported: true, - srcs: ["BacktraceOffline.cpp"], - - cflags: [ - "-D__STDC_CONSTANT_MACROS", - "-D__STDC_LIMIT_MACROS", - "-D__STDC_FORMAT_MACROS", - ], - - header_libs: ["llvm-headers"], - - // Use shared libraries so their headers get included during build. - shared_libs = [ - "libbase", - "libunwind", - ], -} - -//------------------------------------------------------------------------- -// The backtrace_test executable. -//------------------------------------------------------------------------- -cc_test { - name: "backtrace_test", - defaults: ["libbacktrace_common"], - host_supported: true, - srcs: [ - "backtrace_offline_test.cpp", - "backtrace_test.cpp", - "GetPss.cpp", - "thread_utils.c", - ], - - cflags: [ - "-fno-builtin", - "-O0", - "-g", - ], - - shared_libs: [ - "libbacktrace_test", - "libbacktrace", - "libbase", - "libcutils", - "liblog", - "libunwind", - ], - - group_static_libs: true, - - // Statically link LLVMlibraries to remove dependency on llvm shared library. - static_libs = [ - "libbacktrace_offline", - "libLLVMObject", - "libLLVMBitReader", - "libLLVMMC", - "libLLVMMCParser", - "libLLVMCore", - "libLLVMSupport", - - "libziparchive", - "libz", - ], - - header_libs: ["llvm-headers"], - - target: { - android: { - cflags: ["-DENABLE_PSS_TESTS"], - shared_libs: [ - "libdl", - "libutils", - ], - }, - linux: { - host_ldlibs: [ - "-lpthread", - "-lrt", - "-ldl", - "-lncurses", - ], - static_libs: ["libutils"], - }, - }, -} +} \ No newline at end of file diff --git a/libbacktrace/Android.build.mk b/libbacktrace/Android.build.mk new file mode 100644 index 000000000..2467f3e63 --- /dev/null +++ b/libbacktrace/Android.build.mk @@ -0,0 +1,95 @@ +# +# Copyright (C) 2014 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +include $(CLEAR_VARS) + +LOCAL_MODULE := $(module) +LOCAL_MODULE_TAGS := $(module_tag) +LOCAL_MULTILIB := $($(module)_multilib) +ifeq ($(LOCAL_MULTILIB),both) +ifneq ($(build_target),$(filter $(build_target),SHARED_LIBRARY STATIC_LIBRARY)) + LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 + LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 +endif +endif + +ifeq ($(build_type),target) + include $(LLVM_DEVICE_BUILD_MK) +else + include $(LLVM_HOST_BUILD_MK) +endif + +LOCAL_ADDITIONAL_DEPENDENCIES += \ + $(LOCAL_PATH)/Android.mk \ + $(LOCAL_PATH)/Android.build.mk \ + +LOCAL_CFLAGS += \ + $(libbacktrace_common_cflags) \ + $($(module)_cflags) \ + $($(module)_cflags_$(build_type)) \ + +LOCAL_CLANG_CFLAGS += \ + $(libbacktrace_common_clang_cflags) \ + +LOCAL_CONLYFLAGS += \ + $(libbacktrace_common_conlyflags) \ + $($(module)_conlyflags) \ + $($(module)_conlyflags_$(build_type)) \ + +LOCAL_CPPFLAGS += \ + $(libbacktrace_common_cppflags) \ + $($(module)_cppflags) \ + $($(module)_cppflags_$(build_type)) \ + +LOCAL_C_INCLUDES += \ + $(libbacktrace_common_c_includes) \ + $($(module)_c_includes) \ + $($(module)_c_includes_$(build_type)) \ + +LOCAL_SRC_FILES := \ + $($(module)_src_files) \ + $($(module)_src_files_$(build_type)) \ + +LOCAL_STATIC_LIBRARIES += \ + $($(module)_static_libraries) \ + $($(module)_static_libraries_$(build_type)) \ + +LOCAL_SHARED_LIBRARIES += \ + $($(module)_shared_libraries) \ + $($(module)_shared_libraries_$(build_type)) \ + +LOCAL_LDLIBS += \ + $($(module)_ldlibs) \ + $($(module)_ldlibs_$(build_type)) \ + +LOCAL_STRIP_MODULE := $($(module)_strip_module) + +ifeq ($(build_type),target) + include $(BUILD_$(build_target)) +endif + +ifeq ($(build_type),host) + # Only build if host builds are supported. + ifeq ($(build_host),true) + # -fno-omit-frame-pointer should be set for host build. Because currently + # libunwind can't recognize .debug_frame using dwarf version 4, and it relies + # on stack frame pointer to do unwinding on x86. + # $(LLVM_HOST_BUILD_MK) overwrites -fno-omit-frame-pointer. so the below line + # must be after the include. + LOCAL_CFLAGS += -Wno-extern-c-compat -fno-omit-frame-pointer + include $(BUILD_HOST_$(build_target)) + endif +endif diff --git a/libbacktrace/Android.mk b/libbacktrace/Android.mk new file mode 100644 index 000000000..f4976e954 --- /dev/null +++ b/libbacktrace/Android.mk @@ -0,0 +1,121 @@ +# +# Copyright (C) 2014 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +LOCAL_PATH:= $(call my-dir) + +libbacktrace_common_cflags := \ + -Wall \ + -Werror \ + +libbacktrace_common_c_includes := \ + external/libunwind/include/tdep \ + +# The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists. +libbacktrace_common_clang_cflags += \ + -Wno-inline-asm + +build_host := false +ifeq ($(HOST_OS),linux) +ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH),x86 x86_64)) +build_host := true +endif +endif + +LLVM_ROOT_PATH := external/llvm +include $(LLVM_ROOT_PATH)/llvm.mk + +#------------------------------------------------------------------------- +# The libbacktrace_offline static library. +#------------------------------------------------------------------------- +libbacktrace_offline_src_files := \ + BacktraceOffline.cpp \ + +# Use shared libraries so their headers get included during build. +libbacktrace_offline_shared_libraries := \ + libbase \ + libunwind \ + +module := libbacktrace_offline +build_type := target +build_target := STATIC_LIBRARY +libbacktrace_offline_multilib := both +include $(LOCAL_PATH)/Android.build.mk +build_type := host +include $(LOCAL_PATH)/Android.build.mk + +#------------------------------------------------------------------------- +# The backtrace_test executable. +#------------------------------------------------------------------------- +backtrace_test_cflags := \ + -fno-builtin \ + -O0 \ + -g \ + +backtrace_test_cflags_target := \ + -DENABLE_PSS_TESTS \ + +backtrace_test_src_files := \ + backtrace_offline_test.cpp \ + backtrace_test.cpp \ + GetPss.cpp \ + thread_utils.c \ + +backtrace_test_ldlibs_host := \ + -lpthread \ + -lrt \ + +backtrace_test_shared_libraries := \ + libbacktrace_test \ + libbacktrace \ + libbase \ + libcutils \ + liblog \ + libunwind \ + +backtrace_test_shared_libraries_target += \ + libdl \ + libutils \ + +# Statically link LLVMlibraries to remove dependency on llvm shared library. +backtrace_test_static_libraries := \ + libbacktrace_offline \ + libLLVMObject \ + libLLVMBitReader \ + libLLVMMC \ + libLLVMMCParser \ + libLLVMCore \ + libLLVMSupport \ + +backtrace_test_static_libraries_target := \ + libziparchive \ + libz \ + +backtrace_test_static_libraries_host := \ + libziparchive \ + libz \ + libutils \ + +backtrace_test_ldlibs_host += \ + -ldl \ + +module := backtrace_test +module_tag := debug +build_type := target +build_target := NATIVE_TEST +backtrace_test_multilib := both +include $(LOCAL_PATH)/Android.build.mk +build_type := host +include $(LOCAL_PATH)/Android.build.mk