| // |
| // 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. |
| // |
| |
| libbacktrace_common_cflags = [ |
| "-Wall", |
| "-Werror", |
| ] |
| |
| libbacktrace_common_conlyflags = ["-std=gnu99"] |
| |
| libbacktrace_common_cppflags = ["-std=gnu++11"] |
| |
| // The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists. |
| ibbacktrace_common_clang_cflags = ["-Wno-inline-asm"] |
| |
| build_host = ["false"] |
| // ANDROIDMK TRANSLATION ERROR: unsupported conditional |
| // ifeq ($(HOST_OS),linux) |
| // ANDROIDMK TRANSLATION ERROR: unsupported conditional |
| // ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH),x86 x86_64)) |
| //build_host = ["true"] |
| // ANDROIDMK TRANSLATION ERROR: endif from unsupported contitional |
| // endif |
| // ANDROIDMK TRANSLATION ERROR: endif from unsupported contitional |
| // endif |
| //------------------------------------------------------------------------- |
| // The libbacktrace library. |
| //------------------------------------------------------------------------- |
| libbacktrace_src_files = [ |
| "Backtrace.cpp", |
| "BacktraceCurrent.cpp", |
| "BacktraceMap.cpp", |
| "BacktracePtrace.cpp", |
| "thread_utils.c", |
| "ThreadEntry.cpp", |
| "UnwindCurrent.cpp", |
| "UnwindMap.cpp", |
| "UnwindPtrace.cpp", |
| ] |
| |
| cc_library_shared { |
| name: "libbacktrace", |
| host_supported: true, |
| cflags: libbacktrace_common_cflags, |
| conlyflags: libbacktrace_common_conlyflags, |
| cppflags: libbacktrace_common_cppflags, |
| |
| target: { |
| android: { |
| srcs: libbacktrace_src_files, |
| shared_libs: [ |
| "libbase", |
| "libunwind", |
| "libcutils", |
| ], |
| }, |
| linux: { |
| srcs: libbacktrace_src_files, |
| shared_libs: [ |
| "libbase", |
| "libunwind", |
| ], |
| static_libs: ["libcutils"], |
| host_ldlibs: [ |
| "-lpthread", |
| "-lrt", |
| ], |
| }, |
| // Special truncated libbacktrace library for mac. |
| darwin: { |
| srcs: ["BacktraceMap.cpp"], |
| }, |
| host: { |
| cflags: [ |
| "-Wno-extern-c-compat", |
| "-fno-omit-frame-pointer", |
| ], |
| }, |
| }, |
| } |
| |
| //------------------------------------------------------------------------- |
| // The libbacktrace_test library needed by backtrace_test. |
| //------------------------------------------------------------------------- |
| cc_library_shared { |
| host_supported: true, |
| name: "libbacktrace_test", |
| srcs: ["backtrace_testlib.c"], |
| cflags: libbacktrace_common_cflags, |
| conlyflags: libbacktrace_common_conlyflags, |
| cppflags: libbacktrace_common_cppflags, |
| target: { |
| host: { |
| cflags: [ |
| "-Wno-extern-c-compat", |
| "-fno-omit-frame-pointer", |
| ], |
| }, |
| darwin: { |
| disabled: true, |
| }, |
| }, |
| } |
| |
| //------------------------------------------------------------------------- |
| // The backtrace_test executable. |
| //------------------------------------------------------------------------- |
| cc_test { |
| name: "backtrace_test", |
| host_supported: true, |
| cflags: [ |
| "-fno-builtin", |
| "-O0", |
| "-g", |
| ], |
| compile_multilib: "both", |
| |
| target: { |
| android: { |
| cflags: ["-DENABLE_PSS_TESTS"], |
| shared_libs: [ |
| "libcutils", |
| ], |
| }, |
| host: { |
| host_ldlibs: [ |
| "-lpthread", |
| "-lrt", |
| ], |
| static_libs: [ |
| "libcutils", |
| ], |
| cflags: [ |
| "-Wno-extern-c-compat", |
| "-fno-omit-frame-pointer", |
| ], |
| }, |
| darwin: { |
| disabled: true, |
| }, |
| }, |
| |
| srcs: [ |
| "backtrace_test.cpp", |
| "GetPss.cpp", |
| "thread_utils.c", |
| ], |
| |
| shared_libs: [ |
| "libbacktrace_test", |
| "libbacktrace", |
| ], |
| |
| tags: ["debug"] |
| } |