summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author ThiƩbaud Weksteen <tweek@google.com> 2020-08-27 13:37:29 +0200
committer ThiƩbaud Weksteen <tweek@google.com> 2020-08-28 10:47:11 +0200
commit31f1bb80efe196f2340ec88a6cc374963e7aa7b5 (patch)
treee05c724468ed4b91c4754c100e5c60a5b79f96e9
parent19e1c6c8e7243326425ec3de089a45c8e7cd1465 (diff)
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
-rw-r--r--rust/bindgen.go5
-rw-r--r--rust/rust.go5
-rw-r--r--rust/source_provider.go4
3 files changed, 9 insertions, 5 deletions
diff --git a/rust/bindgen.go b/rust/bindgen.go
index 9b09e616e..3f7a6ce3d 100644
--- a/rust/bindgen.go
+++ b/rust/bindgen.go
@@ -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
diff --git a/rust/rust.go b/rust/rust.go
index 68dc5a08b..90329502d 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -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) {
}
diff --git a/rust/source_provider.go b/rust/source_provider.go
index e168718e4..755a369a7 100644
--- a/rust/source_provider.go
+++ b/rust/source_provider.go
@@ -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()")
}