diff options
Diffstat (limited to 'rust/rust.go')
-rw-r--r-- | rust/rust.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/rust/rust.go b/rust/rust.go index 668dd8f08..7d81c721e 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -1142,6 +1142,7 @@ func collectIncludedProtos(mod *Module, dep *Module) { } } } + func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { var depPaths PathDeps @@ -1433,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 |