summaryrefslogtreecommitdiff
path: root/rust/library.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2022-01-23 20:48:36 -0800
committer Colin Cross <ccross@android.com> 2022-01-24 17:33:05 -0800
commite32f09312019d7dea38b058cbc23dd0ea1186cf8 (patch)
treedf53ac616af099fe87d36d29a8364aa9db799775 /rust/library.go
parent018cbebd7149afb14a60e84e4fd9c53ff63cd676 (diff)
Support building rust modules against musl libc
Add a rust toolchain for musl libc, use std library built from source, and add default dependencies on musl libc. Bug: 216192129 Test: m USE_HOST_MUSL=true host-native Change-Id: Ic5ff4487db9693aeb08a13405f4d18465eecdc4b
Diffstat (limited to 'rust/library.go')
-rw-r--r--rust/library.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/rust/library.go b/rust/library.go
index 9d79c53f2..baac3f0bc 100644
--- a/rust/library.go
+++ b/rust/library.go
@@ -426,10 +426,16 @@ func (library *libraryDecorator) compilerProps() []interface{} {
func (library *libraryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps {
deps = library.baseCompiler.compilerDeps(ctx, deps)
- if ctx.toolchain().Bionic() && (library.dylib() || library.shared()) {
- deps = bionicDeps(ctx, deps, false)
- deps.CrtBegin = []string{"crtbegin_so"}
- deps.CrtEnd = []string{"crtend_so"}
+ if library.dylib() || library.shared() {
+ if ctx.toolchain().Bionic() {
+ deps = bionicDeps(ctx, deps, false)
+ deps.CrtBegin = []string{"crtbegin_so"}
+ deps.CrtEnd = []string{"crtend_so"}
+ } else if ctx.Os() == android.LinuxMusl {
+ deps = muslDeps(ctx, deps, false)
+ deps.CrtBegin = []string{"libc_musl_crtbegin_so"}
+ deps.CrtEnd = []string{"libc_musl_crtend_so"}
+ }
}
return deps