aboutsummaryrefslogtreecommitdiff
path: root/rules/apex
diff options
context:
space:
mode:
authorTrevor Radcliffe <tradical@google.com>2023-03-17 15:58:06 +0000
committerTrevor Radcliffe <tradical@google.com>2023-03-20 18:27:10 +0000
commit1f4ccb8159311bfc850b508c78907ffe5e3f3786 (patch)
treea7520f576a17287e2a1fe2d6113e03bc316b7d02 /rules/apex
parent0ba818022efa37fb92d041844baae41dd0b2be63 (diff)
downloadbazel-1f4ccb8159311bfc850b508c78907ffe5e3f3786.tar.gz
Add transitions for LTO on cc_binary
Bug: 261733821 Test: Unit tests, manual verification Change-Id: I8831f094d73493b3e9b642d299565a3d2447833d
Diffstat (limited to 'rules/apex')
-rw-r--r--rules/apex/apex.bzl2
-rw-r--r--rules/apex/cc.bzl7
2 files changed, 6 insertions, 3 deletions
diff --git a/rules/apex/apex.bzl b/rules/apex/apex.bzl
index 1fab149d..e0ef0ce7 100644
--- a/rules/apex/apex.bzl
+++ b/rules/apex/apex.bzl
@@ -166,7 +166,7 @@ def _create_file_mapping(ctx):
"nativeExecutable",
dep.label,
arch,
- unstripped = dep[CcUnstrippedInfo].unstripped.files.to_list()[0],
+ unstripped = dep[CcUnstrippedInfo].unstripped[0].files.to_list()[0],
)
# Add transitive shared lib deps of apex binaries to the apex.
diff --git a/rules/apex/cc.bzl b/rules/apex/cc.bzl
index 50295e83..db3d971d 100644
--- a/rules/apex/cc.bzl
+++ b/rules/apex/cc.bzl
@@ -15,8 +15,8 @@
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("//build/bazel/rules/cc:cc_library_common.bzl", "parse_apex_sdk_version")
load("//build/bazel/rules/cc:cc_library_shared.bzl", "CcSharedLibraryOutputInfo", "CcStubLibrariesInfo")
-load("//build/bazel/rules/cc:stripped_cc_common.bzl", "CcUnstrippedInfo")
load("//build/bazel/rules/cc:cc_stub_library.bzl", "CcStubLibrarySharedInfo")
+load("//build/bazel/rules/cc:stripped_cc_common.bzl", "CcUnstrippedInfo")
ApexCcInfo = provider(
"Info needed to use CC targets in APEXes",
@@ -230,7 +230,10 @@ def _apex_cc_aspect_impl(target, ctx):
transitive_deps.append(dep)
elif ctx.rule.kind in rules_propagate_src and hasattr(ctx.rule.attr, "src"):
# Propagate along the src edge
- transitive_deps.append(ctx.rule.attr.src)
+ if ctx.rule.kind == "stripped_binary":
+ transitive_deps.append(ctx.rule.attr.src[0])
+ else:
+ transitive_deps.append(ctx.rule.attr.src)
if ctx.rule.kind in ["stripped_binary", "_cc_library_shared_proxy", "_cc_library_combiner"] and hasattr(ctx.rule.attr, "runtime_deps"):
for dep in ctx.rule.attr.runtime_deps: