blob: 08bdf8cd07495a9796739a897201aa3c249e4c0a [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",
Mirko Bonadeidaf70082017-12-04 11:47:17 +010037 "../api:ortc_api",
Anders Carlssonb3306882018-05-14 10:11:42 +020038 "../api/video_codecs:builtin_video_decoder_factory",
39 "../api/video_codecs:builtin_video_encoder_factory",
mbonadeicde25282017-04-11 02:52:49 -070040 "../call:call_interfaces",
sprangdb2a9fc2017-08-09 06:42:32 -070041 "../call:rtp_sender",
mbonadeicde25282017-04-11 02:52:49 -070042 "../logging:rtc_event_log_api",
Qingsi Wang970b0882018-02-01 11:04:46 -080043 "../logging:rtc_event_log_impl_base",
Mirko Bonadei75baa492018-01-11 17:07:30 +010044 "../media:rtc_audio_video",
mbonadeicde25282017-04-11 02:52:49 -070045 "../media:rtc_media",
46 "../media:rtc_media_base",
peaha9cc40b2017-06-29 08:32:09 -070047 "../modules/audio_processing:audio_processing",
mbonadeicde25282017-04-11 02:52:49 -070048 "../p2p:rtc_p2p",
deadbeefe814a0d2017-02-25 18:15:09 -080049 "../pc:libjingle_peerconnection",
Mirko Bonadeie51f7852017-12-06 11:23:19 +010050 "../pc:peerconnection",
mbonadeicde25282017-04-11 02:52:49 -070051 "../pc:rtc_pc",
Mirko Bonadeie51f7852017-12-06 11:23:19 +010052 "../pc:rtc_pc_base",
Patrik Höglunda8005cf2017-12-13 16:05:42 +010053 "../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -070054 "../rtc_base:rtc_base",
55 "../rtc_base:rtc_base_approved",
Danil Chapovalov00c71832018-06-15 15:58:38 +020056 "//third_party/abseil-cpp/absl/types:optional",
deadbeefe814a0d2017-02-25 18:15:09 -080057 ]
58
deadbeefe814a0d2017-02-25 18:15:09 -080059 if (!build_with_chromium && is_clang) {
60 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
61 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
62 }
63}
64
deadbeef4b1bf6c2017-02-22 23:45:38 -080065if (rtc_include_tests) {
66 rtc_test("ortc_unittests") {
67 testonly = true
68
69 sources = [
deadbeefe814a0d2017-02-25 18:15:09 -080070 "ortcfactory_integrationtest.cc",
71 "ortcfactory_unittest.cc",
72 "ortcrtpreceiver_unittest.cc",
73 "ortcrtpsender_unittest.cc",
74 "rtpparametersconversion_unittest.cc",
75 "rtptransport_unittest.cc",
76 "rtptransportcontroller_unittest.cc",
zhihuangd3501ad2017-03-03 14:39:06 -080077 "srtptransport_unittest.cc",
deadbeefe814a0d2017-02-25 18:15:09 -080078 "testrtpparameters.cc",
79 "testrtpparameters.h",
deadbeef4b1bf6c2017-02-22 23:45:38 -080080 ]
81
82 deps = [
deadbeefe814a0d2017-02-25 18:15:09 -080083 ":ortc",
Patrik Höglund7aee3d52017-11-15 13:15:17 +010084 "../api:libjingle_peerconnection_api",
Mirko Bonadeidaf70082017-12-04 11:47:17 +010085 "../api:ortc_api",
Karl Wiberg3e9e5b32017-11-06 05:01:56 +010086 "../api/audio_codecs:builtin_audio_decoder_factory",
87 "../api/audio_codecs:builtin_audio_encoder_factory",
mbonadei9087d492017-04-25 00:35:35 -070088 "../media:rtc_media_tests_utils",
deadbeef59edb922017-04-18 15:49:09 -070089 "../p2p:p2p_test_utils",
mbonadeicde25282017-04-11 02:52:49 -070090 "../p2p:rtc_p2p",
deadbeefe814a0d2017-02-25 18:15:09 -080091 "../pc:pc_test_utils",
Niels Möller48cca022018-03-21 09:20:21 +010092 "../pc:peerconnection",
ehmaldonadof6a861a2017-07-19 10:40:47 -070093 "../rtc_base:rtc_base",
94 "../rtc_base:rtc_base_approved",
95 "../rtc_base:rtc_base_tests_main",
96 "../rtc_base:rtc_base_tests_utils",
deadbeefe814a0d2017-02-25 18:15:09 -080097 "../system_wrappers:metrics_default",
Ilya Nikolaevskiy2ffe3e82018-01-17 19:57:24 +000098 "../system_wrappers:runtime_enabled_features_default",
deadbeef4b1bf6c2017-02-22 23:45:38 -080099 ]
100
deadbeefe814a0d2017-02-25 18:15:09 -0800101 if (!build_with_chromium && is_clang) {
102 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
103 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
104 }
105
deadbeef4b1bf6c2017-02-22 23:45:38 -0800106 if (is_android) {
107 deps += [ "//testing/android/native_test:native_test_support" ]
108 }
109 }
110}