Move random out of rtc_base_approved

Bug: webrtc:9838
Change-Id: I64a5ef18c19d446139354d04aa6cb2a76d18aad0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258762
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36572}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 651b8fe..ec60e6f 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -672,6 +672,7 @@
   deps = [
     "../rtc_base",
     "../rtc_base:macromagic",
+    "../rtc_base:random",
   ]
   absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
 }
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 83e9746..b46ff62 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -212,6 +212,7 @@
     "../rtc_base:checks",
     "../rtc_base:logging",
     "../rtc_base:macromagic",
+    "../rtc_base:random",
     "../rtc_base:rate_limiter",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
@@ -400,6 +401,7 @@
     "../api/units:timestamp",
     "../rtc_base:checks",
     "../rtc_base:macromagic",
+    "../rtc_base:random",
     "../rtc_base:rtc_base_approved",
     "../rtc_base/synchronization:mutex",
   ]
@@ -496,6 +498,7 @@
         "../rtc_base:checks",
         "../rtc_base:logging",
         "../rtc_base:macromagic",
+        "../rtc_base:random",
         "../rtc_base:rate_limiter",
         "../rtc_base:rtc_base_approved",
         "../rtc_base:rtc_event",
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index dc2b33e..50c41c7 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -510,6 +510,7 @@
         "../modules/rtp_rtcp:rtp_rtcp_format",
         "../rtc_base:checks",
         "../rtc_base:macromagic",
+        "../rtc_base:random",
         "../rtc_base:rtc_base_approved",
         "../rtc_base:rtc_base_tests_utils",
         "../rtc_base:timeutils",
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 47fcdb4..d2986b8 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -412,6 +412,7 @@
       "../p2p:rtc_p2p",
       "../rtc_base:checks",
       "../rtc_base:logging",
+      "../rtc_base:random",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:socket",
       "../rtc_base:stringutils",
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 3f70ab7..b745c97 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -191,6 +191,7 @@
     "../../rtc_base:logging",
     "../../rtc_base:macromagic",
     "../../rtc_base:platform_thread",
+    "../../rtc_base:random",
     "../../rtc_base:refcount",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base:rtc_event",
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index 056e45c..5958fae 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -388,6 +388,7 @@
         "../../rtc_base:macromagic",
         "../../rtc_base:platform_thread",
         "../../rtc_base:protobuf_utils",
+        "../../rtc_base:random",
         "../../rtc_base:refcount",
         "../../rtc_base:rtc_base_approved",
         "../../rtc_base:rtc_base_tests_utils",
@@ -491,6 +492,7 @@
       "../../rtc_base:atomicops",
       "../../rtc_base:platform_thread",
       "../../rtc_base:protobuf_utils",
+      "../../rtc_base:random",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_event",
       "../../rtc_base:safe_conversions",
@@ -643,6 +645,7 @@
     "../../api/audio:audio_frame_api",
     "../../common_audio",
     "../../rtc_base:checks",
+    "../../rtc_base:random",
     "../../rtc_base:refcount",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base/system:arch",
diff --git a/modules/audio_processing/aec3/BUILD.gn b/modules/audio_processing/aec3/BUILD.gn
index fee776f..01649c0 100644
--- a/modules/audio_processing/aec3/BUILD.gn
+++ b/modules/audio_processing/aec3/BUILD.gn
@@ -314,6 +314,7 @@
       "../../../api/audio:aec3_config",
       "../../../rtc_base:checks",
       "../../../rtc_base:macromagic",
+      "../../../rtc_base:random",
       "../../../rtc_base:rtc_base_approved",
       "../../../rtc_base:safe_minmax",
       "../../../rtc_base:stringutils",
diff --git a/modules/audio_processing/agc/BUILD.gn b/modules/audio_processing/agc/BUILD.gn
index 980542c..809c052 100644
--- a/modules/audio_processing/agc/BUILD.gn
+++ b/modules/audio_processing/agc/BUILD.gn
@@ -179,6 +179,7 @@
       "..:mocks",
       "../../../api:array_view",
       "../../../rtc_base:checks",
+      "../../../rtc_base:random",
       "../../../rtc_base:rtc_base_approved",
       "../../../rtc_base:safe_conversions",
       "../../../rtc_base:stringutils",
diff --git a/modules/audio_processing/agc2/BUILD.gn b/modules/audio_processing/agc2/BUILD.gn
index e1581da..fe58af3 100644
--- a/modules/audio_processing/agc2/BUILD.gn
+++ b/modules/audio_processing/agc2/BUILD.gn
@@ -306,6 +306,7 @@
   deps = [
     "..:audio_frame_view",
     "../../../rtc_base:checks",
+    "../../../rtc_base:random",
     "../../../rtc_base:rtc_base_approved",
   ]
 }
diff --git a/modules/congestion_controller/goog_cc/BUILD.gn b/modules/congestion_controller/goog_cc/BUILD.gn
index bbe199b..cce06ed 100644
--- a/modules/congestion_controller/goog_cc/BUILD.gn
+++ b/modules/congestion_controller/goog_cc/BUILD.gn
@@ -344,6 +344,7 @@
         "../../../logging:rtc_event_bwe",
         "../../../rtc_base:checks",
         "../../../rtc_base:logging",
+        "../../../rtc_base:random",
         "../../../rtc_base:rtc_base_approved",
         "../../../rtc_base:rtc_base_tests_utils",
         "../../../rtc_base:stringutils",
diff --git a/modules/congestion_controller/pcc/BUILD.gn b/modules/congestion_controller/pcc/BUILD.gn
index ad7ce2a..980a89f 100644
--- a/modules/congestion_controller/pcc/BUILD.gn
+++ b/modules/congestion_controller/pcc/BUILD.gn
@@ -36,6 +36,7 @@
     "../../../api/units:time_delta",
     "../../../api/units:timestamp",
     "../../../rtc_base:checks",
+    "../../../rtc_base:random",
     "../../../rtc_base:rtc_base_approved",
   ]
   absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index 04b7ce0..edafe33 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -62,6 +62,7 @@
       "../../rtc_base:checks",
       "../../rtc_base:logging",
       "../../rtc_base:platform_thread",
+      "../../rtc_base:random",
       "../../rtc_base:timeutils",
     ]
     if (rtc_desktop_capture_supported) {
@@ -125,6 +126,7 @@
       "../../rtc_base:checks",
       "../../rtc_base:logging",
       "../../rtc_base:macromagic",
+      "../../rtc_base:random",
       "../../rtc_base:timeutils",
 
       # TODO(bugs.webrtc.org/9987): Remove this dep on rtc_base:rtc_base once
@@ -488,6 +490,7 @@
     "../../rtc_base:checks",
     "../../rtc_base:logging",
     "../../rtc_base:macromagic",
+    "../../rtc_base:random",
     "../../rtc_base:refcount",
     "../../rtc_base:stringutils",
     "../../rtc_base:timeutils",
diff --git a/modules/remote_bitrate_estimator/BUILD.gn b/modules/remote_bitrate_estimator/BUILD.gn
index f54e5d3..b2a2ec7 100644
--- a/modules/remote_bitrate_estimator/BUILD.gn
+++ b/modules/remote_bitrate_estimator/BUILD.gn
@@ -129,6 +129,7 @@
       "../../api/units:data_rate",
       "../../rtc_base",
       "../../rtc_base:checks",
+      "../../rtc_base:random",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers",
       "../../test:field_trial",
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index b2a0ff0..8295baa 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -298,6 +298,7 @@
     "../../rtc_base:gtest_prod",
     "../../rtc_base:logging",
     "../../rtc_base:macromagic",
+    "../../rtc_base:random",
     "../../rtc_base:rate_limiter",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base:rtc_numerics",
@@ -436,6 +437,7 @@
     ":rtp_rtcp",
     ":rtp_rtcp_format",
     "../../rtc_base:checks",
+    "../../rtc_base:random",
     "../../rtc_base:rtc_base_approved",
   ]
 }
@@ -494,6 +496,7 @@
     deps = [
       ":rtp_rtcp",
       ":rtp_rtcp_format",
+      "../../rtc_base:random",
       "../../rtc_base:rtc_base_approved",
       "../../test:fileutils",
       "../../test:test_support",
@@ -622,6 +625,7 @@
       "../../rtc_base:checks",
       "../../rtc_base:logging",
       "../../rtc_base:macromagic",
+      "../../rtc_base:random",
       "../../rtc_base:rate_limiter",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_base_tests_utils",
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index 13b43da..ee9ae93 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -1259,6 +1259,7 @@
       "../../rtc_base",
       "../../rtc_base:checks",
       "../../rtc_base:platform_thread",
+      "../../rtc_base:random",
       "../../rtc_base:refcount",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_base_tests_utils",
diff --git a/net/dcsctp/socket/BUILD.gn b/net/dcsctp/socket/BUILD.gn
index 298393f..504d0c1 100644
--- a/net/dcsctp/socket/BUILD.gn
+++ b/net/dcsctp/socket/BUILD.gn
@@ -188,6 +188,7 @@
       "../../../api:array_view",
       "../../../api/task_queue:task_queue",
       "../../../rtc_base:logging",
+      "../../../rtc_base:random",
       "../../../rtc_base:rtc_base_approved",
       "../../../test:test_support",
       "../public:socket",
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index b7e4ba7..9420650 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -87,6 +87,7 @@
     ":macromagic",
     ":platform_thread",
     ":platform_thread_types",
+    ":random",
     ":refcount",
     ":rtc_event",
     ":safe_conversions",
@@ -133,8 +134,7 @@
     "one_time_event.h",
     "race_checker.cc",
     "race_checker.h",
-    "random.cc",
-    "random.h",
+    "random.h",  # Transitional, use :random
     "rate_statistics.cc",
     "rate_statistics.h",
     "rate_tracker.cc",
@@ -189,6 +189,18 @@
   deps = [ "system:arch" ]
 }
 
+rtc_library("random") {
+  visibility = [ "*" ]
+  sources = [
+    "random.cc",
+    "random.h",
+  ]
+  deps = [
+    ":checks",
+    ":safe_conversions",
+  ]
+}
+
 rtc_library("platform_thread_types") {
   sources = [
     "platform_thread_types.cc",
@@ -1413,6 +1425,7 @@
         ":macromagic",
         ":null_socket_server",
         ":platform_thread",
+        ":random",
         ":rate_limiter",
         ":refcount",
         ":rtc_base",
diff --git a/system_wrappers/BUILD.gn b/system_wrappers/BUILD.gn
index 433ec415..82e634e 100644
--- a/system_wrappers/BUILD.gn
+++ b/system_wrappers/BUILD.gn
@@ -145,6 +145,7 @@
       ":metrics",
       ":system_wrappers",
       "../rtc_base:checks",
+      "../rtc_base:random",
       "../rtc_base:rtc_base_approved",
       "../test:rtc_expect_death",
       "../test:test_main",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 88247f0..45cbb9e 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -69,6 +69,7 @@
     "../rtc_base:checks",
     "../rtc_base:criticalsection",
     "../rtc_base:logging",
+    "../rtc_base:random",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_event",
     "../rtc_base/synchronization:mutex",
diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn
index 487594d..725810d 100644
--- a/test/fuzzers/BUILD.gn
+++ b/test/fuzzers/BUILD.gn
@@ -406,6 +406,7 @@
     "../../modules/audio_coding:neteq_test_tools",
     "../../modules/audio_coding:neteq_tools_minimal",
     "../../modules/audio_coding:pcm16b",
+    "../../rtc_base:random",
     "../../rtc_base:rtc_base_approved",
     "../../rtc_base:safe_conversions",
   ]
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 76c49ec..adaa2d4 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -61,6 +61,7 @@
     "../../rtc_base:logging",
     "../../rtc_base:macromagic",
     "../../rtc_base:network_constants",
+    "../../rtc_base:random",
     "../../rtc_base:rtc_base_tests_utils",
     "../../rtc_base:rtc_event",
     "../../rtc_base:rtc_task_queue",
diff --git a/video/adaptation/BUILD.gn b/video/adaptation/BUILD.gn
index 7b77af3..d68a69c 100644
--- a/video/adaptation/BUILD.gn
+++ b/video/adaptation/BUILD.gn
@@ -102,6 +102,7 @@
       "../../modules/video_coding:video_coding_utility",
       "../../rtc_base:checks",
       "../../rtc_base:logging",
+      "../../rtc_base:random",
       "../../rtc_base:rtc_base_approved",
       "../../rtc_base:rtc_base_tests_utils",
       "../../rtc_base:rtc_event",