In addition to regular java library targets, also emit static java library
targets.
Bug: 31684178
Test: hidl_test and hidl_test_java
Change-Id: Iac6953dc91fc8c8225e4122a3bd7b964a67beb35
diff --git a/main.cpp b/main.cpp
index 319cf63..247356f 100644
--- a/main.cpp
+++ b/main.cpp
@@ -355,40 +355,62 @@
out << "\ninclude $(BUILD_SHARED_LIBRARY)\n";
if (packageIsJavaCompatible) {
- out << "\n"
- << "########################################"
- << "########################################\n\n";
+ enum LibraryStyle {
+ LIBRARY_STYLE_REGULAR,
+ LIBRARY_STYLE_STATIC,
+ LIBRARY_STYLE_END,
+ };
- out << "include $(CLEAR_VARS)\n"
- << "LOCAL_MODULE := "
- << libraryName
- << "-java\n"
- << "LOCAL_MODULE_CLASS := JAVA_LIBRARIES\n\n"
- << "intermediates := $(local-generated-sources-dir)\n\n"
- << "HIDL := $(HOST_OUT_EXECUTABLES)/"
- << hidl_gen
- << "$(HOST_EXECUTABLE_SUFFIX)";
+ for (int style = LIBRARY_STYLE_REGULAR; style != LIBRARY_STYLE_END;
+ ++style) {
+ const std::string staticSuffix =
+ (style == LIBRARY_STYLE_STATIC) ? "-static" : "";
- if (!importedPackages.empty()) {
out << "\n"
- << "\nLOCAL_JAVA_LIBRARIES := \\";
- out.indent();
- for (const auto &importedPackage : importedPackages) {
- out << "\n" << makeLibraryName(importedPackage) << "-java \\";
+ << "########################################"
+ << "########################################\n\n";
+
+ out << "include $(CLEAR_VARS)\n"
+ << "LOCAL_MODULE := "
+ << libraryName
+ << "-java"
+ << staticSuffix
+ << "\nLOCAL_MODULE_CLASS := JAVA_LIBRARIES\n\n"
+ << "intermediates := $(local-generated-sources-dir)\n\n"
+ << "HIDL := $(HOST_OUT_EXECUTABLES)/"
+ << hidl_gen
+ << "$(HOST_EXECUTABLE_SUFFIX)";
+
+ if (!importedPackages.empty()) {
+ out << "\n"
+ << "\nLOCAL_"
+ << ((style == LIBRARY_STYLE_STATIC) ? "STATIC_" : "")
+ << "JAVA_LIBRARIES := \\";
+
+ out.indent();
+ for (const auto &importedPackage : importedPackages) {
+ out << "\n"
+ << makeLibraryName(importedPackage)
+ << "-java"
+ << staticSuffix
+ << " \\";
+ }
+ out << "\n";
+ out.unindent();
}
- out << "\n";
- out.unindent();
+
+ generateMakefileSectionForLanguage(
+ out,
+ coordinator,
+ packageFQName,
+ packageInterfaces,
+ typesAST,
+ true /* forJava */);
+
+ out << "\ninclude $(BUILD_"
+ << ((style == LIBRARY_STYLE_STATIC) ? "STATIC_" : "")
+ << "JAVA_LIBRARY)\n\n";
}
-
- generateMakefileSectionForLanguage(
- out,
- coordinator,
- packageFQName,
- packageInterfaces,
- typesAST,
- true /* forJava */);
-
- out << "\ninclude $(BUILD_JAVA_LIBRARY)\n";
}
out << "\n\n"