diff options
Diffstat (limited to 'rust/library.go')
-rw-r--r-- | rust/library.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/library.go b/rust/library.go index 7f5861fe8..415785a16 100644 --- a/rust/library.go +++ b/rust/library.go @@ -744,10 +744,16 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa } if library.rlib() { ccExporter.RustRlibDeps = append(ccExporter.RustRlibDeps, deps.reexportedCcRlibDeps...) + ccExporter.RustRlibDeps = append(ccExporter.RustRlibDeps, deps.reexportedWholeCcRlibDeps...) } android.SetProvider(ctx, cc.FlagExporterInfoProvider, ccExporter) } + if library.dylib() { + // reexport whole-static'd dependencies for dylibs. + library.flagExporter.wholeRustRlibDeps = append(library.flagExporter.wholeRustRlibDeps, deps.reexportedWholeCcRlibDeps...) + } + if library.shared() || library.stubs() { // Optimize out relinking against shared libraries whose interface hasn't changed by // depending on a table of contents file instead of the library itself. |