# 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") import("//testing/test.gni") group("pc") { deps = [ ":rtc_pc", ] } config("rtc_pc_config") { defines = [ "SRTP_RELATIVE_PATH", "HAVE_SCTP", "HAVE_SRTP", ] } source_set("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", "mediasink.h", "rtcpmuxfilter.cc", "rtcpmuxfilter.h", "srtpfilter.cc", "srtpfilter.h", "voicechannel.h", ] deps = [ "../base:rtc_base", "../media", ] if (build_with_chromium) { sources += [ "externalhmac.cc", "externalhmac.h", ] } if (rtc_build_libsrtp) { deps += [ "//third_party/libsrtp" ] } configs += [ "..:common_config" ] public_configs = [ "..:common_inherited_config", ":rtc_pc_config", ] if (is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 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. } } 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 += [ "..:common_config", ":rtc_pc_unittests_config", ] public_configs = [ "..:common_inherited_config" ] if (is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). 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" ] } } }