Use two-argument form for specifying linker framework arguments

Previously using them causes link args deduplication error.
https://github.com/bazelbuild/bazel/commit/f0fca21a876323f49233f43dab87b68bfa5dd879
fixes the underlying issue.

PiperOrigin-RevId: 492506414
Change-Id: I0da6ff78defa81536b69446c4921a7519fc70ae8
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 bbd9f6e..f27641d 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 @@
     #   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 4851083..908a78f 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 @@
 
     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();
   }
 }