Move rtc_error.{h,cc} to its own build target.

Bug: webrtc:8733
Change-Id: Idd34d9a88ae62a01b9ea50719872f8188069211e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152320
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29148}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index a9af1b3..a4cd2bc 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -142,8 +142,6 @@
     "peer_connection_proxy.h",
     "proxy.cc",
     "proxy.h",
-    "rtc_error.cc",
-    "rtc_error.h",
     "rtp_receiver_interface.cc",
     "rtp_receiver_interface.h",
     "rtp_sender_interface.cc",
@@ -167,6 +165,7 @@
     ":libjingle_logging_api",
     ":network_state_predictor_api",
     ":packet_socket_factory",
+    ":rtc_error",
     ":rtc_stats_api",
     ":rtp_packet_info",
     ":rtp_parameters",
@@ -206,8 +205,17 @@
 
 rtc_source_set("rtc_error") {
   visibility = [ "*" ]
-  # Placeholder target for the migration of rtc_error.{h,cc} out of
-  # libjingle_peerconnection_api.
+  sources = [
+    "rtc_error.cc",
+    "rtc_error.h",
+  ]
+  deps = [
+    "../rtc_base:checks",
+    "../rtc_base:logging",
+    "../rtc_base:macromagic",
+    "../rtc_base/system:rtc_export",
+    "//third_party/abseil-cpp/absl/strings",
+  ]
 }
 
 rtc_source_set("packet_socket_factory") {
@@ -908,6 +916,7 @@
       ":function_view",
       ":libjingle_peerconnection_api",
       ":loopback_media_transport",
+      ":rtc_error",
       ":rtc_event_log_output_file",
       ":rtp_packet_info",
       ":rtp_parameters",
diff --git a/call/BUILD.gn b/call/BUILD.gn
index b91d18b..912abc2 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -31,6 +31,7 @@
     ":rtp_interfaces",
     ":video_stream_api",
     "../api:fec_controller_api",
+    "../api:rtc_error",
 
     # For api/media_transport_config.h
     "../api:libjingle_peerconnection_api",
diff --git a/media/BUILD.gn b/media/BUILD.gn
index f010aea..24cf303 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -75,6 +75,7 @@
     "../api:array_view",
     "../api:audio_options_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtc_error",
     "../api:rtp_parameters",
     "../api:scoped_refptr",
     "../api/audio_codecs:audio_codecs_api",
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 1583cfb..6a9438d 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -100,6 +100,7 @@
     ":stun_types",
     "../api:libjingle_peerconnection_api",
     "../api:packet_socket_factory",
+    "../api:rtc_error",
     "../api:scoped_refptr",
     "../api/rtc_event_log",
     "../api/transport:enums",
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 6f868c2..7e1d53f 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -82,6 +82,7 @@
     "../api:audio_options_api",
     "../api:call_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtc_error",
     "../api:rtp_headers",
     "../api:rtp_parameters",
     "../api:rtp_parameters",
@@ -219,6 +220,7 @@
     "../api:fec_controller_api",
     "../api:libjingle_peerconnection_api",
     "../api:network_state_predictor_api",
+    "../api:rtc_error",
     "../api:rtc_event_log_output_file",
     "../api:rtc_stats_api",
     "../api:rtp_parameters",
@@ -309,6 +311,7 @@
       "../api:ice_transport_factory",
       "../api:libjingle_peerconnection_api",
       "../api:loopback_media_transport",
+      "../api:rtc_error",
       "../api:rtp_headers",
       "../api:rtp_parameters",
       "../api/video:builtin_video_bitrate_allocator_factory",
@@ -392,6 +395,7 @@
       ":pc_test_utils",
       "../api:function_view",
       "../api:libjingle_peerconnection_api",
+      "../api:rtc_error",
       "../api:rtc_stats_api",
       "../api:rtp_parameters",
       "../api:scoped_refptr",
@@ -437,6 +441,7 @@
       "../api:audio_options_api",
       "../api:create_peerconnection_factory",
       "../api:libjingle_peerconnection_api",
+      "../api:rtc_error",
       "../api:rtc_stats_api",
       "../api:scoped_refptr",
       "../api/audio:audio_mixer_api",
@@ -536,6 +541,7 @@
       "../api:libjingle_peerconnection_api",
       "../api:loopback_media_transport",
       "../api:mock_rtp",
+      "../api:rtc_error",
       "../api:scoped_refptr",
       "../api/audio:audio_mixer_api",
       "../api/rtc_event_log",