Merge "Add transitive shared libs to LOCAL_SHARED_LIBRARIES for rust modules" into main
This commit is contained in:
12
rust/rust.go
12
rust/rust.go
@@ -66,7 +66,6 @@ type BaseProperties struct {
|
||||
AndroidMkRlibs []string `blueprint:"mutated"`
|
||||
AndroidMkDylibs []string `blueprint:"mutated"`
|
||||
AndroidMkProcMacroLibs []string `blueprint:"mutated"`
|
||||
AndroidMkSharedLibs []string `blueprint:"mutated"`
|
||||
AndroidMkStaticLibs []string `blueprint:"mutated"`
|
||||
|
||||
ImageVariationPrefix string `blueprint:"mutated"`
|
||||
@@ -168,6 +167,8 @@ type Module struct {
|
||||
|
||||
// For apex variants, this is set as apex.min_sdk_version
|
||||
apexSdkVersion android.ApiLevel
|
||||
|
||||
transitiveAndroidMkSharedLibs *android.DepSet[string]
|
||||
}
|
||||
|
||||
func (mod *Module) Header() bool {
|
||||
@@ -1218,6 +1219,9 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
})
|
||||
}
|
||||
|
||||
var transitiveAndroidMkSharedLibs []*android.DepSet[string]
|
||||
var directAndroidMkSharedLibs []string
|
||||
|
||||
ctx.VisitDirectDeps(func(dep android.Module) {
|
||||
depName := ctx.OtherModuleName(dep)
|
||||
depTag := ctx.OtherModuleDependencyTag(dep)
|
||||
@@ -1261,6 +1265,8 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
mod.Properties.AndroidMkProcMacroLibs = append(mod.Properties.AndroidMkProcMacroLibs, makeLibName)
|
||||
}
|
||||
|
||||
transitiveAndroidMkSharedLibs = append(transitiveAndroidMkSharedLibs, rustDep.transitiveAndroidMkSharedLibs)
|
||||
|
||||
if android.IsSourceDepTagWithOutputTag(depTag, "") {
|
||||
// Since these deps are added in path_properties.go via AddDependencies, we need to ensure the correct
|
||||
// OS/Arch variant is used.
|
||||
@@ -1388,7 +1394,7 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
// Record baseLibName for snapshots.
|
||||
mod.Properties.SnapshotSharedLibs = append(mod.Properties.SnapshotSharedLibs, cc.BaseLibName(depName))
|
||||
|
||||
mod.Properties.AndroidMkSharedLibs = append(mod.Properties.AndroidMkSharedLibs, makeLibName)
|
||||
directAndroidMkSharedLibs = append(directAndroidMkSharedLibs, makeLibName)
|
||||
exportDep = true
|
||||
case cc.IsHeaderDepTag(depTag):
|
||||
exportedInfo := ctx.OtherModuleProvider(dep, cc.FlagExporterInfoProvider).(cc.FlagExporterInfo)
|
||||
@@ -1425,6 +1431,8 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
}
|
||||
})
|
||||
|
||||
mod.transitiveAndroidMkSharedLibs = android.NewDepSet[string](android.PREORDER, directAndroidMkSharedLibs, transitiveAndroidMkSharedLibs)
|
||||
|
||||
var rlibDepFiles RustLibraries
|
||||
for _, dep := range directRlibDeps {
|
||||
rlibDepFiles = append(rlibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()})
|
||||
|
Reference in New Issue
Block a user