blob: fe8711fa26485c4cb422d24b5d7d3b129c00347f [file] [log] [blame]
# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("../build/webrtc.gni")
group("pc") {
public_deps = [
":rtc_pc",
]
}
config("rtc_pc_config") {
defines = [
"HAVE_SCTP",
"HAVE_SRTP",
]
}
rtc_static_library("rtc_pc") {
defines = []
sources = [
"audiomonitor.cc",
"audiomonitor.h",
"bundlefilter.cc",
"bundlefilter.h",
"channel.cc",
"channel.h",
"channelmanager.cc",
"channelmanager.h",
"currentspeakermonitor.cc",
"currentspeakermonitor.h",
"mediamonitor.cc",
"mediamonitor.h",
"mediasession.cc",
"mediasession.h",
"rtcpmuxfilter.cc",
"rtcpmuxfilter.h",
"srtpfilter.cc",
"srtpfilter.h",
"voicechannel.h",
]
deps = [
"../api:call_api",
"../base:rtc_base",
"../media",
]
if (build_with_chromium) {
sources += [
"externalhmac.cc",
"externalhmac.h",
]
}
if (rtc_build_libsrtp) {
deps += [ "//third_party/libsrtp" ]
}
public_configs = [ ":rtc_pc_config" ]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
if (rtc_include_tests) {
config("rtc_pc_unittests_config") {
# GN orders flags on a target before flags from configs. The default config
# adds -Wall, and this flag have to be after -Wall -- so they need to
# come from a config and can't be on the target directly.
if (!is_win && !is_clang) {
cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
}
}
rtc_test("rtc_pc_unittests") {
testonly = true
sources = [
"bundlefilter_unittest.cc",
"channel_unittest.cc",
"channelmanager_unittest.cc",
"currentspeakermonitor_unittest.cc",
"mediasession_unittest.cc",
"rtcpmuxfilter_unittest.cc",
"srtpfilter_unittest.cc",
]
include_dirs = [ "//third_party/libsrtp/srtp" ]
configs += [ ":rtc_pc_unittests_config" ]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
if (is_win) {
libs = [ "strmiids.lib" ]
}
deps = [
":rtc_pc",
"../api:libjingle_peerconnection",
"../base:rtc_base_tests_utils",
"../media:rtc_unittest_main",
"../system_wrappers:metrics_default",
]
if (rtc_build_libsrtp) {
deps += [ "//third_party/libsrtp" ]
}
if (is_android) {
deps += [ "//testing/android/native_test:native_test_support" ]
}
}
}