summaryrefslogtreecommitdiff
path: root/rust/builder.go
diff options
context:
space:
mode:
author Sam Delmerico <delmerico@google.com> 2023-03-28 16:54:00 -0400
committer Sam Delmerico <delmerico@google.com> 2023-03-29 14:33:20 +0000
commit51d6d1c585bc5ce8fc281acb0133cbee5c8f379e (patch)
tree054777e63e3348d14dc6798a700face5e833f680 /rust/builder.go
parent13ca1a92071c211a239670d0249461ebea84a0e8 (diff)
pass cc shared libs as order-only to rustc
The library file for a cc_shared_library dependency is added to the linkFlags of the rustc compilation action, but no explicit dependency was made on it from a Ninja perspective if a TOC was also present. This change adds the explicit dependency on the library file whether or not a TOC is present. Test: m crosvm Bug: 275416061 Change-Id: I625b62762d9ba7b4fd2b8362285528e47f728dd4
Diffstat (limited to 'rust/builder.go')
-rw-r--r--rust/builder.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/builder.go b/rust/builder.go
index 4b20e2b9a..09dfe029c 100644
--- a/rust/builder.go
+++ b/rust/builder.go
@@ -218,6 +218,7 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
var inputs android.Paths
var implicits android.Paths
+ var orderOnly android.Paths
var output buildOutput
var rustcFlags, linkFlags []string
var implicitOutputs android.WritablePaths
@@ -285,6 +286,8 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
implicits = append(implicits, deps.CrtBegin...)
implicits = append(implicits, deps.CrtEnd...)
+ orderOnly = append(orderOnly, deps.SharedLibs...)
+
if len(deps.SrcDeps) > 0 {
moduleGenDir := ctx.RustModule().compiler.CargoOutDir()
var outputs android.WritablePaths
@@ -331,6 +334,7 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
ImplicitOutputs: nil,
Inputs: inputs,
Implicits: implicits,
+ OrderOnly: orderOnly,
Args: map[string]string{
"rustcFlags": strings.Join(rustcFlags, " "),
"libFlags": strings.Join(libFlags, " "),
@@ -349,6 +353,7 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
ImplicitOutputs: implicitOutputs,
Inputs: inputs,
Implicits: implicits,
+ OrderOnly: orderOnly,
Args: map[string]string{
"rustcFlags": strings.Join(rustcFlags, " "),
"linkFlags": strings.Join(linkFlags, " "),
@@ -367,6 +372,7 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
Output: kytheFile,
Inputs: inputs,
Implicits: implicits,
+ OrderOnly: orderOnly,
Args: map[string]string{
"rustcFlags": strings.Join(rustcFlags, " "),
"linkFlags": strings.Join(linkFlags, " "),