Read --enable_apple_binary_native_protos to check whether to link ObjC protos into apple_static_library outputs.

RELNOTES: None
PiperOrigin-RevId: 252659365
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
index 5bdc511..0f2b702 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
@@ -114,20 +114,26 @@
       BuildConfiguration childToolchainConfig = entry.getKey();
       String childCpu = entry.getKey().getCpu();
       CcToolchainProvider childToolchain = entry.getValue();
-      Iterable<ObjcProtoProvider> objcProtoProviders = objcProtoProvidersMap.get(childCpu);
-      ProtobufSupport protoSupport =
-          new ProtobufSupport(
-                  ruleContext,
-                  childToolchainConfig,
-                  protosToAvoid,
-                  ImmutableList.<ProtoInfo>of(),
-                  objcProtoProviders,
-                  ProtobufSupport.getTransitivePortableProtoFilters(objcProtoProviders),
-                  childToolchain)
-              .registerGenerationActions()
-              .registerCompilationActions();
 
-      Optional<ObjcProvider> protosObjcProvider = protoSupport.getObjcProvider();
+      Optional<ObjcProvider> protosObjcProvider;
+      if (ObjcRuleClasses.objcConfiguration(ruleContext).enableAppleBinaryNativeProtos()) {
+        Iterable<ObjcProtoProvider> objcProtoProviders = objcProtoProvidersMap.get(childCpu);
+        ProtobufSupport protoSupport =
+            new ProtobufSupport(
+                    ruleContext,
+                    childToolchainConfig,
+                    protosToAvoid,
+                    ImmutableList.<ProtoInfo>of(),
+                    objcProtoProviders,
+                    ProtobufSupport.getTransitivePortableProtoFilters(objcProtoProviders),
+                    childToolchain)
+                .registerGenerationActions()
+                .registerCompilationActions();
+
+        protosObjcProvider = protoSupport.getObjcProvider();
+      } else {
+        protosObjcProvider = Optional.absent();
+      }
 
       IntermediateArtifacts intermediateArtifacts =
           ObjcRuleClasses.intermediateArtifacts(ruleContext, childToolchainConfig);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
index 75623ff..f488e81 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
@@ -702,4 +702,15 @@
         .hasMessageThat()
         .contains("unexpected keyword 'foo', for call to function AppleStaticLibrary");
   }
+
+  @Test
+  public void testProtoBundlingWithTargetsWithNoDeps() throws Exception {
+    checkProtoBundlingWithTargetsWithNoDeps(RULE_TYPE);
+  }
+
+  @Test
+  public void testProtoBundlingDoesNotHappen() throws Exception {
+    useConfiguration("--noenable_apple_binary_native_protos");
+    checkProtoBundlingDoesNotHappen(RULE_TYPE);
+  }
 }