Convert preview sdkVersion to int for target-api
If the target SDK of the module is a preview, the current logic passes it through to llvm-rs-cc, which expects an int. Convert codenames to their API level first, then extract the final or preview int. Also simplify the logic to look for 'current' more generically via the common ApiLevel library functions. Test: Verified local build of riscv64, confirmed RS attempts to build with API level 9000+ instead of 'VanillaIceCream'. Change-Id: I1fa7577181bfd16de0ea4e77f7ab8fbd8fdb55e5
This commit is contained in:
parent
6ff7d9e532
commit
30f7c79949
1 changed files with 6 additions and 5 deletions
11
cc/rs.go
11
cc/rs.go
|
@ -101,11 +101,12 @@ func rsGenerateCpp(ctx android.ModuleContext, rsFiles android.Paths, rsFlags str
|
|||
func rsFlags(ctx ModuleContext, flags Flags, properties *BaseCompilerProperties) Flags {
|
||||
targetApi := String(properties.Renderscript.Target_api)
|
||||
if targetApi == "" && ctx.useSdk() {
|
||||
switch ctx.sdkVersion() {
|
||||
case "current", "system_current", "test_current":
|
||||
// Nothing
|
||||
default:
|
||||
targetApi = android.GetNumericSdkVersion(ctx.sdkVersion())
|
||||
targetApiLevel := android.ApiLevelOrPanic(ctx, ctx.sdkVersion())
|
||||
if targetApiLevel.IsCurrent() || targetApiLevel.IsPreview() {
|
||||
// If the target level is current or preview, leave the 'target-api' unset.
|
||||
// This signals to llvm-rs-cc that the development API should be used.
|
||||
} else {
|
||||
targetApi = targetApiLevel.String()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue