Improve documentation of CompileMultiTargets and related properties

Bug: 153306490
Test: m nothing
Merged-In: I1e3f0bf7e2a1303d2519d8405a228e9234235514
Change-Id: I1e3f0bf7e2a1303d2519d8405a228e9234235514
This commit is contained in:
Paul Duffin 2020-02-25 15:50:49 +00:00
parent 45e9dbd970
commit 28d70c74db
2 changed files with 37 additions and 4 deletions

View File

@ -1778,6 +1778,8 @@ func filterMultilibTargets(targets []Target, multilib string) []Target {
return ret
}
// Return the set of Os specific common architecture targets for each Os in a list of
// targets.
func getCommonTargets(targets []Target) []Target {
var ret []Target
set := make(map[string]bool)

View File

@ -132,6 +132,9 @@ type BaseModuleContext interface {
Target() Target
TargetPrimary() bool
// The additional arch specific targets (e.g. 32/64 bit) that this module variant is
// responsible for creating.
MultiTargets() []Target
Arch() Arch
Os() OsType
@ -361,6 +364,10 @@ type commonProperties struct {
}
}
// If set to true then the archMutator will create variants for each arch specific target
// (e.g. 32/64) that the module is required to produce. If set to false then it will only
// create a variant for the architecture and will list the additional arch specific targets
// that the variant needs to produce in the CompileMultiTargets property.
UseTargetVariants bool `blueprint:"mutated"`
Default_multilib string `blueprint:"mutated"`
@ -439,11 +446,35 @@ type commonProperties struct {
Suffix *string `android:"arch_variant"`
} `android:"arch_variant"`
// Set by TargetMutator
CompileOS OsType `blueprint:"mutated"`
CompileTarget Target `blueprint:"mutated"`
// The OsType of artifacts that this module variant is responsible for creating.
//
// Set by osMutator
CompileOS OsType `blueprint:"mutated"`
// The Target of artifacts that this module variant is responsible for creating.
//
// Set by archMutator
CompileTarget Target `blueprint:"mutated"`
// The additional arch specific targets (e.g. 32/64 bit) that this module variant is
// responsible for creating.
//
// By default this is nil as, where necessary, separate variants are created for the
// different multilib types supported and that information is encapsulated in the
// CompileTarget so the module variant simply needs to create artifacts for that.
//
// However, if UseTargetVariants is set to false (e.g. by
// InitAndroidMultiTargetsArchModule) then no separate variants are created for the
// multilib targets. Instead a single variant is created for the architecture and
// this contains the multilib specific targets that this variant should create.
//
// Set by archMutator
CompileMultiTargets []Target `blueprint:"mutated"`
CompilePrimary bool `blueprint:"mutated"`
// True if the module variant's CompileTarget is the primary target
//
// Set by archMutator
CompilePrimary bool `blueprint:"mutated"`
// Set by InitAndroidModule
HostOrDeviceSupported HostOrDeviceSupported `blueprint:"mutated"`