# 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("../webrtc.gni") group("p2p") { public_deps = [ ":libstunprober", ":rtc_p2p", ] } config("rtc_p2p_inherited_config") { defines = [ "FEATURE_ENABLE_VOICEMAIL" ] } rtc_static_library("rtc_p2p") { sources = [ "base/asyncstuntcpsocket.cc", "base/asyncstuntcpsocket.h", "base/basicpacketsocketfactory.cc", "base/basicpacketsocketfactory.h", "base/candidatepairinterface.h", "base/common.h", "base/dtlstransport.cc", "base/dtlstransport.h", "base/dtlstransportinternal.cc", "base/dtlstransportinternal.h", "base/icetransportinternal.cc", "base/icetransportinternal.h", "base/jseptransport.cc", "base/jseptransport.h", "base/p2pconstants.cc", "base/p2pconstants.h", "base/p2ptransportchannel.cc", "base/p2ptransportchannel.h", "base/packetlossestimator.cc", "base/packetlossestimator.h", "base/packetsocketfactory.cc", "base/packetsocketfactory.h", "base/packettransportinterface.h", "base/packettransportinternal.cc", "base/packettransportinternal.h", "base/port.cc", "base/port.h", "base/portallocator.cc", "base/portallocator.h", "base/portinterface.cc", "base/portinterface.h", "base/pseudotcp.cc", "base/pseudotcp.h", "base/relayport.cc", "base/relayport.h", "base/session.cc", "base/session.h", "base/sessiondescription.cc", "base/sessiondescription.h", "base/stun.cc", "base/stun.h", "base/stunport.cc", "base/stunport.h", "base/stunrequest.cc", "base/stunrequest.h", "base/tcpport.cc", "base/tcpport.h", "base/transport.h", "base/transportdescription.cc", "base/transportdescription.h", "base/transportdescriptionfactory.cc", "base/transportdescriptionfactory.h", "base/transportinfo.h", "base/turnport.cc", "base/turnport.h", "base/udpport.h", "base/udptransport.cc", "base/udptransport.h", "client/basicportallocator.cc", "client/basicportallocator.h", "client/socketmonitor.cc", "client/socketmonitor.h", ] defines = [] deps = [ "../api:libjingle_peerconnection_api", "../api:optional", "../api:ortc_api", "../rtc_base:rtc_base", "../system_wrappers:field_trial_api", ] public_configs = [ ":rtc_p2p_inherited_config" ] if (build_with_chromium) { if (is_nacl) { deps += [ "//native_client_sdk/src/libraries/nacl_io" ] } } else { sources += [ "base/relayserver.cc", "base/relayserver.h", "base/stunserver.cc", "base/stunserver.h", "base/turnserver.cc", "base/turnserver.h", ] defines += [ "FEATURE_ENABLE_VOICEMAIL", "FEATURE_ENABLE_PSTN", ] } } if (rtc_include_tests) { rtc_source_set("p2p_test_utils") { testonly = true sources = [ "base/fakecandidatepair.h", "base/fakedtlstransport.h", "base/fakeicetransport.h", "base/fakepackettransport.h", "base/fakeportallocator.h", "base/mockicetransport.h", "base/testrelayserver.h", "base/teststunserver.cc", "base/teststunserver.h", "base/testturncustomizer.h", "base/testturnserver.h", ] deps = [ ":rtc_p2p", "../api:libjingle_peerconnection_api", "../api:ortc_api", "../rtc_base:rtc_base", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../test:test_support", "//testing/gmock", ] } rtc_source_set("rtc_p2p_unittests") { testonly = true sources = [ "base/asyncstuntcpsocket_unittest.cc", "base/dtlstransport_unittest.cc", "base/jseptransport_unittest.cc", "base/p2ptransportchannel_unittest.cc", "base/packetlossestimator_unittest.cc", "base/port_unittest.cc", "base/portallocator_unittest.cc", "base/pseudotcp_unittest.cc", "base/relayport_unittest.cc", "base/relayserver_unittest.cc", "base/stun_unittest.cc", "base/stunport_unittest.cc", "base/stunrequest_unittest.cc", "base/stunserver_unittest.cc", "base/tcpport_unittest.cc", "base/transportdescriptionfactory_unittest.cc", "base/turnport_unittest.cc", "base/turnserver_unittest.cc", "base/udptransport_unittest.cc", "client/basicportallocator_unittest.cc", ] deps = [ ":p2p_test_utils", ":rtc_p2p", "../api:fakemetricsobserver", "../api:ortc_api", "../rtc_base:rtc_base", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../test:test_support", "//testing/gmock", "//testing/gtest", ] 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" ] } defines = [ "GTEST_RELATIVE_PATH" ] } } rtc_static_library("libstunprober") { sources = [ "stunprober/stunprober.cc", "stunprober/stunprober.h", ] deps = [ ":rtc_p2p", "..:webrtc_common", "../rtc_base:rtc_base", ] } if (rtc_include_tests) { rtc_source_set("libstunprober_unittests") { testonly = true sources = [ "stunprober/stunprober_unittest.cc", ] deps = [ ":libstunprober", ":p2p_test_utils", ":rtc_p2p", "../rtc_base:rtc_base", "../rtc_base:rtc_base_tests_utils", "//testing/gmock", "//testing/gtest", ] defines = [ "GTEST_RELATIVE_PATH" ] } }