diff options
-rw-r--r-- | rust/builder.go | 20 | ||||
-rw-r--r-- | rust/compiler.go | 2 | ||||
-rw-r--r-- | rust/coverage.go | 2 | ||||
-rw-r--r-- | rust/library.go | 2 | ||||
-rw-r--r-- | rust/rust.go | 64 |
5 files changed, 38 insertions, 52 deletions
diff --git a/rust/builder.go b/rust/builder.go index 7dbb59d3e..91dc6af39 100644 --- a/rust/builder.go +++ b/rust/builder.go @@ -57,36 +57,36 @@ func init() { pctx.HostBinToolVariable("SoongZipCmd", "soong_zip") } -func TransformSrcToBinary(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, +func TransformSrcToBinary(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { flags.RustFlags = append(flags.RustFlags, "-C lto") return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "bin", includeDirs) } -func TransformSrctoRlib(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, +func TransformSrctoRlib(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "rlib", includeDirs) } -func TransformSrctoDylib(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, +func TransformSrctoDylib(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "dylib", includeDirs) } -func TransformSrctoStatic(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, +func TransformSrctoStatic(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { flags.RustFlags = append(flags.RustFlags, "-C lto") return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "staticlib", includeDirs) } -func TransformSrctoShared(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, +func TransformSrctoShared(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { flags.RustFlags = append(flags.RustFlags, "-C lto") return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "cdylib", includeDirs) } -func TransformSrctoProcMacro(ctx android.ModuleContext, mainSrc android.Path, deps PathDeps, +func TransformSrctoProcMacro(ctx ModuleContext, mainSrc android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, includeDirs []string) buildOutput { return transformSrctoCrate(ctx, mainSrc, deps, flags, outputFile, "proc-macro", includeDirs) } @@ -99,7 +99,7 @@ func rustLibsToPaths(libs RustLibraries) android.Paths { return paths } -func transformSrctoCrate(ctx android.ModuleContext, main android.Path, deps PathDeps, flags Flags, +func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, flags Flags, outputFile android.WritablePath, crate_type string, includeDirs []string) buildOutput { var inputs android.Paths @@ -109,8 +109,8 @@ func transformSrctoCrate(ctx android.ModuleContext, main android.Path, deps Path var implicitOutputs android.WritablePaths output.outputFile = outputFile - crate_name := ctx.(ModuleContext).CrateName() - targetTriple := ctx.(ModuleContext).toolchain().RustTriple() + crate_name := ctx.RustModule().CrateName() + targetTriple := ctx.toolchain().RustTriple() inputs = append(inputs, main) @@ -198,7 +198,7 @@ func transformSrctoCrate(ctx android.ModuleContext, main android.Path, deps Path return output } -func TransformCoverageFilesToZip(ctx android.ModuleContext, +func TransformCoverageFilesToZip(ctx ModuleContext, covFiles android.Paths, baseName string) android.OptionalPath { if len(covFiles) > 0 { diff --git a/rust/compiler.go b/rust/compiler.go index efc1ce4ca..050a2593d 100644 --- a/rust/compiler.go +++ b/rust/compiler.go @@ -253,7 +253,7 @@ func (compiler *baseCompiler) getStem(ctx ModuleContext) string { } func (compiler *baseCompiler) getStemWithoutSuffix(ctx BaseModuleContext) string { - stem := ctx.baseModuleName() + stem := ctx.ModuleName() if String(compiler.Properties.Stem) != "" { stem = String(compiler.Properties.Stem) } diff --git a/rust/coverage.go b/rust/coverage.go index 4e3977be3..223ba4f19 100644 --- a/rust/coverage.go +++ b/rust/coverage.go @@ -67,6 +67,6 @@ func (cov *coverage) begin(ctx BaseModuleContext) { // Host coverage not yet supported. } else { // Update useSdk and sdkVersion args if Rust modules become SDK aware. - cov.Properties = cc.SetCoverageProperties(ctx, cov.Properties, ctx.nativeCoverage(), false, "") + cov.Properties = cc.SetCoverageProperties(ctx, cov.Properties, ctx.RustModule().nativeCoverage(), false, "") } } diff --git a/rust/library.go b/rust/library.go index 3c948ea09..f070c34c6 100644 --- a/rust/library.go +++ b/rust/library.go @@ -329,7 +329,7 @@ func (library *libraryDecorator) sharedLibFilename(ctx ModuleContext) string { } func (library *libraryDecorator) compilerFlags(ctx ModuleContext, flags Flags) Flags { - flags.RustFlags = append(flags.RustFlags, "-C metadata="+ctx.baseModuleName()) + flags.RustFlags = append(flags.RustFlags, "-C metadata="+ctx.ModuleName()) flags = library.baseCompiler.compilerFlags(ctx, flags) if library.shared() || library.static() { library.includeDirs = append(library.includeDirs, android.PathsForModuleSrc(ctx, library.Properties.Include_dirs)...) diff --git a/rust/rust.go b/rust/rust.go index 7b82b1f69..1cc412d36 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -506,37 +506,48 @@ type DepsContext interface { } type ModuleContextIntf interface { + RustModule() *Module toolchain() config.Toolchain - baseModuleName() string - CrateName() string - nativeCoverage() bool } type depsContext struct { android.BottomUpMutatorContext - moduleContextImpl } type moduleContext struct { android.ModuleContext - moduleContextImpl } -func (ctx *moduleContextImpl) nativeCoverage() bool { - return ctx.mod.nativeCoverage() +type baseModuleContext struct { + android.BaseModuleContext } -func (mod *Module) nativeCoverage() bool { - return mod.compiler != nil && mod.compiler.nativeCoverage() +func (ctx *moduleContext) RustModule() *Module { + return ctx.Module().(*Module) +} + +func (ctx *moduleContext) toolchain() config.Toolchain { + return ctx.RustModule().toolchain(ctx) +} + +func (ctx *depsContext) RustModule() *Module { + return ctx.Module().(*Module) } -type moduleContextImpl struct { - mod *Module - ctx BaseModuleContext +func (ctx *depsContext) toolchain() config.Toolchain { + return ctx.RustModule().toolchain(ctx) } -func (ctx *moduleContextImpl) toolchain() config.Toolchain { - return ctx.mod.toolchain(ctx.ctx) +func (ctx *baseModuleContext) RustModule() *Module { + return ctx.Module().(*Module) +} + +func (ctx *baseModuleContext) toolchain() config.Toolchain { + return ctx.RustModule().toolchain(ctx) +} + +func (mod *Module) nativeCoverage() bool { + return mod.compiler != nil && mod.compiler.nativeCoverage() } func (mod *Module) toolchain(ctx android.BaseModuleContext) config.Toolchain { @@ -552,11 +563,7 @@ func (d *Defaults) GenerateAndroidBuildActions(ctx android.ModuleContext) { func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { ctx := &moduleContext{ ModuleContext: actx, - moduleContextImpl: moduleContextImpl{ - mod: mod, - }, } - ctx.ctx = ctx toolchain := mod.toolchain(ctx) @@ -607,14 +614,6 @@ func (mod *Module) deps(ctx DepsContext) Deps { } -func (ctx *moduleContextImpl) baseModuleName() string { - return ctx.mod.ModuleBase.BaseModuleName() -} - -func (ctx *moduleContextImpl) CrateName() string { - return ctx.mod.CrateName() -} - type dependencyTag struct { blueprint.BaseDependencyTag name string @@ -811,11 +810,7 @@ func libNameFromFilePath(filepath android.Path) string { func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { ctx := &depsContext{ BottomUpMutatorContext: actx, - moduleContextImpl: moduleContextImpl{ - mod: mod, - }, } - ctx.ctx = ctx deps := mod.deps(ctx) commonDepVariations := []blueprint.Variation{} @@ -862,19 +857,10 @@ func BeginMutator(ctx android.BottomUpMutatorContext) { } } -type baseModuleContext struct { - android.BaseModuleContext - moduleContextImpl -} - func (mod *Module) beginMutator(actx android.BottomUpMutatorContext) { ctx := &baseModuleContext{ BaseModuleContext: actx, - moduleContextImpl: moduleContextImpl{ - mod: mod, - }, } - ctx.ctx = ctx mod.begin(ctx) } |