Fix missing rust dependencies when ALLOW_MISSING_DEPENDENCIES=true
Register a missing dependency when a dependency returns an invalid OptionalPath. Fixes: 294070048 Test: rust_test.go Change-Id: Ibccfc30d59c706308e99f11e372f7c9b60d9dc74
This commit is contained in:
parent
1579a72d78
commit
a86ea0e0eb
1 changed files with 16 additions and 3 deletions
19
rust/rust.go
19
rust/rust.go
|
@ -1306,12 +1306,17 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
|||
}
|
||||
}
|
||||
linkObject := ccDep.OutputFile()
|
||||
linkPath := linkPathFromFilePath(linkObject.Path())
|
||||
|
||||
if !linkObject.Valid() {
|
||||
ctx.ModuleErrorf("Invalid output file when adding dep %q to %q", depName, ctx.ModuleName())
|
||||
if !ctx.Config().AllowMissingDependencies() {
|
||||
ctx.ModuleErrorf("Invalid output file when adding dep %q to %q", depName, ctx.ModuleName())
|
||||
} else {
|
||||
ctx.AddMissingDependencies([]string{depName})
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
linkPath := linkPathFromFilePath(linkObject.Path())
|
||||
|
||||
exportDep := false
|
||||
switch {
|
||||
case cc.IsStaticDepTag(depTag):
|
||||
|
@ -1356,6 +1361,14 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
|||
// Re-get linkObject as ChooseStubOrImpl actually tells us which
|
||||
// object (either from stub or non-stub) to use.
|
||||
linkObject = android.OptionalPathForPath(sharedLibraryInfo.SharedLibrary)
|
||||
if !linkObject.Valid() {
|
||||
if !ctx.Config().AllowMissingDependencies() {
|
||||
ctx.ModuleErrorf("Invalid output file when adding dep %q to %q", depName, ctx.ModuleName())
|
||||
} else {
|
||||
ctx.AddMissingDependencies([]string{depName})
|
||||
}
|
||||
return
|
||||
}
|
||||
linkPath = linkPathFromFilePath(linkObject.Path())
|
||||
|
||||
depPaths.linkDirs = append(depPaths.linkDirs, linkPath)
|
||||
|
|
Loading…
Reference in a new issue