Set __ANDROID_API__ for vendor modules to vndk version.
When building vendor modules with BOARD_VNDK_VERSION=current, the API of the vendor modules will be current PLATFORM_VNDK_VERSION. __ANDROID_API_FUTURE__ will be used as before if the version is a CODENAME. If BOARD_VNDK_VERSION is not "current", that means the VNDK version of the vendor modules is BOARD_VNDK_VERSION. Bug: 74833244 Test: Build and check boot. Change-Id: I383c76a36101e39c70575b463880b52d3e9d90bb
This commit is contained in:
parent
eab15645fe
commit
732aa6afdf
13
cc/cc.go
13
cc/cc.go
|
@ -502,10 +502,17 @@ func (ctx *moduleContextImpl) useSdk() bool {
|
|||
func (ctx *moduleContextImpl) sdkVersion() string {
|
||||
if ctx.ctx.Device() {
|
||||
if ctx.useVndk() {
|
||||
return "current"
|
||||
} else {
|
||||
return String(ctx.mod.Properties.Sdk_version)
|
||||
vndk_ver := ctx.ctx.DeviceConfig().VndkVersion()
|
||||
if vndk_ver == "current" {
|
||||
platform_vndk_ver := ctx.ctx.DeviceConfig().PlatformVndkVersion()
|
||||
if inList(platform_vndk_ver, ctx.ctx.Config().PlatformVersionCombinedCodenames()) {
|
||||
return "current"
|
||||
}
|
||||
return platform_vndk_ver
|
||||
}
|
||||
return vndk_ver
|
||||
}
|
||||
return String(ctx.mod.Properties.Sdk_version)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
|
|
@ -308,8 +308,13 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
|
|||
}
|
||||
|
||||
if ctx.useVndk() {
|
||||
// sdkVersion() returns VNDK version for vendor modules.
|
||||
version := ctx.sdkVersion()
|
||||
if version == "current" {
|
||||
version = "__ANDROID_API_FUTURE__"
|
||||
}
|
||||
flags.GlobalFlags = append(flags.GlobalFlags,
|
||||
"-D__ANDROID_API__=__ANDROID_API_FUTURE__", "-D__ANDROID_VNDK__")
|
||||
"-D__ANDROID_API__="+version, "-D__ANDROID_VNDK__")
|
||||
}
|
||||
|
||||
instructionSet := String(compiler.Properties.Instruction_set)
|
||||
|
|
|
@ -76,7 +76,17 @@ func (stub *llndkStubDecorator) compilerFlags(ctx ModuleContext, flags Flags, de
|
|||
}
|
||||
|
||||
func (stub *llndkStubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
|
||||
objs, versionScript := compileStubLibrary(ctx, flags, String(stub.Properties.Symbol_file), "current", "--vndk")
|
||||
vndk_ver := ctx.DeviceConfig().VndkVersion()
|
||||
if vndk_ver == "current" {
|
||||
platform_vndk_ver := ctx.DeviceConfig().PlatformVndkVersion()
|
||||
if !inList(platform_vndk_ver, ctx.Config().PlatformVersionCombinedCodenames()) {
|
||||
vndk_ver = platform_vndk_ver
|
||||
}
|
||||
} else if vndk_ver == "" {
|
||||
// For non-enforcing devices, use "current"
|
||||
vndk_ver = "current"
|
||||
}
|
||||
objs, versionScript := compileStubLibrary(ctx, flags, String(stub.Properties.Symbol_file), vndk_ver, "--vndk")
|
||||
stub.versionScriptPath = versionScript
|
||||
return objs
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue