diff options
author | 2023-03-28 16:54:00 -0400 | |
---|---|---|
committer | 2023-03-29 14:33:20 +0000 | |
commit | 51d6d1c585bc5ce8fc281acb0133cbee5c8f379e (patch) | |
tree | 054777e63e3348d14dc6798a700face5e833f680 /rust/builder.go | |
parent | 13ca1a92071c211a239670d0249461ebea84a0e8 (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.go | 6 |
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, " "), |