Control value of experimental_link_static_libraries_once via semantics
PiperOrigin-RevId: 511128376
Change-Id: I17a0804cc8c383a3a0880b962c7bfb40557395a4
diff --git a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
index c3c6a82..2c2070c 100644
--- a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
@@ -522,7 +522,7 @@
debug_files.append(exports_debug_file)
debug_files.append(link_once_static_libs_debug_file)
- if not ctx.fragments.cpp.experimental_link_static_libraries_once():
+ if not semantics.get_experimental_link_static_libraries_once(ctx):
curr_link_once_static_libs_set = {}
library = []
diff --git a/src/main/starlark/builtins_bzl/common/cc/semantics.bzl b/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
index 52421ce..9ba6ca9 100644
--- a/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
@@ -171,6 +171,9 @@
def _get_nocopts_attr():
return {}
+def _get_experimental_link_static_libraries_once(ctx):
+ return ctx.fragments.cpp.experimental_link_static_libraries_once()
+
semantics = struct(
ALLOWED_RULES_IN_DEPS = [
"cc_library",
@@ -211,4 +214,5 @@
get_coverage_env = _get_coverage_env,
get_proto_aspects = _get_proto_aspects,
get_nocopts_attr = _get_nocopts_attr,
+ get_experimental_link_static_libraries_once = _get_experimental_link_static_libraries_once,
)