# 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", ] } rtc_static_library("rtc_p2p") { visibility = [ "*" ] sources = [ "base/async_stun_tcp_socket.cc", "base/async_stun_tcp_socket.h", "base/asyncstuntcpsocket.h", "base/basic_async_resolver_factory.cc", "base/basic_async_resolver_factory.h", "base/basic_packet_socket_factory.cc", "base/basic_packet_socket_factory.h", "base/basicasyncresolverfactory.h", "base/basicpacketsocketfactory.h", "base/candidate_pair_interface.h", "base/candidatepairinterface.h", "base/dtls_transport.cc", "base/dtls_transport.h", "base/dtls_transport_internal.cc", "base/dtls_transport_internal.h", "base/dtlstransport.h", "base/dtlstransportinternal.h", "base/ice_credentials_iterator.cc", "base/ice_credentials_iterator.h", "base/ice_transport_internal.cc", "base/ice_transport_internal.h", "base/icecredentialsiterator.h", "base/icetransportinternal.h", "base/mdns_message.cc", "base/mdns_message.h", "base/no_op_dtls_transport.cc", "base/no_op_dtls_transport.h", "base/p2p_constants.cc", "base/p2p_constants.h", "base/p2p_transport_channel.cc", "base/p2p_transport_channel.h", "base/p2pconstants.h", "base/p2ptransportchannel.h", "base/packet_loss_estimator.cc", "base/packet_loss_estimator.h", "base/packet_socket_factory.cc", "base/packet_socket_factory.h", "base/packet_transport_interface.h", "base/packet_transport_internal.cc", "base/packet_transport_internal.h", "base/packetlossestimator.h", "base/packetsocketfactory.h", "base/packettransportinterface.h", "base/packettransportinternal.h", "base/port.cc", "base/port.h", "base/port_allocator.cc", "base/port_allocator.h", "base/port_interface.cc", "base/port_interface.h", "base/portallocator.h", "base/portinterface.h", "base/pseudo_tcp.cc", "base/pseudo_tcp.h", "base/pseudotcp.h", "base/regathering_controller.cc", "base/regathering_controller.h", "base/regatheringcontroller.h", "base/relay_port.cc", "base/relay_port.h", "base/relayport.h", "base/stun.cc", "base/stun.h", "base/stun_port.cc", "base/stun_port.h", "base/stun_request.cc", "base/stun_request.h", "base/stunport.h", "base/stunrequest.h", "base/tcp_port.cc", "base/tcp_port.h", "base/tcpport.h", "base/transport.h", "base/transport_description.cc", "base/transport_description.h", "base/transport_description_factory.cc", "base/transport_description_factory.h", "base/transport_factory_interface.h", "base/transport_info.h", "base/transportdescription.h", "base/transportdescriptionfactory.h", "base/transportfactoryinterface.h", "base/transportinfo.h", "base/turn_port.cc", "base/turn_port.h", "base/turnport.h", "base/udp_port.h", "base/udpport.h", "client/basic_port_allocator.cc", "client/basic_port_allocator.h", "client/basicportallocator.h", "client/relay_port_factory_interface.h", "client/relayportfactoryinterface.h", "client/turn_port_factory.cc", "client/turn_port_factory.h", "client/turnportfactory.h", ] deps = [ "../api:libjingle_peerconnection_api", "../api:ortc_api", "../api:scoped_refptr", "../api/transport:enums", "../logging:ice_log", "../logging:rtc_event_log_api", "../rtc_base:checks", "../rtc_base:rtc_base", "../rtc_base:safe_minmax", "../rtc_base:weak_ptr", "../rtc_base/network:sent_packet", "../rtc_base/system:rtc_export", "../rtc_base/third_party/base64", "../rtc_base/third_party/sigslot", "../system_wrappers:field_trial", "../system_wrappers:metrics", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] if (build_with_chromium) { if (is_nacl) { deps += [ "//native_client_sdk/src/libraries/nacl_io" ] } } } if (rtc_include_tests) { rtc_source_set("p2p_test_utils") { testonly = true sources = [ "base/fake_candidate_pair.h", "base/fake_dtls_transport.h", "base/fake_ice_transport.h", "base/fake_packet_transport.h", "base/fake_port_allocator.h", "base/fakecandidatepair.h", "base/fakedtlstransport.h", "base/fakeicetransport.h", "base/fakepackettransport.h", "base/fakeportallocator.h", "base/mock_async_resolver.h", "base/mock_ice_transport.h", "base/mockasyncresolver.h", "base/mockicetransport.h", "base/test_relay_server.h", "base/test_stun_server.cc", "base/test_stun_server.h", "base/test_turn_customizer.h", "base/test_turn_server.h", "base/testrelayserver.h", "base/teststunserver.h", "base/testturncustomizer.h", "base/testturnserver.h", ] deps = [ ":p2p_server_utils", ":rtc_p2p", "../api:libjingle_peerconnection_api", "../api:ortc_api", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../rtc_base/third_party/sigslot", "../test:test_support", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("rtc_p2p_unittests") { testonly = true sources = [ "base/async_stun_tcp_socket_unittest.cc", "base/basic_async_resolver_factory_unittest.cc", "base/dtls_transport_unittest.cc", "base/ice_credentials_iterator_unittest.cc", "base/mdns_message_unittest.cc", "base/p2p_transport_channel_unittest.cc", "base/packet_loss_estimator_unittest.cc", "base/port_allocator_unittest.cc", "base/port_unittest.cc", "base/pseudo_tcp_unittest.cc", "base/regathering_controller_unittest.cc", "base/relay_port_unittest.cc", "base/relay_server_unittest.cc", "base/stun_port_unittest.cc", "base/stun_request_unittest.cc", "base/stun_server_unittest.cc", "base/stun_unittest.cc", "base/tcp_port_unittest.cc", "base/transport_description_factory_unittest.cc", "base/turn_port_unittest.cc", "base/turn_server_unittest.cc", "client/basic_port_allocator_unittest.cc", ] deps = [ ":p2p_server_utils", ":p2p_test_utils", ":rtc_p2p", "../api:libjingle_peerconnection_api", "../api:ortc_api", "../api:scoped_refptr", "../api/units:time_delta", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../rtc_base:testclient", "../rtc_base/network:sent_packet", "../rtc_base/third_party/sigslot:sigslot", "../system_wrappers:metrics", "../test:test_support", "//testing/gtest", "//third_party/abseil-cpp/absl/memory", ] 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" ] } } } rtc_source_set("p2p_server_utils") { testonly = true sources = [ "base/relay_server.cc", "base/relay_server.h", "base/relayserver.h", "base/stun_server.cc", "base/stun_server.h", "base/stunserver.h", "base/turn_server.cc", "base/turn_server.h", "base/turnserver.h", ] deps = [ ":rtc_p2p", "../rtc_base:checks", "../rtc_base:rtc_base", "../rtc_base:rtc_base_tests_utils", "../rtc_base/third_party/sigslot", "//third_party/abseil-cpp/absl/memory", ] } rtc_static_library("libstunprober") { visibility = [ "*" ] sources = [ "stunprober/stun_prober.cc", "stunprober/stun_prober.h", "stunprober/stunprober.h", ] deps = [ ":rtc_p2p", "..:webrtc_common", "../rtc_base:checks", "../rtc_base:rtc_base", "../rtc_base/system:rtc_export", ] } if (rtc_include_tests) { rtc_source_set("libstunprober_unittests") { testonly = true sources = [ "stunprober/stun_prober_unittest.cc", ] deps = [ ":libstunprober", ":p2p_test_utils", ":rtc_p2p", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:rtc_base", "../rtc_base:rtc_base_tests_utils", "../test:test_support", "//testing/gtest", ] } }