diff --git a/src/main/starlark/builtins_bzl/common/objc/objc_common.bzl b/src/main/starlark/builtins_bzl/common/objc/objc_common.bzl index bbd9f6ed6ce394..f27641dd7ff4b4 100644 --- a/src/main/starlark/builtins_bzl/common/objc/objc_common.bzl +++ b/src/main/starlark/builtins_bzl/common/objc/objc_common.bzl @@ -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"): diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java index 485108326535e7..908a78f3757655 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java @@ -2582,18 +2582,15 @@ public void testSdkUserLinkFlagsFromSdkFieldsAndLinkoptsArePropagatedOnCcInfo() ImmutableList 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(); } }