hidl-gen creates support_system_process tags.

These tags have been manually added to hal files as part
of b/63866913. In order to help make hidl files consistent,
hidl-gen needs to emit the makefiles exactly as they are
used. This will be cleaned up in b/35570956.

Bug: 64487114
Test: hidl generates makefiles which have been hand edited
(cherry picked from commit 8f35d284d7e32758497565c92628773afd5c1d26)
Merged-In: Ica52a4fdfb89f9b867319beee69c6c74ca1d65d1
Change-Id: Ica52a4fdfb89f9b867319beee69c6c74ca1d65d1
diff --git a/main.cpp b/main.cpp
index 696b3af..8c4a760 100644
--- a/main.cpp
+++ b/main.cpp
@@ -639,6 +639,16 @@
            fqName.package() == gIManagerPackageFqName.string();
 }
 
+bool isSystemProcessSupportedPackage(const FQName& fqName) {
+    // Technically, so is hidl IBase + IServiceManager, but
+    // these are part of libhidltransport.
+    return fqName.string() == "android.hardware.graphics.allocator@2.0" ||
+           fqName.string() == "android.hardware.graphics.common@1.0" ||
+           fqName.string() == "android.hardware.graphics.mapper@2.0" ||
+           fqName.string() == "android.hardware.renderscript@1.0" ||
+           fqName.string() == "android.hidl.memory@1.0";
+}
+
 bool isSystemPackage(const FQName &package) {
     return package.inPackage("android.hidl") ||
            package.inPackage("android.system") ||
@@ -708,6 +718,7 @@
 static void generateAndroidBpLibSection(
         Formatter &out,
         bool generateVendor,
+        const FQName &packageFQName,
         const std::string &libraryName,
         const std::string &genSourceName,
         const std::string &genHeaderName,
@@ -729,6 +740,9 @@
         out << "vndk: ";
         out.block([&]() {
             out << "enabled: true,\n";
+            if (isSystemProcessSupportedPackage(packageFQName)) {
+                out << "support_system_process: true,\n";
+            }
         }) << ",\n";
     }
     out << "shared_libs: [\n";
@@ -885,6 +899,7 @@
         generateAndroidBpLibSection(
             out,
             false /* generateVendor */,
+            packageFQName,
             libraryName,
             genSourceName,
             genHeaderName,
@@ -908,6 +923,7 @@
             generateAndroidBpLibSection(
                 out,
                 true /* generateVendor */,
+                packageFQName,
                 libraryName,
                 genSourceName,
                 genHeaderName,