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,