dcsctp: Fix build dependencies

Adding fuzzers to the build made "gn gen --check" discover a lot
of dependency errors between various components of dcSCTP.

Bug: webrtc:12614
Change-Id: I0b2dd7321aec2624da417f413c727bd11b4743e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215003
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33705}
diff --git a/net/dcsctp/common/BUILD.gn b/net/dcsctp/common/BUILD.gn
index 374eb7f..72b3f50 100644
--- a/net/dcsctp/common/BUILD.gn
+++ b/net/dcsctp/common/BUILD.gn
@@ -9,6 +9,7 @@
 import("../../../webrtc.gni")
 
 rtc_source_set("internal_types") {
+  deps = [ "../public:strong_alias" ]
   sources = [ "internal_types.h" ]
 }
 
@@ -23,13 +24,14 @@
 }
 
 rtc_source_set("sequence_numbers") {
-  deps = []
+  deps = [ ":internal_types" ]
   sources = [ "sequence_numbers.h" ]
 }
 
 rtc_source_set("str_join") {
-  deps = []
+  deps = [ "../../../rtc_base:stringutils" ]
   sources = [ "str_join.h" ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
 }
 
 if (rtc_include_tests) {
diff --git a/net/dcsctp/packet/BUILD.gn b/net/dcsctp/packet/BUILD.gn
index 61bbdc8..13769b2 100644
--- a/net/dcsctp/packet/BUILD.gn
+++ b/net/dcsctp/packet/BUILD.gn
@@ -45,6 +45,8 @@
     "../../../rtc_base",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
+    "../common:internal_types",
+    "../public:types",
   ]
   sources = [ "data.h" ]
 }
@@ -64,14 +66,17 @@
 
 rtc_library("parameter") {
   deps = [
+    ":bounded_io",
     ":data",
     ":tlv_trait",
     "../../../api:array_view",
     "../../../rtc_base",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
+    "../common:internal_types",
     "../common:math",
     "../common:str_join",
+    "../public:types",
   ]
   sources = [
     "parameter/add_incoming_streams_request_parameter.cc",
@@ -97,6 +102,7 @@
     "parameter/supported_extensions_parameter.cc",
     "parameter/supported_extensions_parameter.h",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
 
 rtc_library("error_cause") {
@@ -108,8 +114,11 @@
     "../../../rtc_base",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
+    "../common:internal_types",
     "../common:math",
     "../common:str_join",
+    "../packet:bounded_io",
+    "../public:types",
   ]
   sources = [
     "error_cause/cookie_received_while_shutting_down_cause.cc",
@@ -141,6 +150,7 @@
     "error_cause/user_initiated_abort_cause.cc",
     "error_cause/user_initiated_abort_cause.h",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
 
 rtc_library("chunk") {
@@ -155,6 +165,7 @@
     "../../../rtc_base:rtc_base_approved",
     "../common:math",
     "../common:str_join",
+    "../packet:bounded_io",
   ]
   sources = [
     "chunk/abort_chunk.cc",
@@ -196,21 +207,30 @@
     "chunk/shutdown_complete_chunk.cc",
     "chunk/shutdown_complete_chunk.h",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
 
 rtc_library("sctp_packet") {
   deps = [
+    ":bounded_io",
+    ":chunk",
     ":crc32c",
     "../../../api:array_view",
     "../../../rtc_base",
     "../../../rtc_base:checks",
     "../../../rtc_base:rtc_base_approved",
+    "../common:internal_types",
+    "../common:math",
     "../public:types",
   ]
   sources = [
     "sctp_packet.cc",
     "sctp_packet.h",
   ]
+  absl_deps = [
+    "//third_party/abseil-cpp/absl/memory:memory",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
 }
 
 if (rtc_include_tests) {
diff --git a/net/dcsctp/public/BUILD.gn b/net/dcsctp/public/BUILD.gn
index 9bf3619..863b903 100644
--- a/net/dcsctp/public/BUILD.gn
+++ b/net/dcsctp/public/BUILD.gn
@@ -13,7 +13,10 @@
 }
 
 rtc_source_set("types") {
-  deps = [ ":strong_alias" ]
+  deps = [
+    ":strong_alias",
+    "../../../api:array_view",
+  ]
   sources = [
     "dcsctp_message.h",
     "dcsctp_options.h",
@@ -23,6 +26,7 @@
 
 rtc_source_set("socket") {
   deps = [
+    ":types",
     "../../../api:array_view",
     "../../../rtc_base",
     "../../../rtc_base:checks",
@@ -33,6 +37,7 @@
     "packet_observer.h",
     "timeout.h",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
 
 if (rtc_include_tests) {