summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yu Liu <yudiliu@google.com> 2022-11-22 12:30:59 -0800
committer Yu Liu <yudiliu@google.com> 2022-12-01 10:59:06 -0800
commit24214aacc2530e6286ceb200ebf620f1bb3b74a9 (patch)
tree98d8c3ec509e2e9ab305a0c8239a7dddfe59199c
parentdfc72a8ca2c70ddcae60dbc7b971ac43004b1428 (diff)
Support abi check in mixed build.
Bug: 253498204 Test: Manual tested. Change-Id: I451a6109a2a7efa24bafc860b7b757e23fde09e1
-rw-r--r--bazel/cquery/request_type.go7
-rw-r--r--cc/library.go4
2 files changed, 11 insertions, 0 deletions
diff --git a/bazel/cquery/request_type.go b/bazel/cquery/request_type.go
index e4830d39d..118a3a907 100644
--- a/bazel/cquery/request_type.go
+++ b/bazel/cquery/request_type.go
@@ -33,6 +33,7 @@ type CcInfo struct {
TidyFiles []string
TocFile string
UnstrippedOutput string
+ AbiDiffFiles []string
}
type getOutputFilesRequestType struct{}
@@ -174,6 +175,11 @@ clang_tidy_info = p.get("//build/bazel/rules/cc:clang_tidy.bzl%ClangTidyInfo")
if clang_tidy_info:
tidy_files = [v.path for v in clang_tidy_info.tidy_files.to_list()]
+abi_diff_files = []
+abi_diff_info = p.get("//build/bazel/rules/abi:abi_dump.bzl%AbiDiffInfo")
+if abi_diff_info:
+ abi_diff_files = [f.path for f in abi_diff_info.diff_files.to_list()]
+
return json_encode({
"OutputFiles": outputFiles,
"CcObjectFiles": ccObjectFiles,
@@ -187,6 +193,7 @@ return json_encode({
"TidyFiles": tidy_files,
"TocFile": toc_file,
"UnstrippedOutput": unstripped,
+ "AbiDiffFiles": abi_diff_files,
})`
}
diff --git a/cc/library.go b/cc/library.go
index 1cad6b90b..365f3922c 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -898,6 +898,10 @@ func (handler *ccLibraryBazelHandler) generateSharedBazelBuildActions(ctx androi
}
handler.module.linker.(*libraryDecorator).tocFile = tocFile
+ if len(ccInfo.AbiDiffFiles) > 0 {
+ handler.module.linker.(*libraryDecorator).sAbiDiff = android.PathsForBazelOut(ctx, ccInfo.AbiDiffFiles)
+ }
+
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
TableOfContents: tocFile,
SharedLibrary: outputFilePath,