Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9eeb6bc7 authored by Thiébaud Weksteen's avatar Thiébaud Weksteen Committed by Automerger Merge Worker
Browse files

Merge "Remove moduleContextImpl struct" am: 79e546f7 am: aeb32905

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1348474

Change-Id: Ie2ed0fe9c0ba0f3a6985ef9daf9ebf5508e138bd
parents 0921b4a5 aeb32905
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -69,36 +69,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)
}
@@ -111,7 +111,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
@@ -121,8 +121,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)

@@ -233,7 +233,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 {

+1 −1
Original line number Diff line number Diff line
@@ -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)
	}
+1 −1
Original line number Diff line number Diff line
@@ -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, "")
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -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)...)
+25 −39
Original line number Diff line number Diff line
@@ -514,37 +514,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 {
@@ -560,11 +571,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)

@@ -618,14 +625,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
@@ -822,11 +821,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{}
@@ -873,19 +868,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)
}