diff options
-rw-r--r-- | libbacktrace/Android.bp | 121 | ||||
-rw-r--r-- | libbacktrace/Android.mk | 86 | ||||
-rw-r--r-- | libutils/Android.bp | 115 | ||||
-rw-r--r-- | libutils/Android.mk | 124 | ||||
-rw-r--r-- | libutils/tests/Android.bp | 49 | ||||
-rw-r--r-- | libutils/tests/Android.mk | 49 | ||||
-rw-r--r-- | libziparchive/Android.bp | 111 | ||||
-rw-r--r-- | libziparchive/Android.mk | 106 |
8 files changed, 396 insertions, 365 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..1288da13b --- /dev/null +++ b/libutils/Android.bp @@ -0,0 +1,115 @@ +// 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"], + shared_libs: ["liblog"], + srcs: ["SharedBufferTest.cpp"], +} + +subdirs = ["tests"] diff --git a/libutils/Android.mk b/libutils/Android.mk deleted file mode 100644 index 84bac32f9..000000000 --- a/libutils/Android.mk +++ /dev/null @@ -1,124 +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 $(CLEAR_VARS) -LOCAL_MODULE := SharedBufferTest -LOCAL_STATIC_LIBRARIES := libutils -LOCAL_SHARED_LIBRARIES := liblog -LOCAL_SRC_FILES := SharedBufferTest.cpp -include $(BUILD_NATIVE_TEST) - -include $(CLEAR_VARS) -LOCAL_MODULE := SharedBufferTest -LOCAL_STATIC_LIBRARIES := libutils -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) diff --git a/libziparchive/Android.bp b/libziparchive/Android.bp new file mode 100644 index 000000000..5ed0fe853 --- /dev/null +++ b/libziparchive/Android.bp @@ -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, + }, + }, +} diff --git a/libziparchive/Android.mk b/libziparchive/Android.mk deleted file mode 100644 index 3cd8b87b1..000000000 --- a/libziparchive/Android.mk +++ /dev/null @@ -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) |