Recombine hidl lib build.

Now that the libraries are combined, also combine their build so that it
is clearer what is going on.

Bug: N/A
Test: N/A
Change-Id: I0db446a99f4ff321107b78c16733b3a4abbe62a1
diff --git a/Android.bp b/Android.bp
index 9207656..5c783b8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -50,7 +50,10 @@
         "libutils",
         "libcutils",
     ],
-    static_libs: ["libgtest", "libgmock"],
+    static_libs: [
+        "libgtest",
+        "libgmock",
+    ],
 
     cflags: [
         "-O0",
@@ -58,21 +61,6 @@
     ],
 }
 
-cc_defaults {
-    name: "libhidlbase-combined-impl",
-
-    defaults: [
-        "libhwbinder-impl-shared-libs",
-        "libhidlbase-impl-shared-libs",
-        "libhidltransport-impl-shared-libs",
-    ],
-
-    whole_static_libs: [
-        "libhidlbase-impl-internal",
-        "libhidltransport-impl-internal",
-    ],
-}
-
 cc_library {
     name: "libhidlbase",
     defaults: ["libhidlbase-combined-impl"],
@@ -112,3 +100,92 @@
     name: "libhidltransport",
     vendor_available: true,
 }
+
+cc_defaults {
+    name: "libhidlbase-combined-impl",
+
+    defaults: [
+        "hidl-module-defaults",
+        "libhidl-defaults",
+        "libhwbinder-impl-shared-libs",
+    ],
+
+    shared_libs: [
+        "libbase",
+        "liblog",
+        "libutils",
+        "libcutils",
+    ],
+    export_shared_lib_headers: [
+        "libcutils", // for native_handle.h
+        "libutils",
+    ],
+    static_libs: [
+        "libhwbinder-impl-internal",
+    ],
+
+    target: {
+        android: {
+            shared_libs: [
+                "libvndksupport",
+            ],
+        },
+        recovery: {
+            exclude_shared_libs: [
+                "libvndksupport",
+            ],
+        },
+    },
+
+    export_include_dirs: [
+        "base/include",
+        "transport/include",
+    ],
+
+    generated_sources: [
+        "android.hidl.manager@1.0_genc++",
+        "android.hidl.manager@1.1_genc++",
+        "android.hidl.manager@1.2_genc++",
+        "android.hidl.base@1.0_genc++",
+    ],
+    generated_headers: [
+        "android.hidl.manager@1.0_genc++_headers",
+        "android.hidl.manager@1.1_genc++_headers",
+        "android.hidl.manager@1.2_genc++_headers",
+        "android.hidl.base@1.0_genc++_headers",
+    ],
+    export_generated_headers: [
+        "android.hidl.manager@1.0_genc++_headers",
+        "android.hidl.manager@1.1_genc++_headers",
+        "android.hidl.manager@1.2_genc++_headers",
+        "android.hidl.base@1.0_genc++_headers",
+    ],
+
+    srcs: [
+        "base/HidlInternal.cpp",
+        "base/HidlSupport.cpp",
+        "base/Status.cpp",
+        "base/TaskRunner.cpp",
+        "transport/HidlBinderSupport.cpp",
+        "transport/HidlLazyUtils.cpp",
+        "transport/HidlPassthroughSupport.cpp",
+        "transport/HidlTransportSupport.cpp",
+        "transport/HidlTransportUtils.cpp",
+        "transport/LegacySupport.cpp",
+        "transport/ServiceManagement.cpp",
+        "transport/Static.cpp",
+    ],
+
+    product_variables: {
+        debuggable: {
+            cflags: ["-DLIBHIDL_TARGET_DEBUGGABLE"],
+        },
+        enforce_vintf_manifest: {
+            cflags: ["-DENFORCE_VINTF_MANIFEST"],
+        },
+    },
+
+    sanitize: {
+        misc_undefined: ["integer"],
+    },
+}