summaryrefslogtreecommitdiff
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
parenteee8e7face19244897f533d5a5f7f95b30809494 (diff)
downloadcore-2e1591bef9691a5f501860227174089641e8685f.tar.gz
Convert libbacktrace, libutils to Soong
Change-Id: I8b578f671f92246aca61f98937d75a60b56bc5c6
-rw-r--r--libbacktrace/Android.bp121
-rw-r--r--libbacktrace/Android.mk86
-rw-r--r--libutils/Android.bp118
-rw-r--r--libutils/Android.mk127
-rw-r--r--libutils/tests/Android.bp49
-rw-r--r--libutils/tests/Android.mk49
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)