rust: Add static binary support

Adds the "static_executable" property to rust_binary modules which
allows for building fully static executables. This only impacts bionic
targets.

Bug: 169434439
Test: rust_binary module with static_executable true builds, runs on
      device.

Change-Id: I83c19fddd070859b7e56d248237cfd73e1768519
This commit is contained in:
Ivan Lozano
2020-10-02 10:03:23 -04:00
parent 45dda43df0
commit bf63d00c54
5 changed files with 65 additions and 11 deletions

View File

@@ -267,7 +267,7 @@ func NewRustBindgen(hod android.HostOrDeviceSupported) (*Module, *bindgenDecorat
func (b *bindgenDecorator) SourceProviderDeps(ctx DepsContext, deps Deps) Deps {
deps = b.BaseSourceProvider.SourceProviderDeps(ctx, deps)
if ctx.toolchain().Bionic() {
deps = bionicDeps(deps)
deps = bionicDeps(deps, false)
}
deps.SharedLibs = append(deps.SharedLibs, b.Properties.Shared_libs...)