Merge "Make variant headers as arch variant"
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go
index 16f144e..b82ea4f 100644
--- a/android/allowlists/allowlists.go
+++ b/android/allowlists/allowlists.go
@@ -347,6 +347,7 @@
".":/*recursive = */ false,
"build/bazel":/* recursive = */ true,
+ "build/make/core":/* recursive = */ false,
"build/bazel_common_rules":/* recursive = */ true,
// build/make/tools/signapk BUILD file is generated, so build/make/tools is not recursive.
"build/make/tools":/* recursive = */ false,
@@ -382,6 +383,8 @@
"prebuilts/sdk":/* recursive = */ false,
"prebuilts/sdk/tools":/* recursive = */ false,
"prebuilts/r8":/* recursive = */ false,
+
+ "tools/asuite/atest/":/* recursive = */ true,
}
Bp2buildModuleAlwaysConvertList = []string{
diff --git a/android/config.go b/android/config.go
index 0c3e2d1..1deb7d4 100644
--- a/android/config.go
+++ b/android/config.go
@@ -1272,10 +1272,6 @@
return coverage
}
-func (c *deviceConfig) AfdoAdditionalProfileDirs() []string {
- return c.config.productVariables.AfdoAdditionalProfileDirs
-}
-
func (c *deviceConfig) PgoAdditionalProfileDirs() []string {
return c.config.productVariables.PgoAdditionalProfileDirs
}
diff --git a/android/variable.go b/android/variable.go
index 37ecab5..28f22c9 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -336,8 +336,7 @@
NamespacesToExport []string `json:",omitempty"`
- AfdoAdditionalProfileDirs []string `json:",omitempty"`
- PgoAdditionalProfileDirs []string `json:",omitempty"`
+ PgoAdditionalProfileDirs []string `json:",omitempty"`
VndkUseCoreVariant *bool `json:",omitempty"`
VndkSnapshotBuildArtifacts *bool `json:",omitempty"`
diff --git a/apex/apex.go b/apex/apex.go
index 72403f9..09de2d4 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1911,6 +1911,7 @@
a.nativeApisBackedByModuleFile = android.ModuleOutPath(android.PathForBazelOut(ctx, outputs.BackingLibs))
// TODO(b/239084755): Generate the java api using.xml file from Bazel.
a.javaApisUsedByModuleFile = android.ModuleOutPath(android.PathForBazelOut(ctx, outputs.JavaSymbolsUsedByApex))
+ a.installedFilesFile = android.ModuleOutPath(android.PathForBazelOut(ctx, outputs.InstalledFiles))
installSuffix := imageApexSuffix
if a.isCompressed {
installSuffix = imageCapexSuffix
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 985ad59..ea3e734 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -9775,6 +9775,7 @@
SymbolsUsedByApex: "foo_using.txt",
JavaSymbolsUsedByApex: "foo_using.xml",
BundleFile: "apex_bundle.zip",
+ InstalledFiles: "installed-files.txt",
// unused
PackageName: "pkg_name",
@@ -9820,6 +9821,10 @@
t.Errorf("Expected output file %q, got %q", w, g)
}
+ if w, g := "out/bazel/execroot/__main__/installed-files.txt", ab.installedFilesFile.String(); w != g {
+ t.Errorf("Expected installed-files.txt %q, got %q", w, g)
+ }
+
mkData := android.AndroidMkDataForTest(t, result.TestContext, m)
var builder strings.Builder
mkData.Custom(&builder, "foo", "BAZEL_TARGET_", "", mkData)
@@ -9828,4 +9833,7 @@
if w := "ALL_MODULES.$(my_register_name).BUNDLE := out/bazel/execroot/__main__/apex_bundle.zip"; !strings.Contains(data, w) {
t.Errorf("Expected %q in androidmk data, but did not find %q", w, data)
}
+ if w := "$(call dist-for-goals,checkbuild,out/bazel/execroot/__main__/installed-files.txt:foo-installed-files.txt)"; !strings.Contains(data, w) {
+ t.Errorf("Expected %q in androidmk data, but did not find %q", w, data)
+ }
}
diff --git a/bazel/cquery/request_type.go b/bazel/cquery/request_type.go
index eb44dd1..b675f17 100644
--- a/bazel/cquery/request_type.go
+++ b/bazel/cquery/request_type.go
@@ -232,6 +232,7 @@
"java_symbols_used_by_apex": info.java_symbols_used_by_apex.path,
"backing_libs": info.backing_libs.path,
"bundle_file": info.base_with_config_zip.path,
+ "installed_files": info.installed_files.path,
})`
}
@@ -247,6 +248,7 @@
JavaSymbolsUsedByApex string `json:"java_symbols_used_by_apex"`
BackingLibs string `json:"backing_libs"`
BundleFile string `json:"bundle_file"`
+ InstalledFiles string `json:"installed_files"`
}
// ParseResult returns a value obtained by parsing the result of the request's Starlark function.
diff --git a/bazel/cquery/request_type_test.go b/bazel/cquery/request_type_test.go
index a0a993f..1d30535 100644
--- a/bazel/cquery/request_type_test.go
+++ b/bazel/cquery/request_type_test.go
@@ -176,6 +176,7 @@
"symbols_used_by_apex": "path/to/my.apex_using.txt",
"backing_libs":"path/to/backing.txt",
"bundle_file": "dir/bundlefile.zip",
+ "installed_files":"path/to/installed-files.txt",
"provides_native_libs":[]
}`,
expectedOutput: ApexInfo{
@@ -189,6 +190,7 @@
SymbolsUsedByApex: "path/to/my.apex_using.txt",
BackingLibs: "path/to/backing.txt",
BundleFile: "dir/bundlefile.zip",
+ InstalledFiles: "path/to/installed-files.txt",
},
},
}
diff --git a/bpf/bpf.go b/bpf/bpf.go
index 7376750..a840fa3 100644
--- a/bpf/bpf.go
+++ b/bpf/bpf.go
@@ -24,6 +24,7 @@
"android/soong/android"
"android/soong/bazel"
"android/soong/bazel/cquery"
+ "android/soong/cc"
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
@@ -32,9 +33,7 @@
func init() {
registerBpfBuildComponents(android.InitRegistrationContext)
pctx.Import("android/soong/cc/config")
- if runtime.GOOS != "darwin" {
- pctx.StaticVariable("relPwd", "PWD=/proc/self/cwd")
- }
+ pctx.StaticVariable("relPwd", cc.PwdPrefix())
}
var (
diff --git a/cc/afdo.go b/cc/afdo.go
index fb66bbe..d36f4af 100644
--- a/cc/afdo.go
+++ b/cc/afdo.go
@@ -36,7 +36,7 @@
func getAfdoProfileProjects(config android.DeviceConfig) []string {
return config.OnceStringSlice(afdoProfileProjectsConfigKey, func() []string {
- return append(globalAfdoProfileProjects, config.AfdoAdditionalProfileDirs()...)
+ return globalAfdoProfileProjects
})
}
diff --git a/cc/builder.go b/cc/builder.go
index 75e4736..46cea0b 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -924,9 +924,9 @@
}
// sourceAbiDiff registers a build statement to compare linked sAbi dump files (.lsdump).
-func sourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceDump android.Path,
- baseName, exportedHeaderFlags string, diffFlags []string, prevVersion int,
- checkAllApis, isLlndk, isNdk, isVndkExt, previousVersionDiff bool) android.OptionalPath {
+func sourceAbiDiff(ctx android.ModuleContext, inputDump, referenceDump android.Path,
+ baseName string, diffFlags []string, prevVersion int,
+ checkAllApis, isLlndkOrNdk, isVndkExt, previousVersionDiff bool) android.OptionalPath {
var outputFile android.ModuleOutPath
if previousVersionDiff {
@@ -955,7 +955,7 @@
extraFlags = append(extraFlags, "-target-version", "current")
}
- if isLlndk || isNdk {
+ if isLlndkOrNdk {
extraFlags = append(extraFlags, "-consider-opaque-types-different")
}
if isVndkExt || previousVersionDiff {
diff --git a/cc/library.go b/cc/library.go
index 03a5575..897f3c7 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -1910,26 +1910,28 @@
addLsdumpPath(classifySourceAbiDump(ctx) + ":" + library.sAbiOutputFile.String())
+ isNdk := ctx.isNdk(ctx.Config())
+ isLlndk := ctx.isImplementationForLLNDKPublic()
// If NDK or PLATFORM library, check against previous version ABI.
if !ctx.useVndk() {
prevRefAbiDumpFile := getRefAbiDumpFile(ctx, strconv.Itoa(prevVersion), fileName)
if prevRefAbiDumpFile != nil {
library.prevSAbiDiff = sourceAbiDiff(ctx, library.sAbiOutputFile.Path(),
- prevRefAbiDumpFile, fileName, exportedHeaderFlags,
+ prevRefAbiDumpFile, fileName,
library.Properties.Header_abi_checker.Diff_flags, prevVersion,
Bool(library.Properties.Header_abi_checker.Check_all_apis),
- ctx.IsLlndk(), ctx.isNdk(ctx.Config()), ctx.IsVndkExt(), true)
+ isLlndk || isNdk, ctx.IsVndkExt(), true)
}
}
refAbiDumpFile := getRefAbiDumpFile(ctx, version, fileName)
if refAbiDumpFile != nil {
library.sAbiDiff = sourceAbiDiff(ctx, library.sAbiOutputFile.Path(),
- refAbiDumpFile, fileName, exportedHeaderFlags,
+ refAbiDumpFile, fileName,
library.Properties.Header_abi_checker.Diff_flags,
/* unused if not previousVersionDiff */ 0,
Bool(library.Properties.Header_abi_checker.Check_all_apis),
- ctx.IsLlndk(), ctx.isNdk(ctx.Config()), ctx.IsVndkExt(), false)
+ isLlndk || isNdk, ctx.IsVndkExt(), false)
}
}
}
diff --git a/cc/strip.go b/cc/strip.go
index 5c32d8b..c60e135 100644
--- a/cc/strip.go
+++ b/cc/strip.go
@@ -56,9 +56,7 @@
forceEnable := Bool(stripper.StripProperties.Strip.All) ||
Bool(stripper.StripProperties.Strip.Keep_symbols) ||
Bool(stripper.StripProperties.Strip.Keep_symbols_and_debug_frame)
- // create_minidebuginfo doesn't work for riscv64 yet, disable stripping for now
- riscv64 := actx.Arch().ArchType == android.Riscv64
- return !forceDisable && (forceEnable || defaultEnable) && !riscv64
+ return !forceDisable && (forceEnable || defaultEnable)
}
// Keep this consistent with //build/bazel/rules/stripped_shared_library.bzl.