Refactor bitrate_controller, remote_bitrate_estimator and congestion_contoller for gn check.

These targets are now checked:
- "//webrtc/modules/bitrate_controller/*"
- "//webrtc/modules/congestion_controller/*"
- "//webrtc/modules/remote_bitrate_estimator/*"

BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2602563003
Cr-Commit-Position: refs/heads/master@{#15818}
diff --git a/.gn b/.gn
index 155e4a2..c82d480 100644
--- a/.gn
+++ b/.gn
@@ -29,6 +29,8 @@
   "//webrtc/modules/audio_device/*",
   "//webrtc/modules/audio_mixer/*",
   "//webrtc/modules/audio_processing/*",
+  "//webrtc/modules/bitrate_controller/*",
+  "//webrtc/modules/congestion_controller/*",
   "//webrtc/modules/media_file/*",
   "//webrtc/modules/pacing/*",
   "//webrtc/modules/rtp_rtcp/*",
@@ -36,6 +38,7 @@
   "//webrtc/modules/video_capture/*",
   "//webrtc/modules/video_coding/*",
   "//webrtc/modules/video_processing/*",
+  "//webrtc/modules/remote_bitrate_estimator/*",
   "//webrtc/stats:rtc_stats",
   "//webrtc/voice_engine",
   "//webrtc/voice_engine:level_indicator",
diff --git a/webrtc/modules/bitrate_controller/BUILD.gn b/webrtc/modules/bitrate_controller/BUILD.gn
index 28b3801..1bc8cc4 100644
--- a/webrtc/modules/bitrate_controller/BUILD.gn
+++ b/webrtc/modules/bitrate_controller/BUILD.gn
@@ -9,6 +9,11 @@
 import("../../build/webrtc.gni")
 
 rtc_static_library("bitrate_controller") {
+  # TODO(mbonadei): Remove (bugs.webrtc.org/6828)
+  # Errors on cyclic dependency with:
+  # congestion_controller:congestion_controller if enabled.
+  check_includes = false
+
   sources = [
     "bitrate_controller_impl.cc",
     "bitrate_controller_impl.h",
@@ -32,6 +37,8 @@
   }
 
   deps = [
+    "../../base:rtc_base_approved",
     "../../system_wrappers",
+    "../rtp_rtcp",
   ]
 }
diff --git a/webrtc/modules/congestion_controller/BUILD.gn b/webrtc/modules/congestion_controller/BUILD.gn
index d2dc680..1fd4e0b 100644
--- a/webrtc/modules/congestion_controller/BUILD.gn
+++ b/webrtc/modules/congestion_controller/BUILD.gn
@@ -43,8 +43,15 @@
   }
 
   deps = [
+    "../..:webrtc_common",
     "../../base:rtc_analytics",
+    "../../base:rtc_base",
+    "../../base:rtc_base_approved",
+    "../../system_wrappers",
     "../bitrate_controller",
     "../pacing",
+    "../remote_bitrate_estimator",
+    "../rtp_rtcp",
+    "../utility",
   ]
 }
diff --git a/webrtc/modules/pacing/BUILD.gn b/webrtc/modules/pacing/BUILD.gn
index cb27a59..09b856b 100644
--- a/webrtc/modules/pacing/BUILD.gn
+++ b/webrtc/modules/pacing/BUILD.gn
@@ -29,7 +29,6 @@
     "../..:webrtc_common",
     "../../base:rtc_base_approved",
     "../../system_wrappers",
-    "../bitrate_controller",
     "../rtp_rtcp",
   ]
 }
diff --git a/webrtc/modules/remote_bitrate_estimator/BUILD.gn b/webrtc/modules/remote_bitrate_estimator/BUILD.gn
index 67aa7c8..f73fa22 100644
--- a/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+++ b/webrtc/modules/remote_bitrate_estimator/BUILD.gn
@@ -9,6 +9,11 @@
 import("../../build/webrtc.gni")
 
 rtc_static_library("remote_bitrate_estimator") {
+  # TODO(mbonadei): Remove (bugs.webrtc.org/6828)
+  # Errors on cyclic dependency with:
+  # rtp_rtcp:rtp_rtcp if enabled.
+  check_includes = false
+
   sources = [
     "aimd_rate_control.cc",
     "aimd_rate_control.h",
@@ -46,6 +51,7 @@
 
   deps = [
     "../..:webrtc_common",
+    "../../base:rtc_base",
     "../../base:rtc_base_approved",
     "../../system_wrappers",
   ]
@@ -102,9 +108,18 @@
     }
 
     deps = [
+      ":remote_bitrate_estimator",
+      "../..:webrtc_common",
+      "../../base:gtest_prod",
+      "../../base:rtc_base",
+      "../../base:rtc_base_approved",
+      "../../system_wrappers",
       "../../test:test_support",
+      "../../voice_engine",
+      "../bitrate_controller",
       "../congestion_controller",
       "../pacing",
+      "../rtp_rtcp",
       "//testing/gmock",
       "//testing/gtest",
     ]