Merge changes I6f0df904,I8b578f67

* changes:
  Convert libziparchive from Android.mk to Android.bp
  Convert libbacktrace, libutils to Soong
This commit is contained in:
Colin Cross 2016-07-13 06:18:36 +00:00 committed by Gerrit Code Review
commit 41e82a3ca5
8 changed files with 399 additions and 368 deletions

121
libbacktrace/Android.bp Normal file
View file

@ -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"],
}

View file

@ -43,53 +43,6 @@ endif
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.
#-------------------------------------------------------------------------
@ -134,26 +87,6 @@ include $(LOCAL_PATH)/Android.build.mk
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.
#-------------------------------------------------------------------------
@ -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

118
libutils/Android.bp Normal file
View file

@ -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"]

View file

@ -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))

49
libutils/tests/Android.bp Normal file
View file

@ -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",
],
}

View file

@ -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)

111
libziparchive/Android.bp Normal file
View file

@ -0,0 +1,111 @@
//
// Copyright (C) 2013 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: "libziparchive_flags",
cflags: [
// ZLIB_CONST turns on const for input buffers, which is pretty standard.
"-DZLIB_CONST",
"-Werror",
"-Wall",
],
cppflags: [
"-Wold-style-cast",
// Incorrectly warns when C++11 empty brace {} initializer is used.
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61489
"-Wno-missing-field-initializers",
],
}
cc_defaults {
name: "libziparchive_defaults",
srcs: [
"zip_archive.cc",
"zip_archive_stream_entry.cc",
"zip_writer.cc",
],
target: {
windows: {
cflags: ["-mno-ms-bitfields"],
enabled: true,
},
},
shared_libs: [
"libbase",
"liblog",
],
}
cc_library {
name: "libziparchive",
host_supported: true,
defaults: ["libziparchive_defaults", "libziparchive_flags"],
static_libs: ["libutils"],
shared_libs: ["liblog", "libbase"],
target: {
android: {
static_libs: ["libz"],
},
host: {
shared_libs: ["libz-host"],
},
},
}
// Also provide libziparchive-host until everything is switched over to using libziparchive
cc_library {
name: "libziparchive-host",
host_supported: true,
device_supported: false,
defaults: ["libziparchive_defaults", "libziparchive_flags"],
shared_libs: ["libz-host"],
static_libs: ["libutils"],
}
// Tests.
cc_test {
name: "ziparchive-tests",
host_supported: true,
defaults: ["libziparchive_flags"],
srcs: [
"entry_name_utils_test.cc",
"zip_archive_test.cc",
"zip_writer_test.cc",
],
shared_libs: [
"libbase",
"liblog",
],
static_libs: [
"libziparchive",
"libz",
"libutils",
],
target: {
host: {
cppflags: ["-Wno-unnamed-type-template-args"],
},
windows: {
enabled: true,
},
},
}

View file

@ -1,106 +0,0 @@
#
# Copyright (C) 2013 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)
libziparchive_source_files := \
zip_archive.cc \
zip_archive_stream_entry.cc \
zip_writer.cc \
libziparchive_test_files := \
entry_name_utils_test.cc \
zip_archive_test.cc \
zip_writer_test.cc \
# ZLIB_CONST turns on const for input buffers, which is pretty standard.
libziparchive_common_c_flags := \
-DZLIB_CONST \
-Werror \
-Wall \
# Incorrectly warns when C++11 empty brace {} initializer is used.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61489
libziparchive_common_cpp_flags := \
-Wold-style-cast \
-Wno-missing-field-initializers \
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := $(libziparchive_source_files)
LOCAL_STATIC_LIBRARIES := libz
LOCAL_SHARED_LIBRARIES := libutils libbase
LOCAL_MODULE:= libziparchive
LOCAL_CFLAGS := $(libziparchive_common_c_flags)
LOCAL_CPPFLAGS := $(libziparchive_common_cpp_flags)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := $(libziparchive_source_files)
LOCAL_STATIC_LIBRARIES := libz libutils libbase
LOCAL_MODULE:= libziparchive-host
LOCAL_CFLAGS := $(libziparchive_common_c_flags)
LOCAL_CFLAGS_windows := -mno-ms-bitfields
LOCAL_CPPFLAGS := $(libziparchive_common_cpp_flags)
LOCAL_MULTILIB := both
LOCAL_MODULE_HOST_OS := darwin linux windows
include $(BUILD_HOST_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := $(libziparchive_source_files)
LOCAL_STATIC_LIBRARIES := libutils
LOCAL_SHARED_LIBRARIES := libz-host liblog libbase
LOCAL_MODULE:= libziparchive-host
LOCAL_CFLAGS := $(libziparchive_common_c_flags)
LOCAL_CPPFLAGS := $(libziparchive_common_cpp_flags)
LOCAL_MULTILIB := both
include $(BUILD_HOST_SHARED_LIBRARY)
# Tests.
include $(CLEAR_VARS)
LOCAL_MODULE := ziparchive-tests
LOCAL_CPP_EXTENSION := .cc
LOCAL_CFLAGS := $(libziparchive_common_c_flags)
LOCAL_CPPFLAGS := $(libziparchive_common_cpp_flags)
LOCAL_SRC_FILES := $(libziparchive_test_files)
LOCAL_SHARED_LIBRARIES := \
libbase \
liblog \
LOCAL_STATIC_LIBRARIES := \
libziparchive \
libz \
libutils \
include $(BUILD_NATIVE_TEST)
include $(CLEAR_VARS)
LOCAL_MODULE := ziparchive-tests-host
LOCAL_CPP_EXTENSION := .cc
LOCAL_CFLAGS := $(libziparchive_common_c_flags)
LOCAL_CPPFLAGS := -Wno-unnamed-type-template-args $(libziparchive_common_cpp_flags)
LOCAL_SRC_FILES := $(libziparchive_test_files)
LOCAL_STATIC_LIBRARIES := \
libziparchive-host \
libz \
libbase \
libutils \
liblog \
LOCAL_MODULE_HOST_OS := darwin linux windows
include $(BUILD_HOST_NATIVE_TEST)