blob: bf66c44a4192b5cfe8edd98a6464959726b83a4c [file] [log] [blame]
deadbeef4b1bf6c2017-02-22 23:45:38 -08001# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../webrtc.gni")
10if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
14
deadbeefe814a0d2017-02-25 18:15:09 -080015rtc_static_library("ortc") {
16 defines = []
17 sources = [
18 "ortcfactory.cc",
19 "ortcfactory.h",
20 "ortcrtpreceiveradapter.cc",
21 "ortcrtpreceiveradapter.h",
22 "ortcrtpsenderadapter.cc",
23 "ortcrtpsenderadapter.h",
24 "rtpparametersconversion.cc",
25 "rtpparametersconversion.h",
26 "rtptransportadapter.cc",
27 "rtptransportadapter.h",
28 "rtptransportcontrolleradapter.cc",
29 "rtptransportcontrolleradapter.h",
30 ]
31
32 # TODO(deadbeef): Create a separate target for the common things ORTC and
33 # PeerConnection code shares, so that ortc can depend on that instead of
34 # libjingle_peerconnection.
35 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +010036 "../api:libjingle_peerconnection_api",
kwiberg84f6a3f2017-09-05 08:43:13 -070037 "../api:optional",
Mirko Bonadeidaf70082017-12-04 11:47:17 +010038 "../api:ortc_api",
mbonadeicde25282017-04-11 02:52:49 -070039 "../call:call_interfaces",
sprangdb2a9fc2017-08-09 06:42:32 -070040 "../call:rtp_sender",
mbonadeicde25282017-04-11 02:52:49 -070041 "../logging:rtc_event_log_api",
Qingsi Wang970b0882018-02-01 11:04:46 -080042 "../logging:rtc_event_log_impl_base",
Mirko Bonadei75baa492018-01-11 17:07:30 +010043 "../media:rtc_audio_video",
mbonadeicde25282017-04-11 02:52:49 -070044 "../media:rtc_media",
45 "../media:rtc_media_base",
peaha9cc40b2017-06-29 08:32:09 -070046 "../modules/audio_processing:audio_processing",
mbonadeicde25282017-04-11 02:52:49 -070047 "../p2p:rtc_p2p",
deadbeefe814a0d2017-02-25 18:15:09 -080048 "../pc:libjingle_peerconnection",
Mirko Bonadeie51f7852017-12-06 11:23:19 +010049 "../pc:peerconnection",
mbonadeicde25282017-04-11 02:52:49 -070050 "../pc:rtc_pc",
Mirko Bonadeie51f7852017-12-06 11:23:19 +010051 "../pc:rtc_pc_base",
Patrik Höglunda8005cf2017-12-13 16:05:42 +010052 "../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -070053 "../rtc_base:rtc_base",
54 "../rtc_base:rtc_base_approved",
deadbeefe814a0d2017-02-25 18:15:09 -080055 ]
56
deadbeefe814a0d2017-02-25 18:15:09 -080057 if (!build_with_chromium && is_clang) {
58 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
59 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
60 }
61}
62
deadbeef4b1bf6c2017-02-22 23:45:38 -080063if (rtc_include_tests) {
64 rtc_test("ortc_unittests") {
65 testonly = true
66
67 sources = [
deadbeefe814a0d2017-02-25 18:15:09 -080068 "ortcfactory_integrationtest.cc",
69 "ortcfactory_unittest.cc",
70 "ortcrtpreceiver_unittest.cc",
71 "ortcrtpsender_unittest.cc",
72 "rtpparametersconversion_unittest.cc",
73 "rtptransport_unittest.cc",
74 "rtptransportcontroller_unittest.cc",
zhihuangd3501ad2017-03-03 14:39:06 -080075 "srtptransport_unittest.cc",
deadbeefe814a0d2017-02-25 18:15:09 -080076 "testrtpparameters.cc",
77 "testrtpparameters.h",
deadbeef4b1bf6c2017-02-22 23:45:38 -080078 ]
79
80 deps = [
deadbeefe814a0d2017-02-25 18:15:09 -080081 ":ortc",
Patrik Höglund7aee3d52017-11-15 13:15:17 +010082 "../api:libjingle_peerconnection_api",
Mirko Bonadeidaf70082017-12-04 11:47:17 +010083 "../api:ortc_api",
Karl Wiberg3e9e5b32017-11-06 05:01:56 +010084 "../api/audio_codecs:builtin_audio_decoder_factory",
85 "../api/audio_codecs:builtin_audio_encoder_factory",
mbonadei9087d492017-04-25 00:35:35 -070086 "../media:rtc_media_tests_utils",
deadbeef59edb922017-04-18 15:49:09 -070087 "../p2p:p2p_test_utils",
mbonadeicde25282017-04-11 02:52:49 -070088 "../p2p:rtc_p2p",
deadbeefe814a0d2017-02-25 18:15:09 -080089 "../pc:pc_test_utils",
ehmaldonadof6a861a2017-07-19 10:40:47 -070090 "../rtc_base:rtc_base",
91 "../rtc_base:rtc_base_approved",
92 "../rtc_base:rtc_base_tests_main",
93 "../rtc_base:rtc_base_tests_utils",
deadbeefe814a0d2017-02-25 18:15:09 -080094 "../system_wrappers:metrics_default",
Ilya Nikolaevskiy2ffe3e82018-01-17 19:57:24 +000095 "../system_wrappers:runtime_enabled_features_default",
deadbeef4b1bf6c2017-02-22 23:45:38 -080096 ]
97
deadbeefe814a0d2017-02-25 18:15:09 -080098 if (!build_with_chromium && is_clang) {
99 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
100 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
101 }
102
deadbeef4b1bf6c2017-02-22 23:45:38 -0800103 if (is_android) {
104 deps += [ "//testing/android/native_test:native_test_support" ]
105 }
106 }
107}