Enable vndk-ext for product variants
To build vndk-ext for product variants use `vndk.extends` property
with `product_specific: true` as for the vndk-ext for vendor
variants. For example:
cc_library {
name: "libvndk_ext_product",
product_specific: true,
vndk: {
enabled: true,
extends: "libvndk",
},
}
It will install the vndk-ext libs for product variants in
product/lib[64]/vndk/
Test: m nothing
Bug: 147778025
Change-Id: If1ee5be93c579abad302f44f18e6316f27e70019
Merged-In: If1ee5be93c579abad302f44f18e6316f27e70019
(cherry picked from commit 0ecf0b223f)
This commit is contained in:
13
cc/cc.go
13
cc/cc.go
@@ -2734,19 +2734,18 @@ func (m *Module) ImageMutatorBegin(mctx android.BaseModuleContext) {
|
||||
|
||||
if vndkdep := m.vndkdep; vndkdep != nil {
|
||||
if vndkdep.isVndk() {
|
||||
if productSpecific {
|
||||
mctx.PropertyErrorf("product_specific",
|
||||
"product_specific must not be true when `vndk: {enabled: true}`")
|
||||
}
|
||||
if vendorSpecific {
|
||||
if vendorSpecific || productSpecific {
|
||||
if !vndkdep.isVndkExt() {
|
||||
mctx.PropertyErrorf("vndk",
|
||||
"must set `extends: \"...\"` to vndk extension")
|
||||
} else if m.VendorProperties.Vendor_available != nil {
|
||||
mctx.PropertyErrorf("vendor_available",
|
||||
"must not set at the same time as `vndk: {extends: \"...\"}`")
|
||||
}
|
||||
} else {
|
||||
if vndkdep.isVndkExt() {
|
||||
mctx.PropertyErrorf("vndk",
|
||||
"must set `vendor: true` to set `extends: %q`",
|
||||
"must set `vendor: true` or `product_specific: true` to set `extends: %q`",
|
||||
m.getVndkExtendsModuleName())
|
||||
}
|
||||
if m.VendorProperties.Vendor_available == nil {
|
||||
@@ -2819,7 +2818,7 @@ func (m *Module) ImageMutatorBegin(mctx android.BaseModuleContext) {
|
||||
} else {
|
||||
mctx.ModuleErrorf("version is unknown for snapshot prebuilt")
|
||||
}
|
||||
} else if m.HasVendorVariant() && !vendorSpecific {
|
||||
} else if m.HasVendorVariant() && !m.isVndkExt() {
|
||||
// This will be available in /system, /vendor and /product
|
||||
// or a /system directory that is available to vendor and product.
|
||||
coreVariantNeeded = true
|
||||
|
||||
Reference in New Issue
Block a user