Add support for Implicit Outputs
Test: mmma -j system/tools/hidl
Test: Inspect out/soong/build.ninja before/after
Change-Id: I8e91a033342a12302d51358c5be244e32ad689d7
diff --git a/android/module.go b/android/module.go
index 230d95c..5894ee7 100644
--- a/android/module.go
+++ b/android/module.go
@@ -34,16 +34,18 @@
)
type ModuleBuildParams struct {
- Rule blueprint.Rule
- Output WritablePath
- Outputs WritablePaths
- Input Path
- Inputs Paths
- Implicit Path
- Implicits Paths
- OrderOnly Paths
- Default bool
- Args map[string]string
+ Rule blueprint.Rule
+ Output WritablePath
+ Outputs WritablePaths
+ ImplicitOutput WritablePath
+ ImplicitOutputs WritablePaths
+ Input Path
+ Inputs Paths
+ Implicit Path
+ Implicits Paths
+ OrderOnly Paths
+ Default bool
+ Args map[string]string
}
type androidBaseContext interface {
@@ -519,18 +521,22 @@
func (a *androidModuleContext) ModuleBuild(pctx blueprint.PackageContext, params ModuleBuildParams) {
bparams := blueprint.BuildParams{
- Rule: params.Rule,
- Outputs: params.Outputs.Strings(),
- Inputs: params.Inputs.Strings(),
- Implicits: params.Implicits.Strings(),
- OrderOnly: params.OrderOnly.Strings(),
- Args: params.Args,
- Optional: !params.Default,
+ Rule: params.Rule,
+ Outputs: params.Outputs.Strings(),
+ ImplicitOutputs: params.ImplicitOutputs.Strings(),
+ Inputs: params.Inputs.Strings(),
+ Implicits: params.Implicits.Strings(),
+ OrderOnly: params.OrderOnly.Strings(),
+ Args: params.Args,
+ Optional: !params.Default,
}
if params.Output != nil {
bparams.Outputs = append(bparams.Outputs, params.Output.String())
}
+ if params.ImplicitOutput != nil {
+ bparams.ImplicitOutputs = append(bparams.ImplicitOutputs, params.ImplicitOutput.String())
+ }
if params.Input != nil {
bparams.Inputs = append(bparams.Inputs, params.Input.String())
}