libutils: split out libutils_binder
Dependencies of libbinder, so we can build
a core libbinder library, libbinder_sdk.
This is preparing the way to move this part of libbinder
together with binder code into a single project.
Bug: 302720583
Change-Id: Icff078ac6e36c7f2b91cf815d5b9ed19b2e706e1
diff --git a/libutils/binder/Android.bp b/libutils/binder/Android.bp
new file mode 100644
index 0000000..e2eddb3
--- /dev/null
+++ b/libutils/binder/Android.bp
@@ -0,0 +1,126 @@
+package {
+ default_applicable_licenses: ["system_core_libutils_license"],
+}
+
+cc_defaults {
+ name: "libutils_binder_impl_defaults",
+ defaults: [
+ "libutils_defaults",
+ "apex-lowest-min-sdk-version",
+ ],
+ native_bridge_supported: true,
+
+ srcs: [
+ "Errors.cpp",
+ "RefBase.cpp",
+ "SharedBuffer.cpp",
+ "String16.cpp",
+ "String8.cpp",
+ "StrongPointer.cpp",
+ "Unicode.cpp",
+ "VectorImpl.cpp",
+ ],
+
+ apex_available: [
+ "//apex_available:anyapex",
+ "//apex_available:platform",
+ ],
+
+ afdo: true,
+}
+
+cc_library {
+ name: "libutils_binder",
+ defaults: ["libutils_binder_impl_defaults"],
+}
+
+cc_library {
+ name: "libutils_binder_test_compile",
+ defaults: ["libutils_binder_impl_defaults"],
+
+ cflags: [
+ "-DDEBUG_REFS=1",
+ ],
+
+ visibility: [":__subpackages__"],
+}
+
+cc_fuzz {
+ name: "libutils_fuzz_string8",
+ defaults: ["libutils_fuzz_defaults"],
+ srcs: ["String8_fuzz.cpp"],
+}
+
+cc_fuzz {
+ name: "libutils_fuzz_string16",
+ defaults: ["libutils_fuzz_defaults"],
+ srcs: ["String16_fuzz.cpp"],
+}
+
+cc_fuzz {
+ name: "libutils_fuzz_vector",
+ defaults: ["libutils_fuzz_defaults"],
+ srcs: ["Vector_fuzz.cpp"],
+}
+
+cc_fuzz {
+ name: "libutils_fuzz_refbase",
+ defaults: ["libutils_fuzz_defaults"],
+ srcs: ["RefBase_fuzz.cpp"],
+}
+
+cc_test {
+ name: "libutils_binder_test",
+ host_supported: true,
+
+ srcs: [
+ "Errors_test.cpp",
+ "SharedBuffer_test.cpp",
+ "String16_test.cpp",
+ "String8_test.cpp",
+ "StrongPointer_test.cpp",
+ "Unicode_test.cpp",
+ "Vector_test.cpp",
+ ],
+
+ target: {
+ android: {
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "liblog",
+ "liblzma",
+ "libutils", // which includes libutils_binder
+ "libz",
+ ],
+ },
+ linux: {
+ srcs: [
+ "RefBase_test.cpp",
+ ],
+ },
+ host: {
+ static_libs: [
+ "libbase",
+ "liblog",
+ "liblzma",
+ "libutils", // which includes libutils_binder
+ ],
+ },
+ },
+
+ cflags: [
+ "-Wall",
+ "-Wextra",
+ "-Werror",
+ "-Wthread-safety",
+ ],
+
+ test_suites: ["device-tests"],
+}
+
+cc_benchmark {
+ name: "libutils_binder_benchmark",
+ srcs: ["Vector_benchmark.cpp"],
+ shared_libs: ["libutils"],
+}