rust: add ccToolchain to Module

The cc toolchain information is required when using cc.Stripper.
Move to a Module method to avoid importing the cc package everywhere.

Test: m nothing
Bug: 153430439
Change-Id: I497dcdff4e767ecb8b8688c73cf88850c302683d
This commit is contained in:
Thiébaud Weksteen
2020-08-27 13:37:29 +02:00
parent 19e1c6c8e7
commit 31f1bb80ef
3 changed files with 9 additions and 5 deletions

View File

@@ -21,7 +21,6 @@ import (
"github.com/google/blueprint/proptools"
"android/soong/android"
ccConfig "android/soong/cc/config"
)
var (
@@ -92,8 +91,8 @@ type bindgenDecorator struct {
Properties BindgenProperties
}
func (b *bindgenDecorator) GenerateSource(ctx android.ModuleContext, deps PathDeps) android.Path {
ccToolchain := ccConfig.FindToolchain(ctx.Os(), ctx.Arch())
func (b *bindgenDecorator) GenerateSource(ctx ModuleContext, deps PathDeps) android.Path {
ccToolchain := ctx.RustModule().ccToolchain(ctx)
var cflags []string
var implicits android.Paths

View File

@@ -23,6 +23,7 @@ import (
"android/soong/android"
"android/soong/cc"
cc_config "android/soong/cc/config"
"android/soong/rust/config"
)
@@ -656,6 +657,10 @@ func (mod *Module) toolchain(ctx android.BaseModuleContext) config.Toolchain {
return mod.cachedToolchain
}
func (mod *Module) ccToolchain(ctx android.BaseModuleContext) cc_config.Toolchain {
return cc_config.FindToolchain(ctx.Os(), ctx.Arch())
}
func (d *Defaults) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}

View File

@@ -38,7 +38,7 @@ type BaseSourceProvider struct {
var _ SourceProvider = (*BaseSourceProvider)(nil)
type SourceProvider interface {
GenerateSource(ctx android.ModuleContext, deps PathDeps) android.Path
GenerateSource(ctx ModuleContext, deps PathDeps) android.Path
Srcs() android.Paths
SourceProviderProps() []interface{}
SourceProviderDeps(ctx DepsContext, deps Deps) Deps
@@ -49,7 +49,7 @@ func (sp *BaseSourceProvider) Srcs() android.Paths {
return android.Paths{sp.OutputFile}
}
func (sp *BaseSourceProvider) GenerateSource(ctx android.ModuleContext, deps PathDeps) android.Path {
func (sp *BaseSourceProvider) GenerateSource(ctx ModuleContext, deps PathDeps) android.Path {
panic("BaseSourceProviderModule does not implement GenerateSource()")
}