Reland of actor webrtc_perf_tests into several source_sets. (patchset #1 id:1 of https://codereview.webrtc.org/2613913002/ )

Reason for revert:
Try again.

Original issue's description:
> Revert of Refactor webrtc_perf_tests into several source_sets. (patchset #5 id:100001 of https://codereview.webrtc.org/2609403002/ )
>
> Reason for revert:
> Probably cause unexpected performance regression
> BUG=chromium:678569
>
> Original issue's description:
> > Refactor webrtc_perf_tests into several source_sets.
> >
> > BUG=webrtc:6954
> >
> > Review-Url: https://codereview.webrtc.org/2609403002
> > Cr-Commit-Position: refs/heads/master@{#15902}
> > Committed: https://chromium.googlesource.com/external/webrtc/+/0b5a26a5768618e5d850aa7ea97cb348fe5302f7
>
> TBR=kjellander@webrtc.org,ehmaldonado@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2613913002
> Cr-Commit-Position: refs/heads/master@{#15916}
> Committed: https://chromium.googlesource.com/external/webrtc/+/5fbcd228f0781526ce2cbafba0a1f39f481ad81b

TBR=kjellander@webrtc.org,danilchap@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:678569

Review-Url: https://codereview.webrtc.org/2615873002
Cr-Commit-Position: refs/heads/master@{#15919}
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index 49dc803..a7a6df7 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -462,39 +462,16 @@
     testonly = true
     configs += [ ":rtc_unittests_config" ]
 
-    sources = [
-      "call/call_perf_tests.cc",
-      "call/rampup_tests.cc",
-      "call/rampup_tests.h",
-      "modules/audio_coding/codecs/opus/opus_complexity_unittest.cc",
-      "modules/audio_coding/neteq/test/neteq_performance_unittest.cc",
-      "modules/audio_processing/audio_processing_performance_unittest.cc",
-      "modules/audio_processing/level_controller/level_controller_complexity_unittest.cc",
-      "modules/audio_processing/residual_echo_detector_complexity_unittest.cc",
-      "modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc",
-      "video/full_stack_tests.cc",
-    ]
     deps = [
-      "modules/audio_coding:neteq_test_support",
-      "modules/audio_processing",
-      "modules/audio_processing:audioproc_test_utils",
-      "modules/remote_bitrate_estimator:bwe_simulator_lib",
-      "modules/rtp_rtcp",
-      "test:test_common",
+      "call:call_perf_tests",
+      "modules/audio_coding:audio_coding_perf_tests",
+      "modules/audio_processing:audio_processing_perf_tests",
+      "modules/remote_bitrate_estimator:remote_bitrate_estimator_perf_tests",
       "test:test_main",
-      "test:test_renderer",
+      "video:video_full_stack_tests",
       "video:video_quality_test",
-      "voice_engine",
-      "//testing/gmock",
-      "//testing/gtest",
     ]
 
-    if (rtc_enable_intelligibility_enhancer) {
-      defines = [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ]
-    } else {
-      defines = [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ]
-    }
-
     data = webrtc_perf_tests_resources
     if (is_android) {
       deps += [ "//testing/android/native_test:native_test_native_code" ]
@@ -503,13 +480,6 @@
     if (is_ios) {
       deps += [ ":webrtc_perf_tests_bundle_data" ]
     }
-    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" ]
-    }
-    if (rtc_use_h264) {
-      defines += [ "WEBRTC_USE_H264" ]
-    }
   }
 
   rtc_test("webrtc_nonparallel_tests") {
diff --git a/webrtc/call/BUILD.gn b/webrtc/call/BUILD.gn
index 4a32385..195c37f 100644
--- a/webrtc/call/BUILD.gn
+++ b/webrtc/call/BUILD.gn
@@ -75,4 +75,21 @@
       suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
     }
   }
+
+  rtc_source_set("call_perf_tests") {
+    testonly = true
+    sources = [
+      "call_perf_tests.cc",
+      "rampup_tests.cc",
+      "rampup_tests.h",
+    ]
+    deps = [
+      "//testing/gtest",
+      "//webrtc/test:test_common",
+    ]
+    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" ]
+    }
+  }
 }
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 70ecc55..c44d022 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -1136,6 +1136,27 @@
     }
   }
 
+  rtc_source_set("audio_coding_perf_tests") {
+    testonly = true
+    sources = [
+      "codecs/opus/opus_complexity_unittest.cc",
+      "neteq/test/neteq_performance_unittest.cc",
+    ]
+    deps = [
+      ":neteq_test_support",
+      ":neteq_unittest_tools",
+      ":webrtc_opus",
+      "../..:webrtc_common",
+      "../../base:rtc_base_approved",
+      "../../system_wrappers:system_wrappers",
+      "../../test:test_support",
+    ]
+    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_source_set("acm_receive_test") {
     testonly = true
     sources = [
diff --git a/webrtc/modules/audio_processing/BUILD.gn b/webrtc/modules/audio_processing/BUILD.gn
index 049a4e1..5cbd97d 100644
--- a/webrtc/modules/audio_processing/BUILD.gn
+++ b/webrtc/modules/audio_processing/BUILD.gn
@@ -411,6 +411,35 @@
     }
   }
 
+  rtc_source_set("audio_processing_perf_tests") {
+    # Has problems with autogenerated targets on Android and iOS
+    # Dependency chain (there may also be others):
+    #  //webrtc/modules/audio_processing:audio_processing_perf_tests -->
+    #  //webrtc/modules:modules_unittests --[private]-->
+    #  //webrtc/modules:modules_unittests_apk -->
+    #  //webrtc/modules:modules_unittests_apk__create -->
+    #  //webrtc/modules:modules_unittests_apk__create__finalize -->
+    #  //webrtc/modules:modules_unittests_apk__create__package --[private]-->
+    #  //webrtc/modules:_modules_unittests__library
+    check_includes = false
+    testonly = true
+    sources = [
+      "audio_processing_performance_unittest.cc",
+      "level_controller/level_controller_complexity_unittest.cc",
+      "residual_echo_detector_complexity_unittest.cc",
+    ]
+    deps = [
+      ":audio_processing",
+      ":audioproc_test_utils",
+      "//testing/gtest",
+    ]
+    if (rtc_enable_intelligibility_enhancer) {
+      defines = [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ]
+    } else {
+      defines = [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ]
+    }
+  }
+
   rtc_executable("unpack_aecdump") {
     testonly = true
     sources = [
diff --git a/webrtc/modules/remote_bitrate_estimator/BUILD.gn b/webrtc/modules/remote_bitrate_estimator/BUILD.gn
index f73fa22..7ddb0bb 100644
--- a/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+++ b/webrtc/modules/remote_bitrate_estimator/BUILD.gn
@@ -124,4 +124,21 @@
       "//testing/gtest",
     ]
   }
+
+  rtc_source_set("remote_bitrate_estimator_perf_tests") {
+    testonly = true
+    sources = [
+      "remote_bitrate_estimators_test.cc",
+    ]
+    deps = [
+      ":bwe_simulator_lib",
+      ":remote_bitrate_estimator",
+      "../../base:rtc_base_approved",
+      "../../test:fileutils",
+    ]
+    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" ]
+    }
+  }
 }
diff --git a/webrtc/video/BUILD.gn b/webrtc/video/BUILD.gn
index 87a9800..54464cf 100644
--- a/webrtc/video/BUILD.gn
+++ b/webrtc/video/BUILD.gn
@@ -89,6 +89,7 @@
       "../media:rtc_media_base",
       "../system_wrappers",
       "//testing/gtest",
+      "//webrtc/test:test_renderer",
     ]
     if (!is_android) {
       deps += [ "../modules/video_capture:video_capture_internal_impl" ]
@@ -99,6 +100,25 @@
     }
   }
 
+  rtc_source_set("video_full_stack_tests") {
+    testonly = true
+    sources = [
+      "full_stack_tests.cc",
+    ]
+    deps = [
+      ":video_quality_test",
+      "//testing/gtest",
+      "//webrtc/test:test_common",
+    ]
+    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" ]
+    }
+    if (rtc_use_h264) {
+      defines = [ "WEBRTC_USE_H264" ]
+    }
+  }
+
   rtc_executable("video_loopback") {
     testonly = true
     sources = [