Don't use libandroid_support post-21.
Test: m checkbuild Bug: http://b/119587551 Change-Id: I7ee1cdc7c0119dbec0e57522b9b494aeb3c16a43
This commit is contained in:
parent
a3b83662b8
commit
90b9bbc5dc
1 changed files with 24 additions and 1 deletions
25
cc/stl.go
25
cc/stl.go
|
@ -17,6 +17,7 @@ package cc
|
|||
import (
|
||||
"android/soong/android"
|
||||
"fmt"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func getNdkStlFamily(m *Module) string {
|
||||
|
@ -110,6 +111,26 @@ func (stl *stl) begin(ctx BaseModuleContext) {
|
|||
}()
|
||||
}
|
||||
|
||||
func needsLibAndroidSupport(ctx BaseModuleContext) bool {
|
||||
versionStr, err := normalizeNdkApiLevel(ctx, ctx.sdkVersion(), ctx.Arch())
|
||||
if err != nil {
|
||||
ctx.PropertyErrorf("sdk_version", err.Error())
|
||||
}
|
||||
|
||||
if versionStr == "current" {
|
||||
return false
|
||||
}
|
||||
|
||||
version, err := strconv.Atoi(versionStr)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf(
|
||||
"invalid API level returned from normalizeNdkApiLevel: %q",
|
||||
versionStr))
|
||||
}
|
||||
|
||||
return version < 21
|
||||
}
|
||||
|
||||
func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps {
|
||||
switch stl.Properties.SelectedStl {
|
||||
case "libstdc++":
|
||||
|
@ -141,7 +162,9 @@ func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps {
|
|||
} else {
|
||||
deps.StaticLibs = append(deps.StaticLibs, stl.Properties.SelectedStl, "ndk_libc++abi")
|
||||
}
|
||||
deps.StaticLibs = append(deps.StaticLibs, "ndk_libandroid_support")
|
||||
if needsLibAndroidSupport(ctx) {
|
||||
deps.StaticLibs = append(deps.StaticLibs, "ndk_libandroid_support")
|
||||
}
|
||||
if ctx.Arch().ArchType == android.Arm {
|
||||
deps.StaticLibs = append(deps.StaticLibs, "ndk_libunwind")
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue