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

@@ -396,7 +396,7 @@ 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(deps)
deps = bionicDeps(deps, false)
deps.CrtBegin = "crtbegin_so"
deps.CrtEnd = "crtend_so"
}