cc: add min_sdk_version prop
min_sdk_version is the minimum version of the sdk that the compiled artifacts will run against. For example, when a module is used by two APEXes and their min_sdk_versions are set to 29 and 30, then the module should support both versions even if it is compiled against 30. Therefore, min_sdk_version of the module needs to be set 29 in that case. In general, this is set as the minimum value of min_sdk_vesions of APEXes. For now, there's no build-time checks about this prop even if the prop is set. Bug: 145796956 Bug: 152655956 Bug: 153333044 Test: m nothing Change-Id: I072ad8c317d2615e8b08e4e7ea2db8e7955b4b12
This commit is contained in:
3
cc/cc.go
3
cc/cc.go
@@ -213,6 +213,9 @@ type BaseProperties struct {
|
||||
// two variants to be built, one for the platform and one for apps.
|
||||
Sdk_version *string
|
||||
|
||||
// Minimum sdk version that the artifact should support when it runs as part of mainline modules(APEX).
|
||||
Min_sdk_version *string
|
||||
|
||||
// If true, always create an sdk variant and don't create a platform variant.
|
||||
Sdk_variant_only *bool
|
||||
|
||||
|
@@ -151,6 +151,12 @@ type syspropLibraryProperties struct {
|
||||
|
||||
// Whether public stub exists or not.
|
||||
Public_stub *bool `blueprint:"mutated"`
|
||||
|
||||
Cpp struct {
|
||||
// Minimum sdk version that the artifact should support when it runs as part of mainline modules(APEX).
|
||||
// Forwarded to cc_library.min_sdk_version
|
||||
Min_sdk_version *string
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -344,6 +350,7 @@ type ccLibraryProperties struct {
|
||||
Vendor_available *bool
|
||||
Host_supported *bool
|
||||
Apex_available []string
|
||||
Min_sdk_version *string
|
||||
}
|
||||
|
||||
type javaLibraryProperties struct {
|
||||
@@ -433,6 +440,7 @@ func syspropLibraryHook(ctx android.LoadHookContext, m *syspropLibrary) {
|
||||
ccProps.Vendor_available = m.properties.Vendor_available
|
||||
ccProps.Host_supported = m.properties.Host_supported
|
||||
ccProps.Apex_available = m.ApexProperties.Apex_available
|
||||
ccProps.Min_sdk_version = m.properties.Cpp.Min_sdk_version
|
||||
ctx.CreateModule(cc.LibraryFactory, &ccProps)
|
||||
|
||||
scope := "internal"
|
||||
|
Reference in New Issue
Block a user