Merge "Add filegroup support to notice property."
diff --git a/android/config.go b/android/config.go
index 0171cc0..c737b70 100644
--- a/android/config.go
+++ b/android/config.go
@@ -482,7 +482,7 @@
}
func (c *config) MinSupportedSdkVersion() int {
- return 14
+ return 16
}
func (c *config) DefaultAppTargetSdkInt() int {
diff --git a/apex/apex.go b/apex/apex.go
index ded69fa..8a652db 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -72,8 +72,7 @@
Command: `${zip2zip} -i $in -o $out ` +
`apex_payload.img:apex/${abi}.img ` +
`apex_manifest.json:root/apex_manifest.json ` +
- `AndroidManifest.xml:manifest/AndroidManifest.xml ` +
- `resources.pb`,
+ `AndroidManifest.xml:manifest/AndroidManifest.xml`,
CommandDeps: []string{"${zip2zip}"},
Description: "app bundle",
}, "abi")
diff --git a/cc/cc.go b/cc/cc.go
index 3aaaf39..9fa7c3a 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1283,7 +1283,8 @@
}
depIsDoubleLoadable := Bool(to.VendorProperties.Double_loadable)
if !depIsLlndk && !depIsVndkSp && !depIsDoubleLoadable && depIsVndk {
- ctx.ModuleErrorf("links VNDK library %q that isn't double_loadable.",
+ ctx.ModuleErrorf("links VNDK library %q that isn't double loadable (not also LL-NDK, "+
+ "VNDK-SP, or explicitly marked as 'double_loadable').",
ctx.OtherModuleName(to))
}
}
diff --git a/cc/compiler.go b/cc/compiler.go
index 5ac5d79..ad1fc6d 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -299,6 +299,7 @@
}
if ctx.useSdk() {
+ // TODO: Switch to --sysroot.
// The NDK headers are installed to a common sysroot. While a more
// typical Soong approach would be to only make the headers for the
// library you're using available, we're trying to emulate the NDK
@@ -307,6 +308,7 @@
"-isystem "+getCurrentIncludePath(ctx).String(),
"-isystem "+getCurrentIncludePath(ctx).Join(ctx, config.NDKTriple(tc)).String())
+ // TODO: Migrate to API suffixed triple?
// Traditionally this has come from android/api-level.h, but with the
// libc headers unified it must be set by the build system since we
// don't have per-API level copies of that header now.
@@ -316,14 +318,6 @@
}
flags.GlobalFlags = append(flags.GlobalFlags,
"-D__ANDROID_API__="+version)
-
- // Until the full NDK has been migrated to using ndk_headers, we still
- // need to add the legacy sysroot includes to get the full set of
- // headers.
- legacyIncludes := fmt.Sprintf(
- "prebuilts/ndk/current/platforms/android-%s/arch-%s/usr/include",
- ctx.sdkVersion(), ctx.Arch().ArchType.String())
- flags.SystemIncludeFlags = append(flags.SystemIncludeFlags, "-isystem "+legacyIncludes)
}
if ctx.useVndk() {
diff --git a/cc/stl.go b/cc/stl.go
index 8eee612..9dc8107 100644
--- a/cc/stl.go
+++ b/cc/stl.go
@@ -17,6 +17,7 @@
import (
"android/soong/android"
"fmt"
+ "strconv"
)
func getNdkStlFamily(m *Module) string {
@@ -110,6 +111,26 @@
}()
}
+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 @@
} 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")
}
diff --git a/ui/build/paths/config.go b/ui/build/paths/config.go
index d48ce58..d1d7c60 100644
--- a/ui/build/paths/config.go
+++ b/ui/build/paths/config.go
@@ -112,7 +112,6 @@
"mkdir": Allowed,
"mktemp": Allowed,
"mv": Allowed,
- "od": Allowed,
"openssl": Allowed,
"paste": Allowed,
"patch": Allowed,
@@ -138,7 +137,6 @@
"sort": Allowed,
"stat": Allowed,
"tar": Allowed,
- "tail": Allowed,
"tee": Allowed,
"timeout": Allowed,
"todos": Allowed,
@@ -173,7 +171,9 @@
"comm": Toybox,
"env": Toybox,
"id": Toybox,
+ "od": Toybox,
"sleep": Toybox,
+ "tail": Toybox,
"true": Toybox,
"uname": Toybox,
"uniq": Toybox,