Skip to content

Commit

Permalink
Refactor CcSharedLibraryInfo.dynamic_deps to be a list of structs
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 547292885
Change-Id: I0426b833b0dd671490cea55d02d71dbbaad53f35
  • Loading branch information
ted-xie authored and copybara-github committed Jul 11, 2023
1 parent 554f309 commit 26926ee
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions src/main/starlark/builtins_bzl/common/cc/cc_shared_library.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -225,10 +225,10 @@ def _merge_cc_shared_library_infos(ctx):
dynamic_deps = []
transitive_dynamic_deps = []
for dep in ctx.attr.dynamic_deps:
dynamic_dep_entry = (
dep[CcSharedLibraryInfo].exports,
dep[CcSharedLibraryInfo].linker_input,
dep[CcSharedLibraryInfo].link_once_static_libs,
dynamic_dep_entry = struct(
exports = dep[CcSharedLibraryInfo].exports,
linker_input = dep[CcSharedLibraryInfo].linker_input,
link_once_static_libs = dep[CcSharedLibraryInfo].link_once_static_libs,
)
dynamic_deps.append(dynamic_dep_entry)
transitive_dynamic_deps.append(dep[CcSharedLibraryInfo].dynamic_deps)
Expand All @@ -238,8 +238,8 @@ def _merge_cc_shared_library_infos(ctx):
def _build_exports_map_from_only_dynamic_deps(merged_shared_library_infos):
exports_map = {}
for entry in merged_shared_library_infos.to_list():
exports = entry[0]
linker_input = entry[1]
exports = entry.exports
linker_input = entry.linker_input
for export in exports:
if export in exports_map:
fail("Two shared libraries in dependencies export the same symbols. Both " +
Expand All @@ -254,8 +254,8 @@ def _build_exports_map_from_only_dynamic_deps(merged_shared_library_infos):
def _build_link_once_static_libs_map(merged_shared_library_infos):
link_once_static_libs_map = {}
for entry in merged_shared_library_infos.to_list():
link_once_static_libs = entry[2]
linker_input = entry[1]
link_once_static_libs = entry.link_once_static_libs
linker_input = entry.linker_input
for static_lib in link_once_static_libs:
if static_lib in link_once_static_libs_map:
fail("Two shared libraries in dependencies link the same " +
Expand Down Expand Up @@ -588,8 +588,8 @@ def _build_map_direct_dynamic_dep_to_transitive_dynamic_deps(ctx):
all_dynamic_dep_linker_inputs[owner] = dep[CcSharedLibraryInfo].linker_input
transitive_dynamic_dep_labels = []
for dynamic_dep in dep[CcSharedLibraryInfo].dynamic_deps.to_list():
all_dynamic_dep_linker_inputs[dynamic_dep[1].owner] = dynamic_dep[1]
transitive_dynamic_dep_labels.append(dynamic_dep[1].owner)
all_dynamic_dep_linker_inputs[dynamic_dep.linker_input.owner] = dynamic_dep.linker_input
transitive_dynamic_dep_labels.append(dynamic_dep.linker_input.owner)
transitive_dynamic_dep_labels_set = depset(transitive_dynamic_dep_labels, order = "topological")
for export in dep[CcSharedLibraryInfo].exports:
direct_dynamic_dep_to_transitive_dynamic_deps[export] = transitive_dynamic_dep_labels_set
Expand Down

0 comments on commit 26926ee

Please sign in to comment.