From eee8e7face19244897f533d5a5f7f95b30809494 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Mon, 6 Jun 2016 22:31:58 -0700 Subject: [PATCH] libcutils: Switch to Android.bp Change-Id: If36cb30e8e4432f1a5c7f9a6d30a75c012a4c67c --- libcutils/Android.bp | 155 +++++++++++++++++++++++++++++++++++++ libcutils/Android.mk | 153 ------------------------------------ libcutils/tests/Android.bp | 72 +++++++++++++++++ libcutils/tests/Android.mk | 81 ------------------- 4 files changed, 227 insertions(+), 234 deletions(-) create mode 100644 libcutils/Android.bp delete mode 100644 libcutils/Android.mk create mode 100644 libcutils/tests/Android.bp delete mode 100644 libcutils/tests/Android.mk diff --git a/libcutils/Android.bp b/libcutils/Android.bp new file mode 100644 index 000000000..4f26034c3 --- /dev/null +++ b/libcutils/Android.bp @@ -0,0 +1,155 @@ +// +// 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. +// + +// some files must not be compiled when building against Mingw +// they correspond to features not used by our host development tools +// which are also hard or even impossible to port to native Win32 +libcutils_nonwindows_sources = [ + "fs.c", + "multiuser.c", + "socket_inaddr_any_server_unix.c", + "socket_local_client_unix.c", + "socket_local_server_unix.c", + "socket_loopback_client_unix.c", + "socket_loopback_server_unix.c", + "socket_network_client_unix.c", + "sockets_unix.cpp", + "str_parms.c", +] + +cc_library { + name: "libcutils", + host_supported: true, + srcs: [ + "config_utils.c", + "fs_config.c", + "canned_fs_config.c", + "hashmap.c", + "iosched_policy.c", + "load_file.c", + "native_handle.c", + "open_memstream.c", + "process_name.c", + "record_stream.c", + "sched_policy.c", + "sockets.cpp", + "strdup16to8.c", + "strdup8to16.c", + "strlcpy.c", + "threads.c", + ], + + target: { + host: { + srcs: ["dlmalloc_stubs.c"], + }, + not_windows: { + srcs: libcutils_nonwindows_sources + [ + "ashmem-host.c", + "trace-host.c", + ], + }, + windows: { + srcs: [ + "socket_inaddr_any_server_windows.c", + "socket_network_client_windows.c", + "sockets_windows.cpp", + ], + + enabled: true, + shared: { + enabled: false, + }, + }, + + android: { + srcs: libcutils_nonwindows_sources + [ + "android_reboot.c", + "ashmem-dev.c", + "debugger.c", + "klog.cpp", + "partition_utils.c", + "properties.c", + "qtaguid.c", + "trace-dev.c", + "uevent.c", + ], + + // TODO: remove liblog as whole static library, once we don't have prebuilt that requires + // liblog symbols present in libcutils. + whole_static_libs: [ + "liblog", + ], + + static_libs: ["libdebuggerd_client"], + export_static_lib_headers: ["libdebuggerd_client"], + + cflags: [ + "-std=gnu90", + ], + }, + + android_arm: { + srcs: ["arch-arm/memset32.S"], + }, + android_arm64: { + srcs: ["arch-arm64/android_memset.S"], + }, + + android_mips: { + srcs: ["arch-mips/android_memset.c"], + }, + android_mips64: { + srcs: ["arch-mips/android_memset.c"], + }, + + android_x86: { + srcs: [ + "arch-x86/android_memset16.S", + "arch-x86/android_memset32.S", + ], + }, + + android_x86_64: { + srcs: [ + "arch-x86_64/android_memset16.S", + "arch-x86_64/android_memset32.S", + ], + }, + }, + + shared_libs: ["liblog"], + product_variables: { + cpusets: { + cflags: ["-DUSE_CPUSETS"], + }, + schedboost: { + cflags: ["-DUSE_SCHEDBOOST"], + }, + }, + cflags: [ + "-Werror", + "-Wall", + "-Wextra", + ], + + clang: true, + sanitize: { + misc_undefined: ["integer"], + }, +} + +subdirs = ["tests"] diff --git a/libcutils/Android.mk b/libcutils/Android.mk deleted file mode 100644 index c830182f9..000000000 --- a/libcutils/Android.mk +++ /dev/null @@ -1,153 +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 := $(my-dir) -include $(CLEAR_VARS) - -libcutils_common_sources := \ - config_utils.c \ - fs_config.c \ - canned_fs_config.c \ - hashmap.c \ - iosched_policy.c \ - load_file.c \ - native_handle.c \ - open_memstream.c \ - process_name.c \ - record_stream.c \ - sched_policy.c \ - sockets.cpp \ - strdup16to8.c \ - strdup8to16.c \ - strlcpy.c \ - threads.c \ - -# some files must not be compiled when building against Mingw -# they correspond to features not used by our host development tools -# which are also hard or even impossible to port to native Win32 -libcutils_nonwindows_sources := \ - fs.c \ - multiuser.c \ - socket_inaddr_any_server_unix.c \ - socket_local_client_unix.c \ - socket_local_server_unix.c \ - socket_loopback_client_unix.c \ - socket_loopback_server_unix.c \ - socket_network_client_unix.c \ - sockets_unix.cpp \ - str_parms.c \ - -libcutils_nonwindows_host_sources := \ - ashmem-host.c \ - trace-host.c \ - -libcutils_windows_host_sources := \ - socket_inaddr_any_server_windows.c \ - socket_network_client_windows.c \ - sockets_windows.cpp \ - -# Shared and static library for host -# Note: when linking this library on Windows, you must also link to Winsock2 -# using "LOCAL_LDLIBS_windows := -lws2_32". -# ======================================================== -LOCAL_MODULE := libcutils -LOCAL_SRC_FILES := $(libcutils_common_sources) dlmalloc_stubs.c -LOCAL_SRC_FILES_darwin := $(libcutils_nonwindows_sources) $(libcutils_nonwindows_host_sources) -LOCAL_SRC_FILES_linux := $(libcutils_nonwindows_sources) $(libcutils_nonwindows_host_sources) -LOCAL_SRC_FILES_windows := $(libcutils_windows_host_sources) -LOCAL_STATIC_LIBRARIES := liblog -LOCAL_CFLAGS := -Werror -Wall -Wextra -LOCAL_MULTILIB := both -LOCAL_MODULE_HOST_OS := darwin linux windows -include $(BUILD_HOST_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils -LOCAL_SRC_FILES := $(libcutils_common_sources) dlmalloc_stubs.c -LOCAL_SRC_FILES_darwin := $(libcutils_nonwindows_sources) $(libcutils_nonwindows_host_sources) -LOCAL_SRC_FILES_linux := $(libcutils_nonwindows_sources) $(libcutils_nonwindows_host_sources) -LOCAL_SHARED_LIBRARIES := liblog -LOCAL_CFLAGS := -Werror -Wall -Wextra -LOCAL_MULTILIB := both -include $(BUILD_HOST_SHARED_LIBRARY) - - - -# Shared and static library for target -# ======================================================== - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils -LOCAL_SRC_FILES := $(libcutils_common_sources) \ - $(libcutils_nonwindows_sources) \ - android_reboot.c \ - ashmem-dev.c \ - debugger.c \ - klog.cpp \ - partition_utils.c \ - properties.c \ - qtaguid.c \ - trace-dev.c \ - uevent.c \ - -LOCAL_SRC_FILES_arm += arch-arm/memset32.S -LOCAL_SRC_FILES_arm64 += arch-arm64/android_memset.S - -LOCAL_SRC_FILES_mips += arch-mips/android_memset.c -LOCAL_SRC_FILES_mips64 += arch-mips/android_memset.c - -LOCAL_SRC_FILES_x86 += \ - arch-x86/android_memset16.S \ - arch-x86/android_memset32.S \ - -LOCAL_SRC_FILES_x86_64 += \ - arch-x86_64/android_memset16.S \ - arch-x86_64/android_memset32.S \ - -LOCAL_C_INCLUDES := $(libcutils_c_includes) -LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libdebuggerd_client -LOCAL_STATIC_LIBRARIES := liblog libdebuggerd_client -ifneq ($(ENABLE_CPUSETS),) -LOCAL_CFLAGS += -DUSE_CPUSETS -endif -ifneq ($(ENABLE_SCHEDBOOST),) -LOCAL_CFLAGS += -DUSE_SCHEDBOOST -endif -LOCAL_CFLAGS += -Werror -Wall -Wextra -std=gnu90 -LOCAL_CLANG := true -LOCAL_SANITIZE := integer -include $(BUILD_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils -# TODO: remove liblog as whole static library, once we don't have prebuilt that requires -# liblog symbols present in libcutils. -LOCAL_WHOLE_STATIC_LIBRARIES := libcutils liblog -LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libdebuggerd_client -LOCAL_STATIC_LIBRARIES := libdebuggerd_client -LOCAL_SHARED_LIBRARIES := liblog -ifneq ($(ENABLE_CPUSETS),) -LOCAL_CFLAGS += -DUSE_CPUSETS -endif -ifneq ($(ENABLE_SCHEDBOOST),) -LOCAL_CFLAGS += -DUSE_SCHEDBOOST -endif -LOCAL_CFLAGS += -Werror -Wall -Wextra -LOCAL_C_INCLUDES := $(libcutils_c_includes) -LOCAL_CLANG := true -LOCAL_SANITIZE := integer -include $(BUILD_SHARED_LIBRARY) - -include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/libcutils/tests/Android.bp b/libcutils/tests/Android.bp new file mode 100644 index 000000000..530c74716 --- /dev/null +++ b/libcutils/tests/Android.bp @@ -0,0 +1,72 @@ +// 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: "libcutils_test_default", + srcs: ["sockets_test.cpp"], + + target: { + android: { + srcs: [ + "MemsetTest.cpp", + "PropertiesTest.cpp", + "trace-dev_test.cpp", + ], + }, + + not_windows: { + srcs: ["test_str_parms.cpp"], + }, + }, + + multilib: { + lib32: { + suffix: "32", + }, + lib64: { + suffix: "64", + }, + }, +} + +test_libraries = [ + "libcutils", + "liblog", + "libbase", +] + +cc_test { + name: "libcutils_test", + defaults: ["libcutils_test_default"], + host_supported: true, + shared_libs: test_libraries, +} + +cc_test { + name: "libcutils_test_static", + defaults: ["libcutils_test_default"], + static_libs: ["libc"] + test_libraries, + stl: "libc++_static", + + target: { + android: { + static_executable: true, + }, + windows: { + host_ldlibs: ["-lws2_32"], + + enabled: true, + }, + }, +} diff --git a/libcutils/tests/Android.mk b/libcutils/tests/Android.mk deleted file mode 100644 index 52cf5f407..000000000 --- a/libcutils/tests/Android.mk +++ /dev/null @@ -1,81 +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. - -LOCAL_PATH := $(call my-dir) - -test_src_files := \ - sockets_test.cpp \ - -test_src_files_nonwindows := \ - test_str_parms.cpp \ - -test_target_only_src_files := \ - MemsetTest.cpp \ - PropertiesTest.cpp \ - trace-dev_test.cpp \ - -test_libraries := libcutils liblog libbase - - -# -# Target. -# - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils_test -LOCAL_SRC_FILES := $(test_src_files) $(test_target_only_src_files) -LOCAL_SHARED_LIBRARIES := $(test_libraries) -LOCAL_MULTILIB := both -LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 -LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 -include $(BUILD_NATIVE_TEST) - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils_test_static -LOCAL_FORCE_STATIC_EXECUTABLE := true -LOCAL_SRC_FILES := $(test_src_files) $(test_target_only_src_files) -LOCAL_STATIC_LIBRARIES := libc $(test_libraries) -LOCAL_CXX_STL := libc++_static -LOCAL_MULTILIB := both -LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 -LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 -include $(BUILD_NATIVE_TEST) - - -# -# Host. -# - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils_test -LOCAL_SRC_FILES := $(test_src_files) $(test_src_files_nonwindows) -LOCAL_SHARED_LIBRARIES := $(test_libraries) -LOCAL_MULTILIB := both -LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 -LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 -include $(BUILD_HOST_NATIVE_TEST) - -include $(CLEAR_VARS) -LOCAL_MODULE := libcutils_test_static -LOCAL_SRC_FILES := $(test_src_files) -LOCAL_SRC_FILES_darwin := $(test_src_files_nonwindows) -LOCAL_SRC_FILES_linux := $(test_src_files_nonwindows) -LOCAL_STATIC_LIBRARIES := $(test_libraries) -LOCAL_LDLIBS_windows := -lws2_32 -LOCAL_CXX_STL := libc++_static -LOCAL_MULTILIB := both -LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 -LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 -LOCAL_MODULE_HOST_OS := darwin linux windows -include $(BUILD_HOST_NATIVE_TEST)