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 | |
parent | eee8e7face19244897f533d5a5f7f95b30809494 (diff) | |
download | core-2e1591bef9691a5f501860227174089641e8685f.tar.gz |
Convert libbacktrace, libutils to Soong
Change-Id: I8b578f671f92246aca61f98937d75a60b56bc5c6
-rw-r--r-- | libbacktrace/Android.bp | 121 | ||||
-rw-r--r-- | libbacktrace/Android.mk | 86 | ||||
-rw-r--r-- | libutils/Android.bp | 118 | ||||
-rw-r--r-- | libutils/Android.mk | 127 | ||||
-rw-r--r-- | libutils/tests/Android.bp | 49 | ||||
-rw-r--r-- | libutils/tests/Android.mk | 49 |
6 files changed, 288 insertions, 262 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"], +} diff --git a/libbacktrace/Android.mk b/libbacktrace/Android.mk index 356ab8bcc..9bb113a75 100644 --- a/libbacktrace/Android.mk +++ b/libbacktrace/Android.mk @@ -44,53 +44,6 @@ LLVM_ROOT_PATH := external/llvm include $(LLVM_ROOT_PATH)/llvm.mk #------------------------------------------------------------------------- -# 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 \ - -libbacktrace_shared_libraries := \ - libbase \ - liblog \ - libunwind \ - -libbacktrace_static_libraries := \ - libcutils - -module := libbacktrace -module_tag := optional -build_type := target -build_target := SHARED_LIBRARY -include $(LOCAL_PATH)/Android.build.mk -build_type := host -libbacktrace_multilib := both -include $(LOCAL_PATH)/Android.build.mk - -libbacktrace_shared_libraries := - -libbacktrace_static_libraries := \ - libbase \ - liblog \ - libunwind \ - liblzma \ - -module := libbacktrace -build_type := target -build_target := STATIC_LIBRARY -include $(LOCAL_PATH)/Android.build.mk -build_type := host -libbacktrace_multilib := both -include $(LOCAL_PATH)/Android.build.mk - -#------------------------------------------------------------------------- # The libbacktrace_offline shared library. #------------------------------------------------------------------------- libbacktrace_offline_src_files := \ @@ -135,26 +88,6 @@ build_type := host include $(LOCAL_PATH)/Android.build.mk #------------------------------------------------------------------------- -# The libbacktrace_test library needed by backtrace_test. -#------------------------------------------------------------------------- -libbacktrace_test_cflags := \ - -O0 \ - -libbacktrace_test_src_files := \ - backtrace_testlib.c \ - -libbacktrace_test_strip_module := false - -module := libbacktrace_test -module_tag := debug -build_type := target -build_target := SHARED_LIBRARY -libbacktrace_test_multilib := both -include $(LOCAL_PATH)/Android.build.mk -build_type := host -include $(LOCAL_PATH)/Android.build.mk - -#------------------------------------------------------------------------- # The backtrace_test executable. #------------------------------------------------------------------------- backtrace_test_cflags := \ @@ -219,22 +152,3 @@ backtrace_test_multilib := both include $(LOCAL_PATH)/Android.build.mk build_type := host include $(LOCAL_PATH)/Android.build.mk - -#---------------------------------------------------------------------------- -# Special truncated libbacktrace library for mac. -#---------------------------------------------------------------------------- -ifeq ($(HOST_OS),darwin) - -include $(CLEAR_VARS) - -LOCAL_MODULE := libbacktrace -LOCAL_MODULE_TAGS := optional - -LOCAL_SRC_FILES := \ - BacktraceMap.cpp \ - -LOCAL_MULTILIB := both - -include $(BUILD_HOST_SHARED_LIBRARY) - -endif # HOST_OS-darwin diff --git a/libutils/Android.bp b/libutils/Android.bp new file mode 100644 index 000000000..3451bbddb --- /dev/null +++ b/libutils/Android.bp @@ -0,0 +1,118 @@ +// Copyright (C) 2008 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_library { + name: "libutils", + host_supported: true, + + srcs: [ + "CallStack.cpp", + "FileMap.cpp", + "JenkinsHash.cpp", + "LinearTransform.cpp", + "Log.cpp", + "NativeHandle.cpp", + "Printer.cpp", + "PropertyMap.cpp", + "RefBase.cpp", + "SharedBuffer.cpp", + "Static.cpp", + "StopWatch.cpp", + "String8.cpp", + "String16.cpp", + "SystemClock.cpp", + "Threads.cpp", + "Timers.cpp", + "Tokenizer.cpp", + "Unicode.cpp", + "VectorImpl.cpp", + "misc.cpp", + ], + + cflags: ["-Werror"], + include_dirs: ["external/safe-iop/include"], + + arch: { + mips: { + cflags: ["-DALIGN_DOUBLE"], + }, + }, + + target: { + android: { + srcs: [ + "BlobCache.cpp", + "Looper.cpp", + "ProcessCallStack.cpp", + "Trace.cpp", + ], + + cflags: ["-fvisibility=protected"], + + shared_libs: [ + "libbacktrace", + "libcutils", + "libdl", + "liblog", + ], + }, + + host: { + cflags: ["-DLIBUTILS_NATIVE=1"], + + shared: { + enabled: false, + }, + }, + + linux: { + srcs: [ + "Looper.cpp", + "ProcessCallStack.cpp", + ], + }, + + darwin: { + cflags: ["-Wno-unused-parameter"], + }, + + // Under MinGW, ctype.h doesn't need multi-byte support + windows: { + cflags: ["-DMB_CUR_MAX=1"], + + enabled: true, + }, + }, + + clang: true, + sanitize: { + misc_undefined: ["integer"], + }, +} + +// Include subdirectory makefiles +// ============================================================ + +cc_test { + name: "SharedBufferTest", + host_supported: true, + static_libs: [ + "libutils", + "libcutils", + ], + shared_libs: ["liblog"], + srcs: ["SharedBufferTest.cpp"], +} + +subdirs = ["tests"] diff --git a/libutils/Android.mk b/libutils/Android.mk deleted file mode 100644 index 6f88a6d70..000000000 --- a/libutils/Android.mk +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright (C) 2008 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) - -commonSources:= \ - CallStack.cpp \ - FileMap.cpp \ - JenkinsHash.cpp \ - LinearTransform.cpp \ - Log.cpp \ - NativeHandle.cpp \ - Printer.cpp \ - PropertyMap.cpp \ - RefBase.cpp \ - SharedBuffer.cpp \ - Static.cpp \ - StopWatch.cpp \ - String8.cpp \ - String16.cpp \ - SystemClock.cpp \ - Threads.cpp \ - Timers.cpp \ - Tokenizer.cpp \ - Unicode.cpp \ - VectorImpl.cpp \ - misc.cpp \ - -host_commonCflags := -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -Werror - -# For the host -# ===================================================== -include $(CLEAR_VARS) -LOCAL_SRC_FILES:= $(commonSources) -LOCAL_SRC_FILES_linux := Looper.cpp ProcessCallStack.cpp -LOCAL_CFLAGS_darwin := -Wno-unused-parameter -LOCAL_MODULE:= libutils -LOCAL_STATIC_LIBRARIES := liblog -LOCAL_CFLAGS += $(host_commonCflags) -# Under MinGW, ctype.h doesn't need multi-byte support -LOCAL_CFLAGS_windows := -DMB_CUR_MAX=1 -LOCAL_MULTILIB := both -LOCAL_MODULE_HOST_OS := darwin linux windows -LOCAL_C_INCLUDES += external/safe-iop/include -include $(BUILD_HOST_STATIC_LIBRARY) - - -# For the device, static -# ===================================================== -include $(CLEAR_VARS) - - -# we have the common sources, plus some device-specific stuff -LOCAL_SRC_FILES:= \ - $(commonSources) \ - BlobCache.cpp \ - Looper.cpp \ - ProcessCallStack.cpp \ - Trace.cpp - -ifeq ($(TARGET_ARCH),mips) -LOCAL_CFLAGS += -DALIGN_DOUBLE -endif -LOCAL_CFLAGS += -Werror -fvisibility=protected - -LOCAL_STATIC_LIBRARIES := \ - libcutils \ - libc - -LOCAL_SHARED_LIBRARIES := \ - libbacktrace \ - liblog \ - libdl - -LOCAL_MODULE := libutils -LOCAL_CLANG := true -LOCAL_SANITIZE := integer -LOCAL_C_INCLUDES += external/safe-iop/include -include $(BUILD_STATIC_LIBRARY) - -# For the device, shared -# ===================================================== -include $(CLEAR_VARS) -LOCAL_MODULE:= libutils -LOCAL_WHOLE_STATIC_LIBRARIES := libutils -LOCAL_SHARED_LIBRARIES := \ - libbacktrace \ - libcutils \ - libdl \ - liblog -LOCAL_CFLAGS := -Werror -LOCAL_C_INCLUDES += external/safe-iop/include - -LOCAL_CLANG := true -LOCAL_SANITIZE := integer -include $(BUILD_SHARED_LIBRARY) - -# Include subdirectory makefiles -# ============================================================ - -include $(CLEAR_VARS) -LOCAL_MODULE := SharedBufferTest -LOCAL_STATIC_LIBRARIES := libutils libcutils -LOCAL_SHARED_LIBRARIES := liblog -LOCAL_SRC_FILES := SharedBufferTest.cpp -include $(BUILD_NATIVE_TEST) - -include $(CLEAR_VARS) -LOCAL_MODULE := SharedBufferTest -LOCAL_STATIC_LIBRARIES := libutils libcutils -LOCAL_SHARED_LIBRARIES := liblog -LOCAL_SRC_FILES := SharedBufferTest.cpp -include $(BUILD_HOST_NATIVE_TEST) - -# Build the tests in the tests/ subdirectory. -include $(call first-makefiles-under,$(LOCAL_PATH)) diff --git a/libutils/tests/Android.bp b/libutils/tests/Android.bp new file mode 100644 index 000000000..9e2fd5ffb --- /dev/null +++ b/libutils/tests/Android.bp @@ -0,0 +1,49 @@ +// +// 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. +// + +// Build the unit tests. + +cc_test { + name: "libutils_tests", + + srcs: [ + "BlobCache_test.cpp", + "BitSet_test.cpp", + "Looper_test.cpp", + "LruCache_test.cpp", + "String8_test.cpp", + "StrongPointer_test.cpp", + "SystemClock_test.cpp", + "Unicode_test.cpp", + "Vector_test.cpp", + ], + + shared_libs: [ + "libz", + "liblog", + "libcutils", + "libutils", + ], +} + +cc_test_host { + name: "libutils_tests_host", + srcs: ["Vector_test.cpp"], + static_libs: [ + "libutils", + "liblog", + ], +} diff --git a/libutils/tests/Android.mk b/libutils/tests/Android.mk deleted file mode 100644 index 21fe19c96..000000000 --- a/libutils/tests/Android.mk +++ /dev/null @@ -1,49 +0,0 @@ -# -# 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. -# - -# Build the unit tests. -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := libutils_tests - -LOCAL_SRC_FILES := \ - BlobCache_test.cpp \ - BitSet_test.cpp \ - Looper_test.cpp \ - LruCache_test.cpp \ - String8_test.cpp \ - StrongPointer_test.cpp \ - SystemClock_test.cpp \ - Unicode_test.cpp \ - Vector_test.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - libz \ - liblog \ - libcutils \ - libutils \ - -include $(BUILD_NATIVE_TEST) - -include $(CLEAR_VARS) - -LOCAL_MODULE := libutils_tests_host -LOCAL_SRC_FILES := Vector_test.cpp -LOCAL_STATIC_LIBRARIES := libutils liblog - -include $(BUILD_HOST_NATIVE_TEST) |