Skip to content

Commit 36d93eb

Browse files
authored
Revert "[8.0.0] Propagate linkopts of header-only libraries to cc_shared_library" (#24522)
Reverts #24005 Fixes #24518 Fixes #24521
1 parent 0bef753 commit 36d93eb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+69
-97
lines changed

src/main/starlark/builtins_bzl/common/cc/cc_shared_library.bzl

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -448,15 +448,7 @@ def _filter_inputs(
448448
continue
449449
linker_inputs_seen[stringified_linker_input] = True
450450
owner = str(linker_input.owner)
451-
if semantics.is_bazel and not linker_input.libraries:
452-
# Linker inputs that only provide flags, no code, are considered
453-
# safe to link statically multiple times.
454-
# TODO(bazel-team): semantics.should_create_empty_archive() should be
455-
# cleaned up and return False in every case. cc_libraries shouldn't
456-
# produce empty archives. For now issue #19920 is only fixed in Bazel.
457-
_add_linker_input_to_dict(linker_input.owner, linker_input)
458-
linker_inputs_count += 1
459-
elif owner in targets_to_be_linked_dynamically_set:
451+
if owner in targets_to_be_linked_dynamically_set:
460452
unused_dynamic_linker_inputs[transitive_exports[owner].owner] = None
461453

462454
# Link the library in this iteration dynamically,
@@ -465,6 +457,11 @@ def _filter_inputs(
465457
_add_linker_input_to_dict(linker_input.owner, transitive_exports[owner])
466458
linker_inputs_count += 1
467459
elif owner in targets_to_be_linked_statically_map:
460+
if semantics.is_bazel and not linker_input.libraries:
461+
# TODO(bazel-team): semantics.should_create_empty_archive() should be
462+
# cleaned up and return False in every case. cc_libraries shouldn't
463+
# produce empty archives. For now issue #19920 is only fixed in Bazel.
464+
continue
468465
if owner in link_once_static_libs_map:
469466
# We are building a dictionary that will allow us to give
470467
# proper errors for libraries that have been linked multiple

src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/semantics.bzl

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/BUILD.builtin_test renamed to src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ NO_BUILD_TAGS = [
2626
licenses(["notice"])
2727

2828
package(
29-
default_visibility = ["//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:__subpackages__"],
29+
default_visibility = ["//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:__subpackages__"],
3030
)
3131

3232
py_test(
@@ -119,7 +119,7 @@ cc_shared_library(
119119
}),
120120
dynamic_deps = [
121121
"bar_so",
122-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test3:diff_pkg_so",
122+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library3:diff_pkg_so",
123123
"private_lib_so",
124124
],
125125
exports_filter = [
@@ -176,7 +176,7 @@ cc_library(
176176
# Not exported.
177177
"qux",
178178
"prebuilt",
179-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test3:diff_pkg"
179+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library3:diff_pkg"
180180
],
181181
)
182182

@@ -275,7 +275,7 @@ cc_shared_library(
275275
}),
276276
exports_filter = [
277277
"bar3", # Exported transitive dependency
278-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test3:bar",
278+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library3:bar",
279279
],
280280
features = ["windows_export_all_symbols"],
281281
user_link_flags = select({
@@ -330,7 +330,7 @@ cc_library(
330330
srcs = ["bar3.cc"],
331331
hdrs = ["bar3.h"],
332332
deps = [
333-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test3:bar",
333+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library3:bar",
334334
],
335335
)
336336

@@ -371,17 +371,17 @@ additional_inputs_test(
371371
build_failure_test(
372372
name = "link_once_repeated_test_binary",
373373
messages = [
374-
"cc_shared_library/test:barX\",",
374+
"cc_shared_library/test_cc_shared_library:barX\",",
375375
],
376-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:should_fail_binary",
376+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:should_fail_binary",
377377
)
378378

379379
build_failure_test(
380380
name = "link_once_repeated_test_shared_lib",
381381
messages = [
382-
"cc_shared_library/test:barX\",",
382+
"cc_shared_library/test_cc_shared_library:barX\",",
383383
],
384-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:should_fail_shared_lib",
384+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:should_fail_shared_lib",
385385
)
386386

387387
paths_test(
@@ -473,9 +473,6 @@ genrule(
473473
cc_library(
474474
name = "hdr_only",
475475
hdrs = [":hdr_only_hdr"],
476-
linkopts = [
477-
"-Wl,-rpath,hdr_only",
478-
],
479476
)
480477

481478
cc_library(
@@ -489,22 +486,22 @@ cc_library(
489486
cc_shared_library(
490487
name = "external_export_so",
491488
exports_filter = ["@my_test_repo//:__pkg__"],
492-
tags = ["bazel_only"],
493489
deps = [
494490
":external_export",
495491
],
492+
tags = ["bazel_only"],
496493
)
497494

498495
build_failure_test(
499496
name = "two_dynamic_deps_same_export_in_so_test",
500497
message = "Two shared libraries in dependencies export the same symbols",
501-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:two_dynamic_deps_same_export_in_so",
498+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:two_dynamic_deps_same_export_in_so",
502499
)
503500

504501
build_failure_test(
505502
name = "two_dynamic_deps_same_export_in_binary_test",
506503
message = "Two shared libraries in dependencies link the same library statically",
507-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:two_dynamic_deps_same_export_in_binary",
504+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:two_dynamic_deps_same_export_in_binary",
508505
)
509506

510507
interface_library_output_group_test(
@@ -535,36 +532,36 @@ check_linking_action_lib_parameters_test(
535532
build_failure_test(
536533
name = "shared_library_without_deps",
537534
message = "'cc_shared_library' must have at least one dependency in 'deps' (or 'roots')",
538-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:failing_with_no_deps_so",
535+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:failing_with_no_deps_so",
539536
)
540537

541538
build_failure_test(
542539
name = "direct_dep_with_only_shared_lib_file",
543540
message = "Do not place libraries which only contain a precompiled dynamic library",
544-
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/failing_targets:failing_only_dynamic_lib",
541+
target = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:failing_only_dynamic_lib",
545542
)
546543

547544
exports_test(
548545
name = "exports_foo_test",
549546
target = ":foo_so",
550547
targets_that_should_be_claimed_to_be_exported = [
551-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:indirect_dep2",
552-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:baz",
553-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:foo",
554-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:cc_lib_with_no_srcs",
555-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:nocode_cc_lib",
556-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:should_not_be_linked_cc_lib",
557-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:a_suffix",
548+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:indirect_dep2",
549+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:baz",
550+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:foo",
551+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:cc_lib_with_no_srcs",
552+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:nocode_cc_lib",
553+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:should_not_be_linked_cc_lib",
554+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:a_suffix",
558555
],
559556
)
560557

561558
exports_test(
562559
name = "external_export_exports_test",
563-
bazel_only = True,
564560
target = "external_export_so",
561+
bazel_only = True,
565562
targets_that_should_be_claimed_to_be_exported = [
566563
"@@test_repo+//:bar",
567-
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test:external_export",
564+
"//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library:external_export",
568565
],
569566
)
570567

src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/a_suffix.cc renamed to src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/a_suffix.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
14-
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/a_suffix.h"
14+
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/a_suffix.h"
1515

1616
int a_suffix() { return 42; }
File renamed without changes.
File renamed without changes.

src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/bar.cc renamed to src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/bar.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
14-
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/bar.h"
14+
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/bar.h"
1515

1616
int bar() { return 42; }
File renamed without changes.
File renamed without changes.

src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/bar2.cc renamed to src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/bar2.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
14-
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test/bar2.h"
14+
#include "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/bar2.h"
1515

1616
int bar2() { return 42; }

0 commit comments

Comments
 (0)