| # 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/candidate.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 (!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) { |
| 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: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 |
| |
| # Skip restricting visibility on mobile platforms since the tests on those |
| # gets additional generated targets which would require many lines here to |
| # cover (which would be confusing to read and hard to maintain). |
| if (!is_android && !is_ios) { |
| visibility = [ "..:rtc_unittests" ] |
| } |
| 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 |
| |
| # Skip restricting visibility on mobile platforms since the tests on those |
| # gets additional generated targets which would require many lines here to |
| # cover (which would be confusing to read and hard to maintain). |
| if (!is_android && !is_ios) { |
| visibility = [ "..:rtc_unittests" ] |
| } |
| 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" ] |
| } |
| } |