mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 22:36:09 +03:00
347 lines
8.7 KiB
Plaintext
347 lines
8.7 KiB
Plaintext
# Copyright (c) 2015 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")
|
|
if (is_android) {
|
|
import("//build/config/android/config.gni")
|
|
import("//build/config/android/rules.gni")
|
|
}
|
|
|
|
group("api") {
|
|
public_deps = [
|
|
":libjingle_peerconnection_api",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("call_api") {
|
|
sources = [
|
|
"call/audio_sink.h",
|
|
]
|
|
|
|
deps = [
|
|
# TODO(kjellander): Add remaining dependencies when webrtc:4243 is done.
|
|
":audio_mixer_api",
|
|
":transport_api",
|
|
"..:webrtc_common",
|
|
"../rtc_base:rtc_base_approved",
|
|
"audio_codecs:audio_codecs_api",
|
|
]
|
|
}
|
|
|
|
rtc_static_library("libjingle_peerconnection_api") {
|
|
cflags = []
|
|
sources = [
|
|
"candidate.h",
|
|
"datachannelinterface.h",
|
|
"dtmfsenderinterface.h",
|
|
"jsep.h",
|
|
"jsepicecandidate.h",
|
|
"jsepsessiondescription.h",
|
|
"mediaconstraintsinterface.cc",
|
|
"mediaconstraintsinterface.h",
|
|
"mediastreaminterface.cc",
|
|
"mediastreamproxy.h",
|
|
"mediastreamtrackproxy.h",
|
|
"mediatypes.cc",
|
|
"mediatypes.h",
|
|
"notifier.h",
|
|
"peerconnectionfactoryproxy.h",
|
|
"peerconnectionproxy.h",
|
|
"proxy.h",
|
|
"rtcerror.cc",
|
|
"rtcerror.h",
|
|
"rtpparameters.cc",
|
|
"rtpparameters.h",
|
|
"rtpreceiverinterface.h",
|
|
"rtpsenderinterface.h",
|
|
"statstypes.cc",
|
|
"statstypes.h",
|
|
"turncustomizer.h",
|
|
"umametrics.h",
|
|
"videosourceproxy.h",
|
|
]
|
|
|
|
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" ]
|
|
}
|
|
|
|
public_deps = [
|
|
":libjingle_api_deprecated_headers",
|
|
":mediastream_interface_and_implicit_video_frame_api",
|
|
":peerconnection_and_implicit_call_api",
|
|
]
|
|
|
|
deps = [
|
|
# Basically, don't add stuff here. You might break sensitive downstream
|
|
# targets like pnacl. API should not depend on anything, really. All these
|
|
# should go away, in time.
|
|
":optional",
|
|
":rtc_stats_api",
|
|
"..:webrtc_common",
|
|
"../rtc_base:rtc_base",
|
|
"../rtc_base:rtc_base_approved",
|
|
"audio_codecs:audio_codecs_api",
|
|
]
|
|
|
|
# This is needed until bugs.webrtc.org/7504 is removed so this target can
|
|
# properly depend on ../media:rtc_media_base
|
|
# TODO(kjellander): Remove this dependency.
|
|
if (is_nacl) {
|
|
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
|
|
}
|
|
}
|
|
|
|
rtc_source_set("peerconnection_and_implicit_call_api") {
|
|
# The peerconnectioninterface.h file pulls in call/callfactoryinterface.h
|
|
# and the entire call module with it. We need to either get rid of this
|
|
# dependency or pull most of call/ into the API. For now, silence the warnings
|
|
# this creates since it creates a circular dependency (call very much depends
|
|
# on API). See bugs.webrtc.org/7504.
|
|
check_includes = false
|
|
sources = [
|
|
"peerconnectioninterface.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("mediastream_interface_and_implicit_video_frame_api") {
|
|
# The mediastreaminterface.h file pulls in in video_frame.h, but the
|
|
# system_wrappers dependency that comes with that breaks pnacl downstream.
|
|
# TODO(phoglund): solve this (see bugs.webrtc.org/7504).
|
|
check_includes = false
|
|
sources = [
|
|
"mediastreaminterface.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("libjingle_api_deprecated_headers") {
|
|
# We need to include headers from undeclared targets here, since they cause
|
|
# circular dependencies. These deprecated headers are going away anyway.
|
|
# See http://bugs.webrtc.org/5883.
|
|
check_includes = false
|
|
sources = [
|
|
"datachannel.h",
|
|
"mediastream.h",
|
|
"mediastreamtrack.h",
|
|
"rtpsender.h",
|
|
"streamcollection.h",
|
|
"videotracksource.h",
|
|
"webrtcsdp.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("libjingle_logging_api") {
|
|
sources = [
|
|
"rtceventlogoutput.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("ortc_api") {
|
|
check_includes = false # TODO(deadbeef): Remove (bugs.webrtc.org/6828)
|
|
sources = [
|
|
"ortc/mediadescription.cc",
|
|
"ortc/mediadescription.h",
|
|
"ortc/ortcfactoryinterface.h",
|
|
"ortc/ortcrtpreceiverinterface.h",
|
|
"ortc/ortcrtpsenderinterface.h",
|
|
"ortc/packettransportinterface.h",
|
|
"ortc/rtptransportcontrollerinterface.h",
|
|
"ortc/rtptransportinterface.h",
|
|
"ortc/sessiondescription.cc",
|
|
"ortc/sessiondescription.h",
|
|
"ortc/srtptransportinterface.h",
|
|
"ortc/udptransportinterface.h",
|
|
]
|
|
|
|
# For mediastreaminterface.h, etc.
|
|
# TODO(deadbeef): Create a separate target for the common things ORTC and
|
|
# PeerConnection code shares, so that ortc_api can depend on that instead of
|
|
# libjingle_peerconnection_api.
|
|
public_deps = [
|
|
":libjingle_peerconnection_api",
|
|
]
|
|
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" ]
|
|
}
|
|
}
|
|
|
|
# TODO(ossu): Remove once downstream projects have updated.
|
|
rtc_source_set("libjingle_peerconnection") {
|
|
public_deps = [
|
|
"../pc:libjingle_peerconnection",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("rtc_stats_api") {
|
|
cflags = []
|
|
sources = [
|
|
"stats/rtcstats.h",
|
|
"stats/rtcstats_objects.h",
|
|
"stats/rtcstatscollectorcallback.h",
|
|
"stats/rtcstatsreport.h",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("audio_mixer_api") {
|
|
sources = [
|
|
"audio/audio_mixer.h",
|
|
]
|
|
|
|
deps = [
|
|
"../modules:module_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("transport_api") {
|
|
sources = [
|
|
"call/transport.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("video_frame_api") {
|
|
sources = [
|
|
"video/i420_buffer.cc",
|
|
"video/i420_buffer.h",
|
|
"video/video_content_type.cc",
|
|
"video/video_content_type.h",
|
|
"video/video_frame.cc",
|
|
"video/video_frame.h",
|
|
"video/video_frame_buffer.cc",
|
|
"video/video_frame_buffer.h",
|
|
"video/video_rotation.h",
|
|
"video/video_timing.cc",
|
|
"video/video_timing.h",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
"../system_wrappers",
|
|
]
|
|
|
|
# TODO(nisse): This logic is duplicated in multiple places.
|
|
# Define in a single place.
|
|
if (rtc_build_libyuv) {
|
|
deps += [ "$rtc_libyuv_dir" ]
|
|
public_deps = [
|
|
"$rtc_libyuv_dir",
|
|
]
|
|
} else {
|
|
# Need to add a directory normally exported by libyuv.
|
|
include_dirs = [ "$rtc_libyuv_dir/include" ]
|
|
}
|
|
}
|
|
|
|
rtc_source_set("array_view") {
|
|
sources = [
|
|
"array_view.h",
|
|
]
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("optional") {
|
|
sources = [
|
|
"optional.cc",
|
|
"optional.h",
|
|
]
|
|
deps = [
|
|
":array_view",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("libjingle_peerconnection_test_api") {
|
|
testonly = true
|
|
sources = [
|
|
"test/fakeconstraints.h",
|
|
]
|
|
|
|
public_deps = [
|
|
":libjingle_peerconnection_api",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("mock_audio_mixer") {
|
|
testonly = true
|
|
sources = [
|
|
"test/mock_audio_mixer.h",
|
|
]
|
|
|
|
public_deps = [
|
|
":audio_mixer_api",
|
|
]
|
|
|
|
deps = [
|
|
"../test:test_support",
|
|
"//testing/gmock",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("fakemetricsobserver") {
|
|
testonly = true
|
|
sources = [
|
|
"fakemetricsobserver.cc",
|
|
"fakemetricsobserver.h",
|
|
]
|
|
deps = [
|
|
":libjingle_peerconnection_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
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("rtc_api_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 = [
|
|
"array_view_unittest.cc",
|
|
"optional_unittest.cc",
|
|
"ortc/mediadescription_unittest.cc",
|
|
"ortc/sessiondescription_unittest.cc",
|
|
"rtcerror_unittest.cc",
|
|
"rtpparameters_unittest.cc",
|
|
]
|
|
|
|
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" ]
|
|
}
|
|
|
|
deps = [
|
|
":array_view",
|
|
":libjingle_peerconnection_api",
|
|
":optional",
|
|
":ortc_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
"../rtc_base:rtc_base_tests_utils",
|
|
"../test:test_support",
|
|
]
|
|
}
|
|
}
|