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