Add ramdisk image sdk trait to cc_library_headers am: 12a0a310a7

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

Change-Id: I722497159725cd4e8b913357aed161ea69357a28
This commit is contained in:
Paul Duffin
2021-09-25 09:30:55 +00:00
committed by Automerger Merge Worker
4 changed files with 26 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ import "android/soong/android"
// This file contains support for the image variant sdk traits.
func init() {
android.RegisterSdkMemberTrait(ramdiskImageRequiredSdkTrait)
android.RegisterSdkMemberTrait(recoveryImageRequiredSdkTrait)
}
@@ -26,6 +27,12 @@ type imageSdkTraitStruct struct {
android.SdkMemberTraitBase
}
var ramdiskImageRequiredSdkTrait android.SdkMemberTrait = &imageSdkTraitStruct{
SdkMemberTraitBase: android.SdkMemberTraitBase{
PropertyName: "ramdisk_image_required",
},
}
var recoveryImageRequiredSdkTrait android.SdkMemberTrait = &imageSdkTraitStruct{
SdkMemberTraitBase: android.SdkMemberTraitBase{
PropertyName: "recovery_image_required",

View File

@@ -35,6 +35,7 @@ var headersLibrarySdkMemberType = &librarySdkMemberType{
HostOsDependent: true,
Traits: []android.SdkMemberTrait{
nativeBridgeSdkTrait,
ramdiskImageRequiredSdkTrait,
recoveryImageRequiredSdkTrait,
},
},

View File

@@ -134,6 +134,16 @@ func (mt *librarySdkMemberType) AddDependencies(ctx android.SdkDependencyContext
targets: targets,
})
// If required add additional dependencies on the image:ramdisk variants.
if ctx.RequiresTrait(lib, ramdiskImageRequiredSdkTrait) {
memberDependencies = append(memberDependencies, memberDependency{
imageVariations: []blueprint.Variation{{Mutator: "image", Variation: android.RamdiskVariation}},
// Only add a dependency on the first target as that is the only one which will have an
// image:ramdisk variant.
targets: targets[:1],
})
}
// If required add additional dependencies on the image:recovery variants.
if ctx.RequiresTrait(lib, recoveryImageRequiredSdkTrait) {
memberDependencies = append(memberDependencies, memberDependency{
@@ -199,6 +209,10 @@ func (mt *librarySdkMemberType) AddPrebuiltModule(ctx android.SdkMemberContext,
pbm.AddProperty("native_bridge_supported", true)
}
if ctx.RequiresTrait(ramdiskImageRequiredSdkTrait) {
pbm.AddProperty("ramdisk_available", true)
}
if ctx.RequiresTrait(recoveryImageRequiredSdkTrait) {
pbm.AddProperty("recovery_available", true)
}