The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

BUG=webrtc:7743

Review-Url: https://codereview.webrtc.org/2995753002
Cr-Commit-Position: refs/heads/master@{#19501}
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
index c9ecf67..2bbc785 100644
--- a/webrtc/sdk/BUILD.gn
+++ b/webrtc/sdk/BUILD.gn
@@ -706,14 +706,31 @@
       libs = [ "CoreVideo.framework" ]
     }
 
-    rtc_static_library("videotoolbox_objc") {
+    rtc_static_library("video_toolbox_cc") {
+      visibility = [ ":*" ]
       sources = [
-        "objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm",
-        "objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm",
         "objc/Framework/Classes/VideoToolbox/helpers.cc",
         "objc/Framework/Classes/VideoToolbox/helpers.h",
         "objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc",
         "objc/Framework/Classes/VideoToolbox/nalu_rewriter.h",
+      ]
+      deps = [
+        "../common_video",
+        "../modules:module_api",
+        "../modules/video_coding:webrtc_h264",
+        "../rtc_base:rtc_base_approved",
+      ]
+      if (!build_with_chromium && is_clang) {
+        # Suppress warnings from the Chromium Clang plugin
+        # (bugs.webrtc.org/163).
+        suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+      }
+    }
+
+    rtc_static_library("videotoolbox_objc") {
+      sources = [
+        "objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm",
+        "objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm",
         "objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.h",
         "objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.mm",
         "objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h",
@@ -726,6 +743,7 @@
       deps = [
         ":common_objc",
         ":video_objc",
+        ":video_toolbox_cc",
         ":videotracksource_objc",
         "../api/video_codecs:video_codecs_api",
         "../common_video",