Merge rtc_task_queue(_api|_impl)? build targets into one
Ignore rtc_link_task_queue_impl flag,
instead use build_with_chromium for custom chromium implementation injection
This changes TaskQueue implementation used in webrtc fuzzers in chromium:
from own webrtc implementation to chromium's.
Bug: webrtc:10191
Change-Id: I63be28b680ae8ea8ee1dbf0c699263c392ce29d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125196
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26977}diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index bb4a256..84d558c 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -468,46 +468,33 @@
rtc_source_set("rtc_task_queue") {
visibility = [ "*" ]
- deps = []
- public_deps = [
- ":rtc_task_queue_api",
- ]
-
- if (rtc_link_task_queue_impl) {
- deps += [ ":rtc_task_queue_impl" ]
- }
-}
-
-# WebRTC targets must not directly depend on rtc_task_queue_api or
-# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
-# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
-# to the default implemenation in rtc_task_queue_impl or if an externally
-# provided implementation should be used. An external implementation should
-# depend on rtc_task_queue_api.
-rtc_source_set("rtc_task_queue_api") {
- # The visibility list is commented out so that we won't break external
- # implementations, but left here to manually test as well as for sake of what
- # targets we expect to depend on rtc_task_queue_api.
- # visibility = [
- # ":rtc_task_queue",
- # ":rtc_task_queue_impl",
- # ":sequenced_task_checker",
- # ]
sources = [
+ "task_queue.cc",
"task_queue.h",
]
deps = [
":macromagic",
"../api/task_queue",
+ "../api/task_queue:global_task_queue_factory",
"system:rtc_export",
"task_utils:to_queued_task",
"//third_party/abseil-cpp/absl/memory",
]
+
+ # TODO(danilchap): Move this conditional dependency to global_task_queue_factory
+ # after removing task_queue_impl -> global_task_queue_factory dependency in chromium.
+ if (build_with_chromium) {
+ deps += [ "../../webrtc_overrides:task_queue_impl" ]
+ }
+}
+
+rtc_source_set("rtc_task_queue_api") {
+ visibility = [ "*" ]
}
if (rtc_enable_libevent) {
rtc_source_set("rtc_task_queue_libevent") {
- visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+ visibility = [ "../api/task_queue:default_task_queue_factory" ]
sources = [
"task_queue_libevent.cc",
"task_queue_libevent.h",
@@ -533,7 +520,7 @@
if (is_mac || is_ios) {
rtc_source_set("rtc_task_queue_gcd") {
- visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+ visibility = [ "../api/task_queue:default_task_queue_factory" ]
sources = [
"task_queue_gcd.cc",
"task_queue_gcd.h",
@@ -550,7 +537,7 @@
if (is_win) {
rtc_source_set("rtc_task_queue_win") {
- visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+ visibility = [ "../api/task_queue:default_task_queue_factory" ]
sources = [
"task_queue_win.cc",
"task_queue_win.h",
@@ -562,7 +549,6 @@
":macromagic",
":platform_thread",
":rtc_event",
- ":rtc_task_queue_api",
":safe_conversions",
":timeutils",
"../api/task_queue",
@@ -573,7 +559,7 @@
}
rtc_source_set("rtc_task_queue_stdlib") {
- visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+ visibility = [ "../api/task_queue:default_task_queue_factory" ]
sources = [
"task_queue_stdlib.cc",
"task_queue_stdlib.h",
@@ -585,7 +571,6 @@
":macromagic",
":platform_thread",
":rtc_event",
- ":rtc_task_queue_api",
":safe_conversions",
":timeutils",
"../api/task_queue",
@@ -594,14 +579,6 @@
]
}
-rtc_source_set("rtc_task_queue_impl") {
- visibility = [ "*" ]
- deps = [
- "../api/task_queue:default_task_queue_factory_impl",
- "../api/task_queue:global_task_queue_factory",
- ]
-}
-
rtc_source_set("sequenced_task_checker") {
sources = [
"sequenced_task_checker.h",