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

Commit 0573238c authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Installation routine for rust is similar to that of cc" am: 4af0d002

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

Change-Id: Ib91d4b5b895d650856ffeb03576636431d37466a
parents 859b16bc 4af0d002
Loading
Loading
Loading
Loading
+23 −10
Original line number Diff line number Diff line
@@ -130,8 +130,9 @@ type BaseProperties struct {
	// Minimum sdk version that the artifact should support when it runs as part of mainline modules(APEX).
	Min_sdk_version *string

	PreventInstall bool
	HideFromMake   bool
	HideFromMake   bool `blueprint:"mutated"`
	PreventInstall bool `blueprint:"mutated"`

	Installable *bool
}

@@ -177,8 +178,8 @@ func (mod *Module) SetHideFromMake() {
	mod.Properties.HideFromMake = true
}

func (c *Module) HiddenFromMake() bool {
	return c.Properties.HideFromMake
func (mod *Module) HiddenFromMake() bool {
	return mod.Properties.HideFromMake
}

func (mod *Module) SanitizePropDefined() bool {
@@ -526,10 +527,6 @@ func (mod *Module) PreventInstall() bool {
	return mod.Properties.PreventInstall
}

func (mod *Module) HideFromMake() {
	mod.Properties.HideFromMake = true
}

func (mod *Module) MarkAsCoverageVariant(coverage bool) {
	mod.coverage.Properties.IsCoverageVariant = coverage
}
@@ -898,8 +895,24 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
		}

		apexInfo := actx.Provider(android.ApexInfoProvider).(android.ApexInfo)
		if mod.installable(apexInfo) {
		if !proptools.BoolDefault(mod.Installable(), mod.EverInstallable()) {
			// If the module has been specifically configure to not be installed then
			// hide from make as otherwise it will break when running inside make as the
			// output path to install will not be specified. Not all uninstallable
			// modules can be hidden from make as some are needed for resolving make
			// side dependencies.
			mod.HideFromMake()
		} else if !mod.installable(apexInfo) {
			mod.SkipInstall()
		}

		// Still call install though, the installs will be stored as PackageSpecs to allow
		// using the outputs in a genrule.
		if mod.OutputFile().Valid() {
			mod.compiler.install(ctx)
			if ctx.Failed() {
				return
			}
		}

		ctx.Phony("rust", ctx.RustModule().OutputFile().Path())