Add c++-headers and c++-sources
This way, hidl-gen won't generate headers+sources multiple times.
Test: hidl implementations still link
Test: updated various interface roots
Bug: 38174080
Change-Id: Ibc036df4bda7e4f41eb92865fe3e47376a6a3fbd
diff --git a/main.cpp b/main.cpp
index 329096d..0118ece 100644
--- a/main.cpp
+++ b/main.cpp
@@ -88,6 +88,12 @@
if (lang == "c++") {
return ast->generateCpp(outputDir);
}
+ if (lang == "c++-headers") {
+ return ast->generateCppHeaders(outputDir);
+ }
+ if (lang == "c++-sources") {
+ return ast->generateCppSources(outputDir);
+ }
if (lang == "c++-impl") {
return ast->generateCppImpl(outputDir);
}
@@ -750,7 +756,7 @@
coordinator,
halFilegroupName,
genSourceName,
- "c++",
+ "c++-sources",
packageInterfaces,
importedPackagesHierarchy,
[&pathPrefix](Formatter &out, const FQName &fqName) {
@@ -769,7 +775,7 @@
coordinator,
halFilegroupName,
genHeaderName,
- "c++",
+ "c++-headers",
packageInterfaces,
importedPackagesHierarchy,
[&pathPrefix](Formatter &out, const FQName &fqName) {
@@ -1167,6 +1173,18 @@
}
},
+ {"c++-headers",
+ OutputHandler::NEEDS_DIR /* mOutputMode */,
+ validateForSource,
+ generationFunctionForFileOrPackage("c++-headers")
+ },
+
+ {"c++-sources",
+ OutputHandler::NEEDS_DIR /* mOutputMode */,
+ validateForSource,
+ generationFunctionForFileOrPackage("c++-sources")
+ },
+
{"export-header",
OutputHandler::NEEDS_FILE /* mOutputMode */,
validateForExportHeader,