diff options
author | 2022-01-23 20:48:36 -0800 | |
---|---|---|
committer | 2022-01-24 17:33:05 -0800 | |
commit | e32f09312019d7dea38b058cbc23dd0ea1186cf8 (patch) | |
tree | df53ac616af099fe87d36d29a8364aa9db799775 /rust/library.go | |
parent | 018cbebd7149afb14a60e84e4fd9c53ff63cd676 (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.go | 14 |
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 |