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
diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp
index 684e611..200b6d6 100644
--- a/libbacktrace/Android.bp
+++ b/libbacktrace/Android.bp
@@ -22,9 +22,9 @@
"-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 @@
],
},
}
-}
-
-//-------------------------------------------------------------------------
-// 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 0000000..2467f3e
--- /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 0000000..f4976e9
--- /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