Export API imported library list to Makefile
Export API imported library list to Makefile, so it can be used to
replace dependency for modules defined in Makefile.
Bug: 243736650
Test: 'ALLOW_MISSING_DEPENDENCIES=true m halutil' succeeded
Change-Id: I0540681b4b8129a37b4a83eed9b09218839e364e
diff --git a/multitree/api_imports.go b/multitree/api_imports.go
index 2c4cf80..6674d3e 100644
--- a/multitree/api_imports.go
+++ b/multitree/api_imports.go
@@ -16,6 +16,7 @@
import (
"android/soong/android"
+ "strings"
"github.com/google/blueprint"
)
@@ -26,6 +27,7 @@
func init() {
RegisterApiImportsModule(android.InitRegistrationContext)
+ android.RegisterMakeVarsProvider(pctx, makeVarsProvider)
}
func RegisterApiImportsModule(ctx android.RegistrationContext) {
@@ -86,3 +88,12 @@
func GetApiImportSuffix() string {
return apiImportNameSuffix
}
+
+func makeVarsProvider(ctx android.MakeVarsContext) {
+ ctx.VisitAllModules(func(m android.Module) {
+ if i, ok := m.(*ApiImports); ok {
+ ctx.Strict("API_IMPORTED_SHARED_LIBRARIES", strings.Join(i.properties.Shared_libs, " "))
+ ctx.Strict("API_IMPORTED_HEADER_LIBRARIES", strings.Join(i.properties.Header_libs, " "))
+ }
+ })
+}