| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chromecast_build.gni") |
| |
| group("webrtc_overrides") { |
| public_deps = [ |
| ":webrtc", |
| ] |
| } |
| |
| source_set("webrtc") { |
| public_deps = [ |
| # TODO(kjellander): Start cleaning up this target as soon as |
| # https://codereview.chromium.org/2022833002/ is landed. The target should |
| # be removed entirely if possible. |
| "//third_party/webrtc/rtc_base:rtc_base_approved", |
| ] |
| deps = [ |
| "//third_party/webrtc/p2p:rtc_p2p", |
| ] |
| |
| # When Chromium is built for NACL or Chromecast, WebRTC provides a |
| # field_trial implementation so there is no need to depend on |
| # ":field_trial". |
| # This configuration happens here: |
| # https://cs.chromium.org/chromium/src/third_party/webrtc/webrtc.gni?l=44-51&rcl=95c56eebe0a2b31ad5752138d15b431124e17d36 |
| if (!is_chromecast && !is_nacl) { |
| # When Chromium doesn't build for NaCL or Chromecast, WebRTC doesn't |
| # provide an implementation for field_trial and a custom one (that uses |
| # base/metrics/field_trial.h is provided). |
| deps += [ |
| ":field_trial", |
| "//base", |
| ] |
| } |
| |
| configs += [ "//third_party/webrtc:common_config" ] |
| public_configs = [ "//third_party/webrtc:common_inherited_config" ] |
| } |
| |
| static_library("init_webrtc") { |
| sources = [ |
| "init_webrtc.cc", |
| "init_webrtc.h", |
| ] |
| configs += [ "//third_party/webrtc:common_config" ] |
| public_configs = [ |
| "//third_party/webrtc:common_inherited_config", |
| |
| # TODO(mbonadei): Abseil config propagation is needed because |
| # WebRTC's BUILD.gn files don't use `public_deps`, there are |
| # good reasons for this, but they may disappear in the future. |
| # In that case it is ok to remove these two lines. |
| "//third_party/abseil-cpp:absl_include_config", |
| "//third_party/abseil-cpp:absl_define_config", |
| ] |
| public_deps = [ |
| ":libjingle_webrtc_common", |
| ] |
| deps = [ |
| ":metrics", |
| ":task_queue_impl", |
| "//base", |
| "//third_party/webrtc/rtc_base", |
| "//third_party/webrtc/system_wrappers", |
| ] |
| } |
| |
| static_library("metrics") { |
| sources = [ |
| "metrics.cc", |
| ] |
| deps = [ |
| "//base", |
| ] |
| } |
| |
| static_library("field_trial") { |
| sources = [ |
| "field_trial.cc", |
| ] |
| deps = [ |
| "//base", |
| ] |
| } |
| |
| source_set("libjingle_webrtc_common") { |
| configs += [ "//third_party/webrtc:common_config" ] |
| public_configs = [ "//third_party/webrtc:common_inherited_config" ] |
| |
| deps = [ |
| ":webrtc", |
| "//third_party/webrtc/media:rtc_media", |
| "//third_party/webrtc/media:rtc_media_base", |
| "//third_party/webrtc/modules/video_capture", |
| "//third_party/webrtc/pc:libjingle_peerconnection", |
| "//third_party/webrtc/pc:rtc_pc", |
| "//third_party/webrtc/system_wrappers", |
| ] |
| } |
| |
| # TODO(bugs.webrtc.org/10284): Remove when TaskQueue factory is propagated |
| # explicetely to all components that needs it. |
| source_set("task_queue_impl") { |
| sources = [ |
| "task_queue_impl.cc", |
| ] |
| configs += [ "//third_party/webrtc:library_impl_config" ] |
| deps = [ |
| ":task_queue_factory", |
| "//third_party/webrtc/api/task_queue:global_task_queue_factory", |
| ] |
| } |
| |
| source_set("task_queue_factory") { |
| sources = [ |
| "task_queue_factory.cc", |
| "task_queue_factory.h", |
| ] |
| deps = [ |
| "//base", |
| "//third_party/webrtc/api/task_queue", |
| "//third_party/webrtc/api/task_queue:task_queue_factory", |
| ] |
| } |