Merge "Overwrite test-file-name in test config."
diff --git a/android/module.go b/android/module.go
index 67d1f12..05115d6 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1746,7 +1746,7 @@
Rule: Symlink,
Description: "install symlink " + fullInstallPath.Base(),
Output: fullInstallPath,
- OrderOnly: Paths{srcPath},
+ Input: srcPath,
Default: !m.Config().EmbeddedInMake(),
Args: map[string]string{
"fromPath": relPath,
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 84bb2b5..2103b6e 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -288,7 +288,6 @@
ctx.RegisterModuleType("override_apex", overrideApexFactory)
cc.RegisterRequiredBuildComponentsForTest(ctx)
- ctx.RegisterModuleType("cc_binary", cc.BinaryFactory)
ctx.RegisterModuleType("cc_test", cc.TestFactory)
ctx.RegisterModuleType("vndk_prebuilt_shared", cc.VndkPrebuiltSharedFactory)
ctx.RegisterModuleType("vndk_libraries_txt", cc.VndkLibrariesTxtFactory)
diff --git a/build_kzip.bash b/build_kzip.bash
index 89cd067..329825a 100755
--- a/build_kzip.bash
+++ b/build_kzip.bash
@@ -22,13 +22,14 @@
build/soong/soong_ui.bash --build-mode --all-modules --dir=$PWD -k merge_zips xref_cxx xref_java
#Build extraction file for Go files in build/soong directory.
declare -r abspath_out=$(realpath "${out}")
-(cd build/soong;
- ../../prebuilts/build-tools/linux-x86/bin/go_extractor \
- --goroot="${PWD}/../../prebuilts/go/linux-x86" \
- --rules=vnames.go.json \
- --canonicalize_package_corpus \
- --output "${abspath_out}/soong/all.go.kzip" \
- ./... )
+declare -r go_extractor=$(realpath prebuilts/build-tools/linux-x86/bin/go_extractor)
+declare -r go_root=$(realpath prebuilts/go/linux-x86)
+for dir in blueprint soong; do
+ (cd "build/$dir";
+ "$go_extractor" --goroot="$go_root" --rules=vnames.go.json --canonicalize_package_corpus \
+ --output "${abspath_out}/soong/build_${dir}.go.kzip" ./...
+ )
+done
declare -r kzip_count=$(find "$out" -name '*.kzip' | wc -l)
(($kzip_count>100000)) || { printf "Too few kzip files were generated: %d\n" $kzip_count; exit 1; }
diff --git a/cc/androidmk.go b/cc/androidmk.go
index ff88091..c9cd01c 100644
--- a/cc/androidmk.go
+++ b/cc/androidmk.go
@@ -217,6 +217,9 @@
fmt.Fprintln(w, "LOCAL_NO_NOTICE_FILE := true")
fmt.Fprintln(w, "LOCAL_VNDK_DEPEND_ON_CORE_VARIANT := true")
}
+ if library.checkSameCoreVariant {
+ fmt.Fprintln(w, "LOCAL_CHECK_SAME_VNDK_VARIANTS := true")
+ }
})
if library.shared() && !library.buildStubs() {
diff --git a/cc/binary.go b/cc/binary.go
index 617d4dd..ba6ed5f 100644
--- a/cc/binary.go
+++ b/cc/binary.go
@@ -56,8 +56,12 @@
}
func init() {
- android.RegisterModuleType("cc_binary", BinaryFactory)
- android.RegisterModuleType("cc_binary_host", binaryHostFactory)
+ RegisterBinaryBuildComponents(android.InitRegistrationContext)
+}
+
+func RegisterBinaryBuildComponents(ctx android.RegistrationContext) {
+ ctx.RegisterModuleType("cc_binary", BinaryFactory)
+ ctx.RegisterModuleType("cc_binary_host", binaryHostFactory)
}
// cc_binary produces a binary that is runnable on a device.
diff --git a/cc/config/vndk.go b/cc/config/vndk.go
index 9feb5a3..3b16c78 100644
--- a/cc/config/vndk.go
+++ b/cc/config/vndk.go
@@ -71,6 +71,7 @@
"android.hardware.nfc@1.2",
"android.hardware.oemlock@1.0",
"android.hardware.power.stats@1.0",
+ "android.hardware.power-ndk_platform",
"android.hardware.power@1.0",
"android.hardware.power@1.1",
"android.hardware.radio@1.4",
@@ -131,6 +132,7 @@
"libsqlite",
"libssl",
"libstagefright_amrnb_common",
+ "libstagefright_bufferpool@2.0",
"libstagefright_bufferqueue_helper",
"libstagefright_enc_common",
"libstagefright_flacdec",
diff --git a/cc/library.go b/cc/library.go
index ae95bc5..f29c4d0 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -385,7 +385,8 @@
// If useCoreVariant is true, the vendor variant of a VNDK library is
// not installed.
- useCoreVariant bool
+ useCoreVariant bool
+ checkSameCoreVariant bool
// Decorated interafaces
*baseCompiler
@@ -1096,8 +1097,11 @@
if ctx.isVndkSp() {
library.baseInstaller.subDir = "vndk-sp"
} else if ctx.isVndk() {
- if ctx.DeviceConfig().VndkUseCoreVariant() && !ctx.mustUseVendorVariant() {
- library.useCoreVariant = true
+ if !ctx.mustUseVendorVariant() {
+ library.checkSameCoreVariant = true
+ if ctx.DeviceConfig().VndkUseCoreVariant() {
+ library.useCoreVariant = true
+ }
}
library.baseInstaller.subDir = "vndk"
}
diff --git a/cc/pgo.go b/cc/pgo.go
index 0072355..e341d03 100644
--- a/cc/pgo.go
+++ b/cc/pgo.go
@@ -177,6 +177,10 @@
// if profileFile gets updated
flags.CFlagsDeps = append(flags.CFlagsDeps, profileFilePath)
flags.LdFlagsDeps = append(flags.LdFlagsDeps, profileFilePath)
+
+ if props.isSampling() {
+ flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-mllvm,-no-warn-sample-unused=true")
+ }
}
return flags
}
diff --git a/cc/testing.go b/cc/testing.go
index bc31077..198a346 100644
--- a/cc/testing.go
+++ b/cc/testing.go
@@ -23,6 +23,7 @@
android.RegisterPrebuiltMutators(ctx)
RegisterCCBuildComponents(ctx)
+ RegisterBinaryBuildComponents(ctx)
RegisterLibraryBuildComponents(ctx)
ctx.RegisterModuleType("toolchain_library", ToolchainLibraryFactory)
@@ -305,8 +306,6 @@
func CreateTestContext() *android.TestContext {
ctx := android.NewTestArchContext()
- ctx.RegisterModuleType("cc_binary", BinaryFactory)
- ctx.RegisterModuleType("cc_binary_host", binaryHostFactory)
ctx.RegisterModuleType("cc_fuzz", FuzzFactory)
ctx.RegisterModuleType("cc_test", TestFactory)
ctx.RegisterModuleType("llndk_headers", llndkHeadersFactory)
diff --git a/java/config/config.go b/java/config/config.go
index 9738454..6da7279 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -45,7 +45,9 @@
"core-icu4j",
"core-oj",
"core-libart",
+ // TODO: Could this be all updatable bootclasspath jars?
"updatable-media",
+ "framework-sdkextensions",
"ike",
}
)
diff --git a/sdk/sdk.go b/sdk/sdk.go
index 44e5cbb..3b0752f 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -285,12 +285,15 @@
// For dependencies from an in-development version of an SDK member to frozen versions of the same member
// e.g. libfoo -> libfoo.mysdk.11 and libfoo.mysdk.12
-type sdkMemberVesionedDepTag struct {
+type sdkMemberVersionedDepTag struct {
dependencyTag
member string
version string
}
+// Mark this tag so dependencies that use it are excluded from visibility enforcement.
+func (t sdkMemberVersionedDepTag) ExcludeFromVisibilityEnforcement() {}
+
// Step 1: create dependencies from an SDK module to its members.
func memberMutator(mctx android.BottomUpMutatorContext) {
if s, ok := mctx.Module().(*sdk); ok {
@@ -337,7 +340,7 @@
if m, ok := mctx.Module().(android.SdkAware); ok && m.IsInAnySdk() {
if !m.ContainingSdk().Unversioned() {
memberName := m.MemberName()
- tag := sdkMemberVesionedDepTag{member: memberName, version: m.ContainingSdk().Version}
+ tag := sdkMemberVersionedDepTag{member: memberName, version: m.ContainingSdk().Version}
mctx.AddReverseDependency(mctx.Module(), tag, memberName)
}
}