diff options
author | Dan Willemsen <dwillemsen@google.com> | 2016-07-12 17:20:18 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2016-07-12 17:20:18 -0700 |
commit | 2e1591bef9691a5f501860227174089641e8685f (patch) | |
tree | 17896f15c7849507340d3baafbcd294b521c3080 /libbacktrace/Android.bp | |
parent | eee8e7face19244897f533d5a5f7f95b30809494 (diff) | |
download | system_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.bp | 121 |
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"], +} |