Merge "Change stdlib linkage for C libraries."
diff --git a/rust/library.go b/rust/library.go
index 386ea47..ba47541 100644
--- a/rust/library.go
+++ b/rust/library.go
@@ -19,6 +19,7 @@
"strings"
"android/soong/android"
+ "android/soong/rust/config"
)
func init() {
@@ -304,6 +305,15 @@
}
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()) {