summaryrefslogtreecommitdiffstats
path: root/libbacktrace/Android.bp
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2016-07-12 17:20:18 -0700
committerDan Willemsen <dwillemsen@google.com>2016-07-12 17:20:18 -0700
commit2e1591bef9691a5f501860227174089641e8685f (patch)
tree17896f15c7849507340d3baafbcd294b521c3080 /libbacktrace/Android.bp
parenteee8e7face19244897f533d5a5f7f95b30809494 (diff)
downloadsystem_core-2e1591bef9691a5f501860227174089641e8685f.tar.gz
system_core-2e1591bef9691a5f501860227174089641e8685f.tar.bz2
system_core-2e1591bef9691a5f501860227174089641e8685f.zip
Convert libbacktrace, libutils to Soong
Change-Id: I8b578f671f92246aca61f98937d75a60b56bc5c6
Diffstat (limited to 'libbacktrace/Android.bp')
-rw-r--r--libbacktrace/Android.bp121
1 files changed, 121 insertions, 0 deletions
diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp
new file mode 100644
index 000000000..93d997bf7
--- /dev/null
+++ b/libbacktrace/Android.bp
@@ -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.
+//
+
+cc_defaults {
+ name: "libbacktrace_common",
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ ],
+ conlyflags: ["-std=gnu99"],
+ cppflags: ["-std=gnu++11"],
+
+ 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
+ // TODO: LLVM_HOST_BUILD_MK
+
+ target: {
+ host: {
+ // -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.
+ cflags: [
+ "-Wno-extern-c-compat",
+ "-fno-omit-frame-pointer",
+ ],
+ },
+
+ darwin: {
+ enabled: false,
+ },
+ },
+
+ multilib: {
+ lib32: {
+ suffix: "32",
+ },
+ lib64: {
+ suffix: "64",
+ },
+ }
+}
+
+libbacktrace_sources = [
+ "Backtrace.cpp",
+ "BacktraceCurrent.cpp",
+ "BacktracePtrace.cpp",
+ "thread_utils.c",
+ "ThreadEntry.cpp",
+ "UnwindCurrent.cpp",
+ "UnwindMap.cpp",
+ "UnwindPtrace.cpp",
+]
+
+cc_library {
+ name: "libbacktrace",
+ defaults: ["libbacktrace_common"],
+ host_supported: true,
+
+ srcs: [
+ "BacktraceMap.cpp",
+ ],
+
+ target: {
+ darwin: {
+ enabled: true,
+ },
+ linux: {
+ srcs: libbacktrace_sources,
+
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libunwind",
+ ],
+
+ static_libs: ["libcutils"],
+ },
+ android: {
+ srcs: libbacktrace_sources,
+
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libunwind",
+ ],
+
+ static_libs: ["libcutils"],
+ },
+ },
+}
+
+cc_library_shared {
+ name: "libbacktrace_test",
+ defaults: ["libbacktrace_common"],
+ host_supported: true,
+ strip: {
+ none: true,
+ },
+ cflags: ["-O0"],
+ srcs: ["backtrace_testlib.c"],
+}