Fix windows_export_all_symbols in cc_shared_library (#15190)
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 c1291be..244a167 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
@@ -388,10 +388,7 @@
feature_configuration = cc_common.configure_features(
ctx = ctx,
cc_toolchain = cc_toolchain,
- # This features enables behavior which creates a def file automatically
- # for exporting all the symbols in a shared libary on Windows. If a
- # custom def file is passed, this behavior doesn't apply.
- requested_features = ctx.features + ["windows_export_all_symbols"],
+ requested_features = ctx.features,
unsupported_features = ctx.disabled_features,
)
diff --git a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
index 8d873ed..3fe911d 100644
--- a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
+++ b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
@@ -36,18 +36,21 @@
cc_shared_library(
name = "a_so",
roots = [":a_suffix"],
+ features = ["windows_export_all_symbols"],
)
cc_shared_library(
name = "diamond_so",
dynamic_deps = [":a_so"],
roots = [":qux"],
+ features = ["windows_export_all_symbols"],
)
cc_shared_library(
name = "diamond2_so",
dynamic_deps = [":a_so"],
roots = [":qux2"],
+ features = ["windows_export_all_symbols"],
)
cc_binary(
@@ -90,6 +93,7 @@
"-Wl,--script=$(location :additional_script.txt)",
],
"//conditions:default": []}),
+ features = ["windows_export_all_symbols"],
)
cc_library(
@@ -184,6 +188,7 @@
],
"//conditions:default": [],
}),
+ features = ["windows_export_all_symbols"],
)
cc_library(
@@ -309,6 +314,7 @@
roots = [
":direct_so_file_cc_lib",
],
+ features = ["windows_export_all_symbols"],
)
genrule(
@@ -330,6 +336,7 @@
":direct_so_file_cc_lib2",
],
shared_lib_name = "renamed_so_file.so",
+ features = ["windows_export_all_symbols"],
)
cc_library(