diff options
Diffstat (limited to 'rust/rust.go')
-rw-r--r-- | rust/rust.go | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/rust/rust.go b/rust/rust.go index 245ed2e8e..7d81c721e 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -1063,6 +1063,12 @@ func (d dependencyTag) LicenseAnnotations() []android.LicenseAnnotation { return nil } +func (d dependencyTag) PropagateAconfigValidation() bool { + return d == rlibDepTag || d == sourceDepTag +} + +var _ android.PropagateAconfigValidationDependencyTag = dependencyTag{} + var _ android.LicenseAnnotationsDependencyTag = dependencyTag{} var ( @@ -1136,6 +1142,7 @@ func collectIncludedProtos(mod *Module, dep *Module) { } } } + func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { var depPaths PathDeps @@ -1427,16 +1434,29 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { mod.transitiveAndroidMkSharedLibs = android.NewDepSet[string](android.PREORDER, directAndroidMkSharedLibs, transitiveAndroidMkSharedLibs) var rlibDepFiles RustLibraries + aliases := mod.compiler.Aliases() for _, dep := range directRlibDeps { - rlibDepFiles = append(rlibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()}) + crateName := dep.CrateName() + if alias, aliased := aliases[crateName]; aliased { + crateName = alias + } + rlibDepFiles = append(rlibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName}) } var dylibDepFiles RustLibraries for _, dep := range directDylibDeps { - dylibDepFiles = append(dylibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()}) + crateName := dep.CrateName() + if alias, aliased := aliases[crateName]; aliased { + crateName = alias + } + dylibDepFiles = append(dylibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName}) } var procMacroDepFiles RustLibraries for _, dep := range directProcMacroDeps { - procMacroDepFiles = append(procMacroDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()}) + crateName := dep.CrateName() + if alias, aliased := aliases[crateName]; aliased { + crateName = alias + } + procMacroDepFiles = append(procMacroDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName}) } var staticLibDepFiles android.Paths |