Merge "Installation routine for rust is similar to that of cc" am: 4af0d002a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1843014 Change-Id: Ib91d4b5b895d650856ffeb03576636431d37466a
This commit is contained in:
33
rust/rust.go
33
rust/rust.go
@@ -130,9 +130,10 @@ 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
|
||||
Installable *bool
|
||||
HideFromMake bool `blueprint:"mutated"`
|
||||
PreventInstall bool `blueprint:"mutated"`
|
||||
|
||||
Installable *bool
|
||||
}
|
||||
|
||||
type Module struct {
|
||||
@@ -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())
|
||||
|
Reference in New Issue
Block a user