Combine libhidlbase/libhidltransport into one lib.
For performance/memory. HIDL transport split at this level will be
de-emphasized moving forward as it is not necessary.
Bug: 134961554
Test: librank
Change-Id: I66183294232bdd0616a943d6cdd08254732ffb45
diff --git a/Android.bp b/Android.bp
index 97ed108..084763c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -46,3 +46,36 @@
"-g",
],
}
+
+cc_library {
+ name: "libhidlbase",
+ recovery_available: true,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ support_system_process: true,
+ },
+
+ defaults: [
+ "libhidlbase-impl-shared-libs",
+ "libhidltransport-impl-shared-libs",
+ ],
+
+ whole_static_libs: [
+ "libhidlbase-impl-internal",
+ "libhidltransport-impl-internal",
+ ],
+}
+
+// WARNING: deprecated
+// This library is no longer required, and dependencies should be taken
+// on libhidlbase instead.
+cc_library {
+ name: "libhidltransport",
+ recovery_available: true,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ support_system_process: true,
+ },
+}
diff --git a/base/Android.bp b/base/Android.bp
index 359ac91..8fe2702 100644
--- a/base/Android.bp
+++ b/base/Android.bp
@@ -12,15 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-cc_library {
- name: "libhidlbase",
- recovery_available: true,
- vendor_available: true,
- vndk: {
- enabled: true,
- support_system_process: true,
- },
- defaults: ["libhidl-defaults"],
+cc_defaults {
+ name: "libhidlbase-impl-shared-libs",
shared_libs: [
"libbase",
"libcutils",
@@ -31,6 +24,16 @@
"libutils",
"libcutils", // for native_handle.h
],
+}
+
+cc_library {
+ name: "libhidlbase-impl-internal",
+ vendor_available: true,
+ recovery_available: true,
+ defaults: [
+ "libhidlbase-impl-shared-libs",
+ "libhidl-defaults"
+ ],
local_include_dirs: ["include"],
export_include_dirs: ["include"],
diff --git a/transport/Android.bp b/transport/Android.bp
index 6518177..50f277e 100644
--- a/transport/Android.bp
+++ b/transport/Android.bp
@@ -16,30 +16,43 @@
name: "android.hidl",
}
-cc_library {
- name: "libhidltransport",
- recovery_available: true,
- vendor_available: true,
- vndk: {
- enabled: true,
- support_system_process: true,
- },
- defaults: [
- "libhidl-defaults",
- "hidl-module-defaults",
- ],
+cc_defaults {
+ name: "libhidltransport-impl-shared-libs",
shared_libs: [
"libbase",
"liblog",
"libutils",
- "libhidlbase",
"libhwbinder",
"libcutils",
- "libvndksupport",
+ "libvndksupport"
],
export_shared_lib_headers: [
"libutils",
- "libhidlbase",
+ ],
+
+ target: {
+ recovery: {
+ exclude_shared_libs: ["libvndksupport"],
+ },
+ },
+}
+
+cc_library_static {
+ name: "libhidltransport-impl-internal",
+ vendor_available: true,
+ recovery_available: true,
+
+ defaults: [
+ "hidl-module-defaults",
+ "libhidl-defaults",
+ "libhidltransport-impl-shared-libs",
+ ],
+
+ static_libs: [
+ "libhidlbase-impl-internal",
+ ],
+ export_static_lib_headers: [
+ "libhidlbase-impl-internal",
],
export_include_dirs: ["include"],
@@ -81,10 +94,4 @@
cflags: ["-DENFORCE_VINTF_MANIFEST"]
},
},
-
- target: {
- recovery: {
- exclude_shared_libs: ["libvndksupport"],
- },
- },
}