Don't use libandroid_support post-21.

Test: m checkbuild
Bug: http://b/119587551
Change-Id: I7ee1cdc7c0119dbec0e57522b9b494aeb3c16a43
This commit is contained in:
Dan Albert 2018-11-15 11:29:28 -08:00
parent a3b83662b8
commit 90b9bbc5dc

View file

@ -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")
}