From a9cfa476fe5eeac310386d9bfa860836e5f759d7 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Sun, 24 Feb 2019 09:17:21 +0000 Subject: [PATCH] Revert "Delete rtc_task_queue_impl build target" This reverts commit 56973e627ee12c42b8dcb1fa506103626f9b24d4. Reason for revert: Breaks libfuzzer-asan Chromium trybots: E.g. https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux-libfuzzer-asan-rel/112220 Original change's description: > Delete rtc_task_queue_impl build target > > Bug: webrtc:10191 > Change-Id: I2ba660c403919708d28b5f5f2bdcffdb1e4ee486 > Reviewed-on: https://webrtc-review.googlesource.com/c/124040 > Reviewed-by: Mirko Bonadei > Commit-Queue: Danil Chapovalov > Cr-Commit-Position: refs/heads/master@{#26826} TBR=danilchap@webrtc.org,mbonadei@webrtc.org Change-Id: Ic04fc725e0a9cba84584ecf043b39b9d68f69bc7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10191 Reviewed-on: https://webrtc-review.googlesource.com/c/124124 Reviewed-by: Mirko Bonadei Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#26828} --- api/task_queue/BUILD.gn | 53 ++++++++++++++++++++++++++++++----------- rtc_base/BUILD.gn | 21 +++++++++------- test/fuzzers/BUILD.gn | 4 ++++ 3 files changed, 56 insertions(+), 22 deletions(-) diff --git a/api/task_queue/BUILD.gn b/api/task_queue/BUILD.gn index 9b1a5ac60f..578a212465 100644 --- a/api/task_queue/BUILD.gn +++ b/api/task_queue/BUILD.gn @@ -60,7 +60,9 @@ rtc_source_set("task_queue_test") { } rtc_source_set("default_task_queue_factory") { - visibility = [ "*" ] + # TODO(bugs.webrtc.org/10191): Make public when implemented for all + # supported platforms. + visibility = [ ":global_task_queue_factory" ] sources = [ "default_task_queue_factory.h", ] @@ -71,19 +73,42 @@ rtc_source_set("default_task_queue_factory") { # TODO(bugs.webrtc.org/10284): Include implementation unconditionally when # global task queue factory is removed. if (rtc_link_task_queue_impl) { - if (rtc_enable_libevent) { - sources += [ "default_task_queue_factory_libevent.cc" ] - deps += [ "../../rtc_base:rtc_task_queue_libevent" ] - } else if (is_mac || is_ios) { - sources += [ "default_task_queue_factory_gcd.cc" ] - deps += [ "../../rtc_base:rtc_task_queue_gcd" ] - } else if (is_win && current_os != "winuwp") { - sources += [ "default_task_queue_factory_win.cc" ] - deps += [ "../../rtc_base:rtc_task_queue_win" ] - } else { - sources += [ "default_task_queue_factory_stdlib.cc" ] - deps += [ "../../rtc_base:rtc_task_queue_stdlib" ] - } + deps += [ ":default_task_queue_factory_impl" ] + } +} + +# TODO(bugs.webrtc.org/10191): Merge back to default_task_queue_factory when +# rtc_task_queue_impl build target is removed. +rtc_source_set("default_task_queue_factory_impl") { + # Include the implementation when rtc_link_task_queue_impl is set to default + # value of true or when explicit dependency on "rtc_task_queue_impl" is added. + visibility = [ + ":default_task_queue_factory", + "../../rtc_base:rtc_task_queue_impl", + ] + deps = [ + ":task_queue_factory", + ] + if (rtc_enable_libevent) { + sources = [ + "default_task_queue_factory_libevent.cc", + ] + deps += [ "../../rtc_base:rtc_task_queue_libevent" ] + } else if (is_mac || is_ios) { + sources = [ + "default_task_queue_factory_gcd.cc", + ] + deps += [ "../../rtc_base:rtc_task_queue_gcd" ] + } else if (is_win && current_os != "winuwp") { + sources = [ + "default_task_queue_factory_win.cc", + ] + deps += [ "../../rtc_base:rtc_task_queue_win" ] + } else { + sources = [ + "default_task_queue_factory_stdlib.cc", + ] + deps += [ "../../rtc_base:rtc_task_queue_stdlib" ] } } diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 64282e2ed0..63b4f3f165 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -474,10 +474,7 @@ rtc_source_set("rtc_task_queue") { ] if (rtc_link_task_queue_impl) { - deps = [ - "../api/task_queue:default_task_queue_factory", - "../api/task_queue:global_task_queue_factory", - ] + deps += [ ":rtc_task_queue_impl" ] } } @@ -510,7 +507,7 @@ rtc_source_set("rtc_task_queue_api") { if (rtc_enable_libevent) { rtc_source_set("rtc_task_queue_libevent") { - visibility = [ "../api/task_queue:default_task_queue_factory" ] + visibility = [ "../api/task_queue:default_task_queue_factory_impl" ] sources = [ "task_queue_libevent.cc", "task_queue_libevent.h", @@ -537,7 +534,7 @@ if (rtc_enable_libevent) { if (is_mac || is_ios) { rtc_source_set("rtc_task_queue_gcd") { - visibility = [ "../api/task_queue:default_task_queue_factory" ] + visibility = [ "../api/task_queue:default_task_queue_factory_impl" ] sources = [ "task_queue_gcd.cc", "task_queue_gcd.h", @@ -555,7 +552,7 @@ if (is_mac || is_ios) { if (is_win) { rtc_source_set("rtc_task_queue_win") { - visibility = [ "../api/task_queue:default_task_queue_factory" ] + visibility = [ "../api/task_queue:default_task_queue_factory_impl" ] sources = [ "task_queue_win.cc", "task_queue_win.h", @@ -579,7 +576,7 @@ if (is_win) { } rtc_source_set("rtc_task_queue_stdlib") { - visibility = [ "../api/task_queue:default_task_queue_factory" ] + visibility = [ "../api/task_queue:default_task_queue_factory_impl" ] sources = [ "task_queue_stdlib.cc", "task_queue_stdlib.h", @@ -601,6 +598,14 @@ rtc_source_set("rtc_task_queue_stdlib") { ] } +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", diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index 88dec972f7..6e723e1548 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -47,6 +47,10 @@ template("webrtc_fuzzer_test") { deps += [ ":fuzz_data_helper", ":webrtc_fuzzer_main", + + # Link unconditionally with webrtc's TaskQueue, regardless of + # rtc_link_task_queue_impl flag. + "../../rtc_base:rtc_task_queue_impl", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).