diff options
author | Trevor Radcliffe <tradical@google.com> | 2023-03-17 15:58:06 +0000 |
---|---|---|
committer | Trevor Radcliffe <tradical@google.com> | 2023-03-20 18:27:10 +0000 |
commit | 1f4ccb8159311bfc850b508c78907ffe5e3f3786 (patch) | |
tree | a7520f576a17287e2a1fe2d6113e03bc316b7d02 /rules/apex | |
parent | 0ba818022efa37fb92d041844baae41dd0b2be63 (diff) | |
download | bazel-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.bzl | 2 | ||||
-rw-r--r-- | rules/apex/cc.bzl | 7 |
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: |