Skip to content

Commit

Permalink
Use two-argument form for specifying linker framework arguments
Browse files Browse the repository at this point in the history
Previously using them causes link args deduplication error.
f0fca21
fixes the underlying issue.

PiperOrigin-RevId: 492506414
Change-Id: I0da6ff78defa81536b69446c4921a7519fc70ae8
  • Loading branch information
googlewalt authored and copybara-github committed Dec 2, 2022
1 parent a25238e commit 32fb0a2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
6 changes: 4 additions & 2 deletions src/main/starlark/builtins_bzl/common/objc/objc_common.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,12 @@ def _create_context_and_provider(
# cc_linking_context's linkopts.
all_linkopts = all_non_sdk_linkopts
for sdk_framework in objc_provider_kwargs["sdk_framework"]:
all_linkopts.append("-Wl,-framework," + sdk_framework)
all_linkopts.append("-framework")
all_linkopts.append(sdk_framework)

for weak_sdk_framework in objc_provider_kwargs["weak_sdk_framework"]:
all_linkopts.append("-Wl,-weak_framework," + weak_sdk_framework)
all_linkopts.append("-weak_framework")
all_linkopts.append(weak_sdk_framework)

for sdk_dylib in objc_provider_kwargs["sdk_dylib"]:
if sdk_dylib.startswith("lib"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2582,18 +2582,15 @@ public void testSdkUserLinkFlagsFromSdkFieldsAndLinkoptsArePropagatedOnCcInfo()

ImmutableList<String> userLinkFlags = getCcInfoUserLinkFlagsFromTarget("//x:foo");
assertThat(userLinkFlags).isNotEmpty();
assertThat(userLinkFlags).containsAtLeast("-framework", "AVFoundation").inOrder();
assertThat(userLinkFlags).containsAtLeast("-framework", "CoreData").inOrder();
assertThat(userLinkFlags).containsAtLeast("-framework", "Foundation").inOrder();
assertThat(userLinkFlags).containsAtLeast("-framework", "UIKit").inOrder();
assertThat(userLinkFlags).containsAtLeast("-lz", "-lc++", "-lxml2", "-lsqlite3");
assertThat(userLinkFlags).containsAtLeast("-framework", "Framework").inOrder();
assertThat(userLinkFlags).containsAtLeast("-weak_framework", "WeakFramework").inOrder();
assertThat(userLinkFlags)
.containsAtLeast(
"-Wl,-framework,AVFoundation",
"-Wl,-framework,CoreData",
"-Wl,-framework,Foundation",
"-Wl,-framework,Framework",
"-Wl,-framework,UIKit",
"-Wl,-weak_framework,WeakFramework",
"-Wl,-weak_framework,WeakFrameworkFromLinkOpt",
"-lc++",
"-lsqlite3",
"-lxml2",
"-lz");
.containsAtLeast("-weak_framework", "WeakFrameworkFromLinkOpt")
.inOrder();
}
}

0 comments on commit 32fb0a2

Please sign in to comment.