1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 2*d9f75844SAndroid Build Coastguard Worker# 3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 8*d9f75844SAndroid Build Coastguard Worker 9*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni") 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Workerrtc_library("task_queue") { 12*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 13*d9f75844SAndroid Build Coastguard Worker public = [ 14*d9f75844SAndroid Build Coastguard Worker "task_queue_base.h", 15*d9f75844SAndroid Build Coastguard Worker "task_queue_factory.h", 16*d9f75844SAndroid Build Coastguard Worker ] 17*d9f75844SAndroid Build Coastguard Worker sources = [ "task_queue_base.cc" ] 18*d9f75844SAndroid Build Coastguard Worker 19*d9f75844SAndroid Build Coastguard Worker deps = [ 20*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 21*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:macromagic", 22*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:rtc_export", 23*d9f75844SAndroid Build Coastguard Worker "../units:time_delta", 24*d9f75844SAndroid Build Coastguard Worker ] 25*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 26*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:config", 27*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:core_headers", 28*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/functional:any_invocable", 29*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 30*d9f75844SAndroid Build Coastguard Worker ] 31*d9f75844SAndroid Build Coastguard Worker} 32*d9f75844SAndroid Build Coastguard Worker 33*d9f75844SAndroid Build Coastguard Workerrtc_library("task_queue_test") { 34*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 35*d9f75844SAndroid Build Coastguard Worker testonly = true 36*d9f75844SAndroid Build Coastguard Worker sources = [ 37*d9f75844SAndroid Build Coastguard Worker "task_queue_test.cc", 38*d9f75844SAndroid Build Coastguard Worker "task_queue_test.h", 39*d9f75844SAndroid Build Coastguard Worker ] 40*d9f75844SAndroid Build Coastguard Worker 41*d9f75844SAndroid Build Coastguard Worker check_includes = false # no-presubmit-check TODO(bugs.webrtc.org/9419) 42*d9f75844SAndroid Build Coastguard Worker if (build_with_chromium) { 43*d9f75844SAndroid Build Coastguard Worker visibility = [] 44*d9f75844SAndroid Build Coastguard Worker visibility = webrtc_default_visibility 45*d9f75844SAndroid Build Coastguard Worker visibility += [ 46*d9f75844SAndroid Build Coastguard Worker # This is the only Chromium targets that can depend on this. The reason 47*d9f75844SAndroid Build Coastguard Worker # behind this is the fact that these are 'testonly' targets and as such 48*d9f75844SAndroid Build Coastguard Worker # it cannot be part of the WebRTC component. 49*d9f75844SAndroid Build Coastguard Worker "//components/webrtc:unit_tests", 50*d9f75844SAndroid Build Coastguard Worker "//third_party/blink/renderer/platform:blink_platform_unittests_sources", 51*d9f75844SAndroid Build Coastguard Worker ] 52*d9f75844SAndroid Build Coastguard Worker 53*d9f75844SAndroid Build Coastguard Worker # Don't depend on WebRTC code outside of webrtc_overrides:webrtc_component 54*d9f75844SAndroid Build Coastguard Worker # because this will break the WebRTC component build in Chromium. 55*d9f75844SAndroid Build Coastguard Worker deps = [ 56*d9f75844SAndroid Build Coastguard Worker "../../../webrtc_overrides:webrtc_component", 57*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 58*d9f75844SAndroid Build Coastguard Worker ] 59*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 60*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/cleanup", 61*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 62*d9f75844SAndroid Build Coastguard Worker ] 63*d9f75844SAndroid Build Coastguard Worker } else { 64*d9f75844SAndroid Build Coastguard Worker deps = [ 65*d9f75844SAndroid Build Coastguard Worker ":default_task_queue_factory", 66*d9f75844SAndroid Build Coastguard Worker ":task_queue", 67*d9f75844SAndroid Build Coastguard Worker "../../api:field_trials_view", 68*d9f75844SAndroid Build Coastguard Worker "../../api/units:time_delta", 69*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:refcount", 70*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_event", 71*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:timeutils", 72*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 73*d9f75844SAndroid Build Coastguard Worker ] 74*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 75*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/cleanup", 76*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 77*d9f75844SAndroid Build Coastguard Worker ] 78*d9f75844SAndroid Build Coastguard Worker } 79*d9f75844SAndroid Build Coastguard Worker} 80*d9f75844SAndroid Build Coastguard Worker 81*d9f75844SAndroid Build Coastguard Workerrtc_library("default_task_queue_factory") { 82*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 83*d9f75844SAndroid Build Coastguard Worker if (!is_ios && !is_android) { 84*d9f75844SAndroid Build Coastguard Worker poisonous = [ "default_task_queue" ] 85*d9f75844SAndroid Build Coastguard Worker } 86*d9f75844SAndroid Build Coastguard Worker sources = [ "default_task_queue_factory.h" ] 87*d9f75844SAndroid Build Coastguard Worker deps = [ 88*d9f75844SAndroid Build Coastguard Worker ":task_queue", 89*d9f75844SAndroid Build Coastguard Worker "../../api:field_trials_view", 90*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/memory:always_valid_pointer", 91*d9f75844SAndroid Build Coastguard Worker ] 92*d9f75844SAndroid Build Coastguard Worker 93*d9f75844SAndroid Build Coastguard Worker if (rtc_enable_libevent) { 94*d9f75844SAndroid Build Coastguard Worker if (is_android) { 95*d9f75844SAndroid Build Coastguard Worker sources += 96*d9f75844SAndroid Build Coastguard Worker [ "default_task_queue_factory_stdlib_or_libevent_experiment.cc" ] 97*d9f75844SAndroid Build Coastguard Worker deps += [ 98*d9f75844SAndroid Build Coastguard Worker "../../api/transport:field_trial_based_config", 99*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 100*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_task_queue_libevent", 101*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_task_queue_stdlib", 102*d9f75844SAndroid Build Coastguard Worker ] 103*d9f75844SAndroid Build Coastguard Worker } else { 104*d9f75844SAndroid Build Coastguard Worker sources += [ "default_task_queue_factory_libevent.cc" ] 105*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base:rtc_task_queue_libevent" ] 106*d9f75844SAndroid Build Coastguard Worker } 107*d9f75844SAndroid Build Coastguard Worker } else if (is_mac || is_ios) { 108*d9f75844SAndroid Build Coastguard Worker sources += [ "default_task_queue_factory_gcd.cc" ] 109*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base:rtc_task_queue_gcd" ] 110*d9f75844SAndroid Build Coastguard Worker } else if (is_win && current_os != "winuwp") { 111*d9f75844SAndroid Build Coastguard Worker sources += [ "default_task_queue_factory_win.cc" ] 112*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base:rtc_task_queue_win" ] 113*d9f75844SAndroid Build Coastguard Worker } else { 114*d9f75844SAndroid Build Coastguard Worker sources += [ "default_task_queue_factory_stdlib.cc" ] 115*d9f75844SAndroid Build Coastguard Worker deps += [ "../../rtc_base:rtc_task_queue_stdlib" ] 116*d9f75844SAndroid Build Coastguard Worker } 117*d9f75844SAndroid Build Coastguard Worker} 118*d9f75844SAndroid Build Coastguard Worker 119*d9f75844SAndroid Build Coastguard Workerrtc_library("pending_task_safety_flag") { 120*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 121*d9f75844SAndroid Build Coastguard Worker sources = [ 122*d9f75844SAndroid Build Coastguard Worker "pending_task_safety_flag.cc", 123*d9f75844SAndroid Build Coastguard Worker "pending_task_safety_flag.h", 124*d9f75844SAndroid Build Coastguard Worker ] 125*d9f75844SAndroid Build Coastguard Worker deps = [ 126*d9f75844SAndroid Build Coastguard Worker "../../api:refcountedbase", 127*d9f75844SAndroid Build Coastguard Worker "../../api:scoped_refptr", 128*d9f75844SAndroid Build Coastguard Worker "../../api:sequence_checker", 129*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:checks", 130*d9f75844SAndroid Build Coastguard Worker "../../rtc_base/system:no_unique_address", 131*d9f75844SAndroid Build Coastguard Worker ] 132*d9f75844SAndroid Build Coastguard Worker absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ] 133*d9f75844SAndroid Build Coastguard Worker} 134*d9f75844SAndroid Build Coastguard Worker 135*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) { 136*d9f75844SAndroid Build Coastguard Worker rtc_library("task_queue_default_factory_unittests") { 137*d9f75844SAndroid Build Coastguard Worker testonly = true 138*d9f75844SAndroid Build Coastguard Worker sources = [ "default_task_queue_factory_unittest.cc" ] 139*d9f75844SAndroid Build Coastguard Worker deps = [ 140*d9f75844SAndroid Build Coastguard Worker ":default_task_queue_factory", 141*d9f75844SAndroid Build Coastguard Worker ":task_queue_test", 142*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 143*d9f75844SAndroid Build Coastguard Worker ] 144*d9f75844SAndroid Build Coastguard Worker } 145*d9f75844SAndroid Build Coastguard Worker 146*d9f75844SAndroid Build Coastguard Worker rtc_library("pending_task_safety_flag_unittests") { 147*d9f75844SAndroid Build Coastguard Worker testonly = true 148*d9f75844SAndroid Build Coastguard Worker sources = [ "pending_task_safety_flag_unittest.cc" ] 149*d9f75844SAndroid Build Coastguard Worker deps = [ 150*d9f75844SAndroid Build Coastguard Worker ":pending_task_safety_flag", 151*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:logging", 152*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_event", 153*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:rtc_task_queue", 154*d9f75844SAndroid Build Coastguard Worker "../../rtc_base:task_queue_for_test", 155*d9f75844SAndroid Build Coastguard Worker "../../test:test_support", 156*d9f75844SAndroid Build Coastguard Worker ] 157*d9f75844SAndroid Build Coastguard Worker } 158*d9f75844SAndroid Build Coastguard Worker} 159