Insert imageVariantSpecificInfo between arch and link info
Previously, the archTypeSpecificInfo included an array of *linkTypeSpecificInfo. This change replaces that array with an array of *imageVariantSpecificInfo which themselves contain an array of *linkTypeSpecificInfo. That allows the sdk snapshot to handle image variants correctly, i.e. collate their properties, optimize their properties and then detect if there are any image variant specific properties for any image variant other than the CoreImageVariant ("") and report it as an error. The latter case is treated as an error because while Soong needs to handle image specific variants there is currently no requirement to handle generating a prebuilt with image specific properties. A follow up change will test the error handling. Image specific variants are needed because the "jni_headers" cc_library_headers module provides a number of image variants (e.g. recovery) that are used outside the ART module. Therefore, the sdk snapshot needs to do the same. At the moment image variants like the recovery variant are supported by copying the property that creates the variant (e.g. recovery_available) through to the prebuilt but that is not safe for a couple of reasons: 1. It ignores any differences between the recovery variant and the other variants which could cause compatibility issues in modules that build against the prebuilts. 2. It marks modules in the snapshot with recovery_available even when they do not need it. This change will allow follow up changes to address both those issues. Bug: 195754365 Test: m nothing Change-Id: I1c187d814f44b2cb7607cd43a6b215134be0faad
Loading
Please register or sign in to comment