diff options
Diffstat (limited to 'rust/library.go')
-rw-r--r-- | rust/library.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/rust/library.go b/rust/library.go index 386ea4713..ba4754192 100644 --- a/rust/library.go +++ b/rust/library.go @@ -19,6 +19,7 @@ import ( "strings" "android/soong/android" + "android/soong/rust/config" ) func init() { @@ -304,6 +305,15 @@ func (library *libraryDecorator) compilerProps() []interface{} { } func (library *libraryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps { + + // TODO(b/144861059) Remove if C libraries support dylib linkage in the future. + if !ctx.Host() && (library.static() || library.shared()) { + library.setNoStdlibs() + for _, stdlib := range config.Stdlibs { + deps.Rlibs = append(deps.Rlibs, stdlib+".static") + } + } + deps = library.baseCompiler.compilerDeps(ctx, deps) if ctx.toolchain().Bionic() && (library.dylib() || library.shared()) { |