blob: d827de037853cc358194934cac1ca0b77b2ce8ba [file] [log] [blame]
hjonaa32c3e2015-12-13 19:58:11 -08001# Copyright (c) 2015 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("../build/webrtc.gni")
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +020010if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
kjellanderc76dc952016-06-03 03:09:32 -070014
15group("api") {
kjellander705ecc52016-09-15 00:53:26 -070016 public_deps = [
kjellanderc76dc952016-06-03 03:09:32 -070017 ":libjingle_peerconnection",
18 ]
kjellander6ceab082016-10-28 05:44:03 -070019 if (is_android && !build_with_chromium) {
20 public_deps += [
21 ":libjingle_peerconnection_java",
22 ":libjingle_peerconnection_so",
23 ]
24 }
kjellanderc76dc952016-06-03 03:09:32 -070025}
26
ehmaldonado38a21322016-09-02 04:10:34 -070027rtc_source_set("call_api") {
kjellandera69d9732016-08-31 07:33:05 -070028 sources = [
29 "call/audio_receive_stream.h",
solenberg940b6d62016-10-25 11:19:07 -070030 "call/audio_send_stream.cc",
kjellandera69d9732016-08-31 07:33:05 -070031 "call/audio_send_stream.h",
32 "call/audio_sink.h",
33 "call/audio_state.h",
brandtr76648da2016-10-20 04:54:48 -070034 "call/flexfec_receive_stream.h",
kjellandera69d9732016-08-31 07:33:05 -070035 ]
36
kjellandera69d9732016-08-31 07:33:05 -070037 deps = [
38 # TODO(kjellander): Add remaining dependencies when webrtc:4243 is done.
aleloi81da4882016-11-08 04:26:30 -080039 ":audio_mixer_api",
aleloia8eb7562016-11-28 07:02:13 -080040 ":transport_api",
kjellandera69d9732016-08-31 07:33:05 -070041 "..:webrtc_common",
42 "../base:rtc_base_approved",
43 "../modules/audio_coding:audio_encoder_interface",
44 ]
45}
46
kjellanderc76dc952016-06-03 03:09:32 -070047config("libjingle_peerconnection_warnings_config") {
48 # GN orders flags on a target before flags from configs. The default config
49 # adds these flags so to cancel them out they need to come from a config and
50 # cannot be on the target directly.
kjellander3e33bfe2016-06-20 07:04:09 -070051 if (!is_win && !is_clang) {
52 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
kjellanderc76dc952016-06-03 03:09:32 -070053 }
54}
55
kjellanderb62dbbe2016-09-23 00:38:52 -070056rtc_static_library("libjingle_peerconnection") {
kjellanderc76dc952016-06-03 03:09:32 -070057 cflags = []
58 sources = [
59 "audiotrack.cc",
60 "audiotrack.h",
61 "datachannel.cc",
62 "datachannel.h",
63 "datachannelinterface.h",
kjellanderc76dc952016-06-03 03:09:32 -070064 "dtmfsender.cc",
65 "dtmfsender.h",
66 "dtmfsenderinterface.h",
67 "jsep.h",
68 "jsepicecandidate.cc",
69 "jsepicecandidate.h",
70 "jsepsessiondescription.cc",
71 "jsepsessiondescription.h",
72 "localaudiosource.cc",
73 "localaudiosource.h",
74 "mediaconstraintsinterface.cc",
75 "mediaconstraintsinterface.h",
76 "mediacontroller.cc",
77 "mediacontroller.h",
78 "mediastream.cc",
79 "mediastream.h",
80 "mediastreaminterface.h",
81 "mediastreamobserver.cc",
82 "mediastreamobserver.h",
kjellanderc76dc952016-06-03 03:09:32 -070083 "mediastreamproxy.h",
84 "mediastreamtrack.h",
85 "mediastreamtrackproxy.h",
86 "notifier.h",
87 "peerconnection.cc",
88 "peerconnection.h",
89 "peerconnectionfactory.cc",
90 "peerconnectionfactory.h",
91 "peerconnectionfactoryproxy.h",
92 "peerconnectioninterface.h",
93 "peerconnectionproxy.h",
94 "proxy.h",
95 "remoteaudiosource.cc",
96 "remoteaudiosource.h",
hbos74e1a4f2016-09-15 23:33:01 -070097 "rtcstatscollector.cc",
98 "rtcstatscollector.h",
kjellanderc76dc952016-06-03 03:09:32 -070099 "rtpparameters.h",
100 "rtpreceiver.cc",
101 "rtpreceiver.h",
102 "rtpreceiverinterface.h",
103 "rtpsender.cc",
104 "rtpsender.h",
105 "rtpsenderinterface.h",
106 "sctputils.cc",
107 "sctputils.h",
108 "statscollector.cc",
109 "statscollector.h",
110 "statstypes.cc",
111 "statstypes.h",
112 "streamcollection.h",
113 "videocapturertracksource.cc",
114 "videocapturertracksource.h",
115 "videosourceproxy.h",
116 "videotrack.cc",
117 "videotrack.h",
118 "videotracksource.cc",
119 "videotracksource.h",
120 "webrtcsdp.cc",
121 "webrtcsdp.h",
122 "webrtcsession.cc",
123 "webrtcsession.h",
124 "webrtcsessiondescriptionfactory.cc",
125 "webrtcsessiondescriptionfactory.h",
126 ]
127
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700128 configs += [ ":libjingle_peerconnection_warnings_config" ]
kjellanderc76dc952016-06-03 03:09:32 -0700129
kjellandere40a7ee2016-10-16 23:56:12 -0700130 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700131 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700132 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderc76dc952016-06-03 03:09:32 -0700133 }
134
kjellanderc76dc952016-06-03 03:09:32 -0700135 deps = [
kjellandera69d9732016-08-31 07:33:05 -0700136 ":call_api",
hbos74e1a4f2016-09-15 23:33:01 -0700137 ":rtc_stats_api",
katrielc14897d02016-06-03 13:14:28 -0700138 "../call",
kjellanderc76dc952016-06-03 03:09:32 -0700139 "../media",
140 "../pc",
hbos74e1a4f2016-09-15 23:33:01 -0700141 "../stats",
kjellanderc76dc952016-06-03 03:09:32 -0700142 ]
143
144 if (rtc_use_quic) {
145 sources += [
146 "quicdatachannel.cc",
147 "quicdatachannel.h",
148 "quicdatatransport.cc",
149 "quicdatatransport.h",
150 ]
151 deps += [ "//third_party/libquic" ]
152 public_deps = [
153 "//third_party/libquic",
154 ]
155 }
156}
kjellanderfd5b4e92016-06-13 12:08:33 -0700157
kjellander69b34622016-06-21 01:05:16 -0700158# Exclude the targets below from the Chromium build since they cannot be built
159# due to incompability with Chromium's logging implementation.
160if (is_android && !build_with_chromium) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700161 config("libjingle_peerconnection_jni_warnings_config") {
162 # The warnings below are enabled by default. Since GN orders compiler flags
163 # for a target before flags from configs, the only way to disable such
164 # warnings is by having them in a separate config, loaded from the target.
165 if (!is_win) {
166 cflags = [
167 "-Wno-sign-compare",
168 "-Wno-unused-variable",
169 ]
170 }
171 }
172
kjellanderb62dbbe2016-09-23 00:38:52 -0700173 rtc_static_library("libjingle_peerconnection_jni") {
kjellanderfd5b4e92016-06-13 12:08:33 -0700174 sources = [
sakal08be7802016-11-23 07:12:22 -0800175 "android/jni/androidhistogram_jni.cc",
sakald34a7112016-07-01 05:10:51 -0700176 "android/jni/androidmediacodeccommon.h",
177 "android/jni/androidmediadecoder_jni.cc",
178 "android/jni/androidmediadecoder_jni.h",
179 "android/jni/androidmediaencoder_jni.cc",
180 "android/jni/androidmediaencoder_jni.h",
sakald34a7112016-07-01 05:10:51 -0700181 "android/jni/androidnetworkmonitor_jni.cc",
182 "android/jni/androidnetworkmonitor_jni.h",
sakal0ce6aaf2016-11-22 01:26:16 -0800183 "android/jni/androidvideotracksource.cc",
184 "android/jni/androidvideotracksource.h",
Sami Kalliomaki16032122016-07-20 16:13:08 +0200185 "android/jni/androidvideotracksource_jni.cc",
sakald34a7112016-07-01 05:10:51 -0700186 "android/jni/classreferenceholder.cc",
187 "android/jni/classreferenceholder.h",
188 "android/jni/jni_helpers.cc",
189 "android/jni/jni_helpers.h",
190 "android/jni/native_handle_impl.cc",
191 "android/jni/native_handle_impl.h",
192 "android/jni/peerconnection_jni.cc",
193 "android/jni/surfacetexturehelper_jni.cc",
194 "android/jni/surfacetexturehelper_jni.h",
kjellanderfd5b4e92016-06-13 12:08:33 -0700195 ]
196
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700197 configs += [ ":libjingle_peerconnection_jni_warnings_config" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700198
kjellandere40a7ee2016-10-16 23:56:12 -0700199 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700200 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700201 suppressed_configs += [
kjellanderfd5b4e92016-06-13 12:08:33 -0700202 "//build/config/clang:extra_warnings",
203 "//build/config/clang:find_bad_constructs",
204 ]
205 }
206
207 # TODO(jschuh): Bug 1348: fix this warning.
208 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
209
210 if (is_win) {
211 cflags += [
212 "/wd4245", # conversion from "int" to "size_t", signed/unsigned mismatch.
213 "/wd4389", # signed/unsigned mismatch.
214 ]
215 }
216
217 deps = [
218 ":libjingle_peerconnection",
kjellanderfd5b4e92016-06-13 12:08:33 -0700219 ]
220
221 if (rtc_build_libyuv) {
222 deps += [ "$rtc_libyuv_dir" ]
223 public_deps = [
224 "$rtc_libyuv_dir",
225 ]
226 } else {
227 # Need to add a directory normally exported by libyuv.
charujainb7446d72016-09-28 00:47:51 -0700228 include_dirs = [ "$rtc_libyuv_dir/include" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700229 }
230 }
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200231
sakalf7233122016-11-22 01:25:09 -0800232 rtc_static_library("libjingle_peerconnection_metrics_default_jni") {
sakal08be7802016-11-23 07:12:22 -0800233 sources = [
234 "android/jni/androidmetrics_jni.cc",
235 ]
236
237 configs += [ ":libjingle_peerconnection_jni_warnings_config" ]
238
239 deps = [
240 ":libjingle_peerconnection",
241 "../system_wrappers:field_trial_default",
242 "../system_wrappers:metrics_default",
243 ]
sakalf7233122016-11-22 01:25:09 -0800244 }
245
ehmaldonadoacf9f472016-09-08 04:26:37 -0700246 rtc_shared_library("libjingle_peerconnection_so") {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200247 sources = [
sakald34a7112016-07-01 05:10:51 -0700248 "android/jni/jni_onload.cc",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200249 ]
250
ehmaldonadoacf9f472016-09-08 04:26:37 -0700251 suppressed_configs += [ "//build/config/android:hide_native_jni_exports" ]
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200252
253 deps = [
254 ":libjingle_peerconnection",
255 ":libjingle_peerconnection_jni",
sakal08be7802016-11-23 07:12:22 -0800256 ":libjingle_peerconnection_metrics_default_jni",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200257 ]
sakala53fa0a2016-08-24 00:48:21 -0700258 output_extension = "so"
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200259 }
sakalebf52402016-10-24 00:28:01 -0700260}
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200261
sakalebf52402016-10-24 00:28:01 -0700262# Classes that don't require jni can be used in Chromium.
263if (is_android) {
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200264 android_library("libjingle_peerconnection_java") {
265 java_files = [
266 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java",
267 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java",
268 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java",
269 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java",
270 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java",
271 "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java",
sakald34a7112016-07-01 05:10:51 -0700272 "android/java/src/org/webrtc/AudioSource.java",
273 "android/java/src/org/webrtc/AudioTrack.java",
274 "android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java",
sakal34425792016-09-21 01:34:56 -0700275 "android/java/src/org/webrtc/Camera1Capturer.java",
sakald34a7112016-07-01 05:10:51 -0700276 "android/java/src/org/webrtc/Camera1Enumerator.java",
sakal34425792016-09-21 01:34:56 -0700277 "android/java/src/org/webrtc/Camera1Session.java",
sakald34a7112016-07-01 05:10:51 -0700278 "android/java/src/org/webrtc/Camera2Capturer.java",
279 "android/java/src/org/webrtc/Camera2Enumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700280 "android/java/src/org/webrtc/Camera2Session.java",
281 "android/java/src/org/webrtc/CameraCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700282 "android/java/src/org/webrtc/CameraEnumerationAndroid.java",
283 "android/java/src/org/webrtc/CameraEnumerator.java",
sakald30e0ad2016-08-11 01:00:37 -0700284 "android/java/src/org/webrtc/CameraSession.java",
sakald34a7112016-07-01 05:10:51 -0700285 "android/java/src/org/webrtc/CameraVideoCapturer.java",
286 "android/java/src/org/webrtc/DataChannel.java",
287 "android/java/src/org/webrtc/EglBase.java",
288 "android/java/src/org/webrtc/EglBase10.java",
289 "android/java/src/org/webrtc/EglBase14.java",
magjeddf494b02016-10-07 05:32:35 -0700290 "android/java/src/org/webrtc/EglRenderer.java",
mandermo64e1a322016-10-18 08:47:51 -0700291 "android/java/src/org/webrtc/FileVideoCapturer.java",
sakald34a7112016-07-01 05:10:51 -0700292 "android/java/src/org/webrtc/GlRectDrawer.java",
293 "android/java/src/org/webrtc/GlShader.java",
294 "android/java/src/org/webrtc/GlTextureFrameBuffer.java",
295 "android/java/src/org/webrtc/GlUtil.java",
sakal08be7802016-11-23 07:12:22 -0800296 "android/java/src/org/webrtc/Histogram.java",
sakald34a7112016-07-01 05:10:51 -0700297 "android/java/src/org/webrtc/IceCandidate.java",
298 "android/java/src/org/webrtc/MediaCodecVideoDecoder.java",
299 "android/java/src/org/webrtc/MediaCodecVideoEncoder.java",
300 "android/java/src/org/webrtc/MediaConstraints.java",
301 "android/java/src/org/webrtc/MediaSource.java",
302 "android/java/src/org/webrtc/MediaStream.java",
303 "android/java/src/org/webrtc/MediaStreamTrack.java",
sakald34a7112016-07-01 05:10:51 -0700304 "android/java/src/org/webrtc/NetworkMonitor.java",
305 "android/java/src/org/webrtc/NetworkMonitorAutoDetect.java",
306 "android/java/src/org/webrtc/PeerConnection.java",
307 "android/java/src/org/webrtc/PeerConnectionFactory.java",
308 "android/java/src/org/webrtc/RendererCommon.java",
309 "android/java/src/org/webrtc/RtpParameters.java",
310 "android/java/src/org/webrtc/RtpReceiver.java",
311 "android/java/src/org/webrtc/RtpSender.java",
sakal73c5d4a2016-10-19 02:46:19 -0700312 "android/java/src/org/webrtc/ScreenCapturerAndroid.java",
sakald34a7112016-07-01 05:10:51 -0700313 "android/java/src/org/webrtc/SdpObserver.java",
314 "android/java/src/org/webrtc/SessionDescription.java",
315 "android/java/src/org/webrtc/StatsObserver.java",
316 "android/java/src/org/webrtc/StatsReport.java",
317 "android/java/src/org/webrtc/SurfaceTextureHelper.java",
318 "android/java/src/org/webrtc/SurfaceViewRenderer.java",
319 "android/java/src/org/webrtc/VideoCapturer.java",
320 "android/java/src/org/webrtc/VideoCapturerAndroid.java",
mandermo64e1a322016-10-18 08:47:51 -0700321 "android/java/src/org/webrtc/VideoFileRenderer.java",
sakald34a7112016-07-01 05:10:51 -0700322 "android/java/src/org/webrtc/VideoRenderer.java",
323 "android/java/src/org/webrtc/VideoRendererGui.java",
324 "android/java/src/org/webrtc/VideoSource.java",
325 "android/java/src/org/webrtc/VideoTrack.java",
Magnus Jedvert577bc192016-10-19 15:29:02 +0200326 "android/java/src/org/webrtc/YuvConverter.java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200327 ]
328
329 deps = [
sakalebf52402016-10-24 00:28:01 -0700330 "../base:base_java",
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200331 ]
332 }
sakal08be7802016-11-23 07:12:22 -0800333
334 android_library("libjingle_peerconnection_metrics_default_java") {
335 java_files = [ "android/java/src/org/webrtc/Metrics.java" ]
336
337 deps = [
338 "../base:base_java",
339 ]
340 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700341}
342
hbos74e1a4f2016-09-15 23:33:01 -0700343rtc_source_set("rtc_stats_api") {
344 cflags = []
345 sources = [
346 "stats/rtcstats.h",
347 "stats/rtcstats_objects.h",
348 "stats/rtcstatsreport.h",
349 ]
350
351 deps = [
352 "../base:rtc_base_approved",
353 ]
354}
355
aleloi201dfe92016-10-20 05:06:39 -0700356rtc_source_set("audio_mixer_api") {
357 sources = [
358 "audio/audio_mixer.h",
359 ]
360
361 deps = [
362 "../base:rtc_base_approved",
363 ]
364}
365
aleloia8eb7562016-11-28 07:02:13 -0800366rtc_source_set("transport_api") {
367 sources = [
368 "call/transport.h",
369 ]
370}
kjellanderfd5b4e92016-06-13 12:08:33 -0700371if (rtc_include_tests) {
372 config("peerconnection_unittests_config") {
373 # The warnings below are enabled by default. Since GN orders compiler flags
374 # for a target before flags from configs, the only way to disable such
375 # warnings is by having them in a separate config, loaded from the target.
376 # TODO(kjellander): Make the code compile without disabling these flags.
377 # See https://bugs.webrtc.org/3307.
378 if (is_clang && is_win) {
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700379 cflags = [
380 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6267
381 # for -Wno-sign-compare
382 "-Wno-sign-compare",
383 "-Wno-unused-function",
384 ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700385 }
386
387 if (!is_win) {
388 cflags = [ "-Wno-sign-compare" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700389 }
390 }
391
ehmaldonado38a21322016-09-02 04:10:34 -0700392 rtc_test("peerconnection_unittests") {
kjellanderfd5b4e92016-06-13 12:08:33 -0700393 testonly = true
394 sources = [
395 "datachannel_unittest.cc",
396 "dtmfsender_unittest.cc",
397 "fakemetricsobserver.cc",
398 "fakemetricsobserver.h",
399 "jsepsessiondescription_unittest.cc",
400 "localaudiosource_unittest.cc",
401 "mediaconstraintsinterface_unittest.cc",
402 "mediastream_unittest.cc",
403 "peerconnection_unittest.cc",
404 "peerconnectionendtoend_unittest.cc",
405 "peerconnectionfactory_unittest.cc",
406 "peerconnectioninterface_unittest.cc",
407 "proxy_unittest.cc",
hbos74e1a4f2016-09-15 23:33:01 -0700408 "rtcstatscollector_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700409 "rtpsenderreceiver_unittest.cc",
ossud4d2f602016-11-08 02:05:32 -0800410 "sctputils_unittest.cc",
kjellanderfd5b4e92016-06-13 12:08:33 -0700411 "statscollector_unittest.cc",
412 "test/fakeaudiocapturemodule.cc",
413 "test/fakeaudiocapturemodule.h",
414 "test/fakeaudiocapturemodule_unittest.cc",
415 "test/fakeconstraints.h",
416 "test/fakedatachannelprovider.h",
417 "test/fakeperiodicvideocapturer.h",
418 "test/fakertccertificategenerator.h",
419 "test/fakevideotrackrenderer.h",
hbosd565b732016-08-30 14:04:35 -0700420 "test/mock_datachannel.h",
hbosb24b1ce2016-08-16 01:19:43 -0700421 "test/mock_peerconnection.h",
422 "test/mock_webrtcsession.h",
kjellanderfd5b4e92016-06-13 12:08:33 -0700423 "test/mockpeerconnectionobservers.h",
424 "test/peerconnectiontestwrapper.cc",
425 "test/peerconnectiontestwrapper.h",
426 "test/testsdpstrings.h",
427 "videocapturertracksource_unittest.cc",
428 "videotrack_unittest.cc",
429 "webrtcsdp_unittest.cc",
430 "webrtcsession_unittest.cc",
431 ]
432
433 defines = [ "HAVE_SCTP" ]
434
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700435 configs += [ ":peerconnection_unittests_config" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700436
kjellandere40a7ee2016-10-16 23:56:12 -0700437 if (!build_with_chromium && is_clang) {
kjellanderfd5b4e92016-06-13 12:08:33 -0700438 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700439 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderfd5b4e92016-06-13 12:08:33 -0700440 }
441
442 # TODO(jschuh): Bug 1348: fix this warning.
443 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
444
445 if (is_win) {
446 cflags = [
447 "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
448 "/wd4389", # signed/unsigned mismatch.
449 ]
450 }
451
452 if (rtc_use_quic) {
453 public_deps = [
454 "//third_party/libquic",
455 ]
456 sources += [
457 "quicdatachannel_unittest.cc",
458 "quicdatatransport_unittest.cc",
459 ]
460 }
461
462 deps = []
463 if (is_android) {
464 sources += [
465 "test/androidtestinitializer.cc",
466 "test/androidtestinitializer.h",
467 ]
468 deps += [
kjellanderb37c45c2016-08-23 12:55:40 -0700469 ":libjingle_peerconnection_java",
kjellanderfd5b4e92016-06-13 12:08:33 -0700470 ":libjingle_peerconnection_jni",
471 "//testing/android/native_test:native_test_support",
472 ]
473 }
474
475 deps += [
476 ":libjingle_peerconnection",
477 "..:webrtc_common",
478 "../base:rtc_base_tests_utils",
479 "../media:rtc_unittest_main",
480 "../pc:rtc_pc",
481 "../system_wrappers:metrics_default",
482 "//testing/gmock",
483 ]
484
485 if (is_android) {
486 deps += [ "//testing/android/native_test:native_test_support" ]
sakal714dd4e2016-08-15 02:29:11 -0700487
488 shard_timeout = 900
kjellanderfd5b4e92016-06-13 12:08:33 -0700489 }
490 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700491
aleloi17338d42016-11-22 06:02:06 -0800492 rtc_source_set("mock_audio_mixer") {
493 testonly = true
494 sources = [
495 "test/mock_audio_mixer.h",
496 ]
497
498 public_deps = [
499 ":audio_mixer_api",
500 ]
501
502 deps = [
503 "//testing/gmock",
504 ]
505 }
506
ehmaldonado3651d8f2016-08-10 03:10:48 -0700507 if (is_android) {
508 instrumentation_test_apk("libjingle_peerconnection_android_unittest") {
509 apk_name = "libjingle_peerconnection_android_unittest"
510 android_manifest = "androidtests/AndroidManifest.xml"
511
512 java_files = [
513 "androidtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java",
514 "androidtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java",
515 "androidtests/src/org/webrtc/Camera2CapturerTest.java",
516 "androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java",
sakalfb0c5732016-11-03 09:15:34 -0700517 "androidtests/src/org/webrtc/EglRendererTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700518 "androidtests/src/org/webrtc/GlRectDrawerTest.java",
519 "androidtests/src/org/webrtc/MediaCodecVideoEncoderTest.java",
520 "androidtests/src/org/webrtc/NetworkMonitorTest.java",
521 "androidtests/src/org/webrtc/PeerConnectionTest.java",
522 "androidtests/src/org/webrtc/RendererCommonTest.java",
523 "androidtests/src/org/webrtc/SurfaceTextureHelperTest.java",
524 "androidtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java",
phoglund613152a2016-11-16 01:31:20 -0800525 "androidtests/src/org/webrtc/WebRtcJniBootTest.java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700526 ]
527
528 deps = [
ehmaldonado3651d8f2016-08-10 03:10:48 -0700529 ":libjingle_peerconnection_java",
sakal08be7802016-11-23 07:12:22 -0800530 ":libjingle_peerconnection_metrics_default_java",
sakalebf52402016-10-24 00:28:01 -0700531 "../base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700532 "//base:base_java",
ehmaldonado3651d8f2016-08-10 03:10:48 -0700533 ]
534
535 shared_libraries = [ ":libjingle_peerconnection_so" ]
536 }
ehmaldonado3651d8f2016-08-10 03:10:48 -0700537 }
kjellanderfd5b4e92016-06-13 12:08:33 -0700538}