blob: cf0179ac45d1a30ed560a9326607b00a799038bf [file] [log] [blame]
kjellanderc76dc952016-06-03 03:09:32 -07001# Copyright (c) 2016 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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../webrtc.gni")
ossu7bb87ee2017-01-23 04:56:25 -080010if (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("pc") {
kjellander705ecc52016-09-15 00:53:26 -070016 public_deps = [
kjellanderc76dc952016-06-03 03:09:32 -070017 ":rtc_pc",
18 ]
19}
20
21config("rtc_pc_config") {
jbaucheaa9c1d2017-03-06 11:32:22 -080022 defines = []
deadbeef40610e22016-12-22 10:53:38 -080023 if (rtc_enable_sctp) {
24 defines += [ "HAVE_SCTP" ]
25 }
kjellanderc76dc952016-06-03 03:09:32 -070026}
27
zhihuang38ede132017-06-15 12:52:32 -070028rtc_static_library("rtc_pc_base") {
kjellanderc76dc952016-06-03 03:09:32 -070029 defines = []
30 sources = [
31 "audiomonitor.cc",
32 "audiomonitor.h",
33 "bundlefilter.cc",
34 "bundlefilter.h",
35 "channel.cc",
36 "channel.h",
37 "channelmanager.cc",
38 "channelmanager.h",
39 "currentspeakermonitor.cc",
40 "currentspeakermonitor.h",
jbauchdfcab722017-03-06 00:14:10 -080041 "externalhmac.cc",
42 "externalhmac.h",
kjellanderc76dc952016-06-03 03:09:32 -070043 "mediamonitor.cc",
44 "mediamonitor.h",
45 "mediasession.cc",
46 "mediasession.h",
kjellanderc76dc952016-06-03 03:09:32 -070047 "rtcpmuxfilter.cc",
48 "rtcpmuxfilter.h",
zsteind48dbda2017-04-04 19:45:57 -070049 "rtptransport.cc",
50 "rtptransport.h",
zstein398c3fd2017-07-19 13:38:02 -070051 "rtptransportinternal.h",
kjellanderc76dc952016-06-03 03:09:32 -070052 "srtpfilter.cc",
53 "srtpfilter.h",
zstein4dde3df2017-07-07 14:26:25 -070054 "srtpsession.cc",
55 "srtpsession.h",
zstein398c3fd2017-07-19 13:38:02 -070056 "srtptransport.cc",
57 "srtptransport.h",
Zhi Huangb5261582017-09-29 10:51:43 -070058 "transportcontroller.cc",
59 "transportcontroller.h",
kjellanderc76dc952016-06-03 03:09:32 -070060 "voicechannel.h",
61 ]
62
63 deps = [
mbonadei7d9a55b2017-06-01 13:01:48 -070064 "..:webrtc_common",
kjellandera69d9732016-08-31 07:33:05 -070065 "../api:call_api",
mbonadei7d9a55b2017-06-01 13:01:48 -070066 "../api:libjingle_peerconnection_api",
kwiberg84f6a3f2017-09-05 08:43:13 -070067 "../api:optional",
mbonadei7d9a55b2017-06-01 13:01:48 -070068 "../api:ortc_api",
zhihuang38ede132017-06-15 12:52:32 -070069 "../media:rtc_data",
zhihuang130ca7e2017-06-21 01:02:59 -070070 "../media:rtc_h264_profile_id",
zhihuang38ede132017-06-15 12:52:32 -070071 "../media:rtc_media_base",
mbonadei7d9a55b2017-06-01 13:01:48 -070072 "../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -070073 "../rtc_base:rtc_base",
74 "../rtc_base:rtc_task_queue",
kjellanderc76dc952016-06-03 03:09:32 -070075 ]
76
kjellanderc76dc952016-06-03 03:09:32 -070077 if (rtc_build_libsrtp) {
78 deps += [ "//third_party/libsrtp" ]
79 }
80
ehmaldonadoe9cc6862016-09-05 06:10:18 -070081 public_configs = [ ":rtc_pc_config" ]
kjellanderc76dc952016-06-03 03:09:32 -070082
kjellandere40a7ee2016-10-16 23:56:12 -070083 if (!build_with_chromium && is_clang) {
kjellander142f8c52016-06-13 00:08:24 -070084 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -070085 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderc76dc952016-06-03 03:09:32 -070086 }
87}
kjellander142f8c52016-06-13 00:08:24 -070088
zhihuang38ede132017-06-15 12:52:32 -070089rtc_source_set("rtc_pc") {
90 public_deps = [
91 ":rtc_pc_base",
92 ]
93
94 deps = [
95 "../media:rtc_audio_video",
96 ]
97}
98
ossu7bb87ee2017-01-23 04:56:25 -080099config("libjingle_peerconnection_warnings_config") {
100 # GN orders flags on a target before flags from configs. The default config
101 # adds these flags so to cancel them out they need to come from a config and
102 # cannot be on the target directly.
103 if (!is_win && !is_clang) {
104 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
105 }
106}
107
zhihuang38ede132017-06-15 12:52:32 -0700108rtc_static_library("peerconnection") {
ossu7bb87ee2017-01-23 04:56:25 -0800109 cflags = []
110 sources = [
111 "audiotrack.cc",
112 "audiotrack.h",
113 "datachannel.cc",
114 "datachannel.h",
115 "dtmfsender.cc",
116 "dtmfsender.h",
deadbeef1dcb1642017-03-29 21:08:16 -0700117 "iceserverparsing.cc",
118 "iceserverparsing.h",
ossu7bb87ee2017-01-23 04:56:25 -0800119 "jsepicecandidate.cc",
120 "jsepsessiondescription.cc",
121 "localaudiosource.cc",
122 "localaudiosource.h",
ossu7bb87ee2017-01-23 04:56:25 -0800123 "mediastream.cc",
124 "mediastream.h",
125 "mediastreamobserver.cc",
126 "mediastreamobserver.h",
127 "mediastreamtrack.h",
ossu7bb87ee2017-01-23 04:56:25 -0800128 "peerconnection.cc",
129 "peerconnection.h",
130 "peerconnectionfactory.cc",
131 "peerconnectionfactory.h",
132 "remoteaudiosource.cc",
133 "remoteaudiosource.h",
134 "rtcstatscollector.cc",
135 "rtcstatscollector.h",
136 "rtpreceiver.cc",
137 "rtpreceiver.h",
138 "rtpsender.cc",
139 "rtpsender.h",
140 "sctputils.cc",
141 "sctputils.h",
142 "statscollector.cc",
143 "statscollector.h",
144 "streamcollection.h",
deadbeef804c1af2017-02-11 19:07:31 -0800145 "trackmediainfomap.cc",
146 "trackmediainfomap.h",
ossu7bb87ee2017-01-23 04:56:25 -0800147 "videocapturertracksource.cc",
148 "videocapturertracksource.h",
149 "videotrack.cc",
150 "videotrack.h",
151 "videotracksource.cc",
152 "videotracksource.h",
153 "webrtcsdp.cc",
154 "webrtcsdp.h",
155 "webrtcsession.cc",
156 "webrtcsession.h",
157 "webrtcsessiondescriptionfactory.cc",
158 "webrtcsessiondescriptionfactory.h",
159 ]
160
161 configs += [ ":libjingle_peerconnection_warnings_config" ]
162
163 if (!build_with_chromium && is_clang) {
164 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
165 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
166 }
167
168 deps = [
zhihuang38ede132017-06-15 12:52:32 -0700169 ":rtc_pc_base",
mbonadei7d9a55b2017-06-01 13:01:48 -0700170 "..:webrtc_common",
ossu7bb87ee2017-01-23 04:56:25 -0800171 "../api:call_api",
kwiberg84f6a3f2017-09-05 08:43:13 -0700172 "../api:optional",
ossu7bb87ee2017-01-23 04:56:25 -0800173 "../api:rtc_stats_api",
ilnikd60d06a2017-04-05 03:02:20 -0700174 "../api/video_codecs:video_codecs_api",
zhihuang38ede132017-06-15 12:52:32 -0700175 "../call:call_interfaces",
mbonadei7d9a55b2017-06-01 13:01:48 -0700176 "../logging:rtc_event_log_api",
zhihuang38ede132017-06-15 12:52:32 -0700177 "../media:rtc_data",
178 "../media:rtc_media_base",
mbonadei7d9a55b2017-06-01 13:01:48 -0700179 "../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700180 "../rtc_base:rtc_base",
181 "../rtc_base:rtc_base_approved",
ossu7bb87ee2017-01-23 04:56:25 -0800182 "../stats",
mbonadei7d9a55b2017-06-01 13:01:48 -0700183 "../system_wrappers:system_wrappers",
ossu7bb87ee2017-01-23 04:56:25 -0800184 ]
185
ossuda250062017-01-23 07:37:43 -0800186 public_deps = [
187 "../api:libjingle_peerconnection_api",
188 ]
zhihuang38ede132017-06-15 12:52:32 -0700189}
190
191# This target implements CreatePeerConnectionFactory methods that will create a
192# PeerConnection will full functionality (audio, video and data). Applications
193# that wish to reduce their binary size by ommitting functionality they don't
194# need should use CreateModularCreatePeerConnectionFactory instead, using the
195# "peerconnection" build target and other targets specific to their
196# requrements. See comment in peerconnectionfactoryinterface.h.
zhihuangab97e182017-06-22 01:28:59 -0700197rtc_static_library("create_pc_factory") {
zhihuang38ede132017-06-15 12:52:32 -0700198 sources = [
199 "createpeerconnectionfactory.cc",
200 ]
201
202 deps = [
203 "../api:audio_mixer_api",
204 "../api:libjingle_peerconnection_api",
205 "../api/audio_codecs:audio_codecs_api",
206 "../api/audio_codecs:builtin_audio_decoder_factory",
207 "../api/audio_codecs:builtin_audio_encoder_factory",
Magnus Jedvert58b03162017-09-15 19:02:47 +0200208 "../api/video_codecs:video_codecs_api",
zhihuang38ede132017-06-15 12:52:32 -0700209 "../call",
210 "../call:call_interfaces",
211 "../logging:rtc_event_log_api",
212 "../media:rtc_audio_video",
213 "../modules/audio_device:audio_device",
peaha9cc40b2017-06-29 08:32:09 -0700214 "../modules/audio_processing:audio_processing",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700215 "../rtc_base:rtc_base",
216 "../rtc_base:rtc_base_approved",
zhihuang38ede132017-06-15 12:52:32 -0700217 ]
218
219 configs += [ ":libjingle_peerconnection_warnings_config" ]
220
221 if (!build_with_chromium && is_clang) {
222 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
223 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
224 }
225}
226
227rtc_source_set("libjingle_peerconnection") {
228 public_deps = [
229 ":create_pc_factory",
230 ":peerconnection",
231 "../api:libjingle_peerconnection_api",
232 ]
ossuda250062017-01-23 07:37:43 -0800233
ossu7bb87ee2017-01-23 04:56:25 -0800234 if (rtc_use_quic) {
235 sources += [
236 "quicdatachannel.cc",
237 "quicdatachannel.h",
238 "quicdatatransport.cc",
239 "quicdatatransport.h",
240 ]
241 deps += [ "//third_party/libquic" ]
242 public_deps = [
243 "//third_party/libquic",
244 ]
245 }
246}
247
kjellander142f8c52016-06-13 00:08:24 -0700248if (rtc_include_tests) {
249 config("rtc_pc_unittests_config") {
250 # GN orders flags on a target before flags from configs. The default config
251 # adds -Wall, and this flag have to be after -Wall -- so they need to
252 # come from a config and can't be on the target directly.
253 if (!is_win && !is_clang) {
254 cflags = [ "-Wno-maybe-uninitialized" ] # Only exists for GCC.
255 }
256 }
257
ehmaldonado38a21322016-09-02 04:10:34 -0700258 rtc_test("rtc_pc_unittests") {
kjellander142f8c52016-06-13 00:08:24 -0700259 testonly = true
260
261 sources = [
262 "bundlefilter_unittest.cc",
263 "channel_unittest.cc",
264 "channelmanager_unittest.cc",
265 "currentspeakermonitor_unittest.cc",
266 "mediasession_unittest.cc",
267 "rtcpmuxfilter_unittest.cc",
zstein56162b92017-04-24 16:54:35 -0700268 "rtptransport_unittest.cc",
zstein398c3fd2017-07-19 13:38:02 -0700269 "rtptransporttestutil.h",
kjellander142f8c52016-06-13 00:08:24 -0700270 "srtpfilter_unittest.cc",
zstein4dde3df2017-07-07 14:26:25 -0700271 "srtpsession_unittest.cc",
272 "srtptestutil.h",
zstein398c3fd2017-07-19 13:38:02 -0700273 "srtptransport_unittest.cc",
Zhi Huangb5261582017-09-29 10:51:43 -0700274 "transportcontroller_unittest.cc",
kjellander142f8c52016-06-13 00:08:24 -0700275 ]
276
277 include_dirs = [ "//third_party/libsrtp/srtp" ]
278
ehmaldonado7a2ce0b2016-09-05 01:35:44 -0700279 configs += [ ":rtc_pc_unittests_config" ]
kjellander142f8c52016-06-13 00:08:24 -0700280
kjellandere40a7ee2016-10-16 23:56:12 -0700281 if (!build_with_chromium && is_clang) {
kjellander142f8c52016-06-13 00:08:24 -0700282 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700283 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellander142f8c52016-06-13 00:08:24 -0700284 }
285
286 if (is_win) {
287 libs = [ "strmiids.lib" ]
288 }
289
290 deps = [
ossu7bb87ee2017-01-23 04:56:25 -0800291 ":libjingle_peerconnection",
Zhi Huangb5261582017-09-29 10:51:43 -0700292 ":pc_test_utils",
kjellander142f8c52016-06-13 00:08:24 -0700293 ":rtc_pc",
kwiberg529662a2017-09-04 05:43:17 -0700294 "../api:array_view",
mbonadei7d9a55b2017-06-01 13:01:48 -0700295 "../logging:rtc_event_log_api",
296 "../media:rtc_media_base",
mbonadei9087d492017-04-25 00:35:35 -0700297 "../media:rtc_media_tests_utils",
mbonadei7d9a55b2017-06-01 13:01:48 -0700298 "../p2p:p2p_test_utils",
299 "../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700300 "../rtc_base:rtc_base",
301 "../rtc_base:rtc_base_approved",
302 "../rtc_base:rtc_base_tests_main",
303 "../rtc_base:rtc_base_tests_utils",
kjellander142f8c52016-06-13 00:08:24 -0700304 "../system_wrappers:metrics_default",
zstein398c3fd2017-07-19 13:38:02 -0700305 "../test:test_support",
kjellander142f8c52016-06-13 00:08:24 -0700306 ]
307
308 if (rtc_build_libsrtp) {
309 deps += [ "//third_party/libsrtp" ]
310 }
311
312 if (is_android) {
313 deps += [ "//testing/android/native_test:native_test_support" ]
314 }
315 }
ossu7bb87ee2017-01-23 04:56:25 -0800316
deadbeefe814a0d2017-02-25 18:15:09 -0800317 rtc_source_set("pc_test_utils") {
318 testonly = true
319 sources = [
320 "test/fakeaudiocapturemodule.cc",
321 "test/fakeaudiocapturemodule.h",
322 "test/fakedatachannelprovider.h",
323 "test/fakeperiodicvideocapturer.h",
324 "test/fakertccertificategenerator.h",
Zhi Huangb5261582017-09-29 10:51:43 -0700325 "test/faketransportcontroller.h",
deadbeefe814a0d2017-02-25 18:15:09 -0800326 "test/fakevideotrackrenderer.h",
327 "test/fakevideotracksource.h",
328 "test/mock_datachannel.h",
329 "test/mock_peerconnection.h",
330 "test/mock_webrtcsession.h",
331 "test/mockpeerconnectionobservers.h",
332 "test/peerconnectiontestwrapper.cc",
333 "test/peerconnectiontestwrapper.h",
334 "test/rtcstatsobtainer.h",
335 "test/testsdpstrings.h",
336 ]
337
338 deps = [
339 ":libjingle_peerconnection",
Zhi Huangb5261582017-09-29 10:51:43 -0700340 ":rtc_pc_base",
mbonadei7d9a55b2017-06-01 13:01:48 -0700341 "..:webrtc_common",
342 "../api:libjingle_peerconnection_test_api",
343 "../api:rtc_stats_api",
zhihuang38ede132017-06-15 12:52:32 -0700344 "../call:call_interfaces",
345 "../logging:rtc_event_log_api",
mbonadei7d9a55b2017-06-01 13:01:48 -0700346 "../media:rtc_media",
347 "../media:rtc_media_tests_utils",
348 "../modules/audio_device:audio_device",
349 "../p2p:p2p_test_utils",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700350 "../rtc_base:rtc_base",
351 "../rtc_base:rtc_base_approved",
352 "../rtc_base:rtc_base_tests_utils",
mbonadei7d9a55b2017-06-01 13:01:48 -0700353 "../test:test_support",
deadbeefe814a0d2017-02-25 18:15:09 -0800354 "//testing/gmock",
355 ]
356
357 if (!build_with_chromium && is_clang) {
358 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
359 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
360 }
361 }
362
ossu7bb87ee2017-01-23 04:56:25 -0800363 config("peerconnection_unittests_config") {
364 # The warnings below are enabled by default. Since GN orders compiler flags
365 # for a target before flags from configs, the only way to disable such
366 # warnings is by having them in a separate config, loaded from the target.
367 # TODO(kjellander): Make the code compile without disabling these flags.
368 # See https://bugs.webrtc.org/3307.
369 if (is_clang && is_win) {
370 cflags = [
371 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6267
372 # for -Wno-sign-compare
373 "-Wno-sign-compare",
ossu7bb87ee2017-01-23 04:56:25 -0800374 ]
375 }
376
377 if (!is_win) {
378 cflags = [ "-Wno-sign-compare" ]
379 }
380 }
381
382 rtc_test("peerconnection_unittests") {
ossu7bb87ee2017-01-23 04:56:25 -0800383 testonly = true
384 sources = [
385 "datachannel_unittest.cc",
386 "dtmfsender_unittest.cc",
deadbeef1dcb1642017-03-29 21:08:16 -0700387 "iceserverparsing_unittest.cc",
ossu7bb87ee2017-01-23 04:56:25 -0800388 "jsepsessiondescription_unittest.cc",
389 "localaudiosource_unittest.cc",
390 "mediaconstraintsinterface_unittest.cc",
391 "mediastream_unittest.cc",
deadbeef1dcb1642017-03-29 21:08:16 -0700392 "peerconnection_integrationtest.cc",
ossu7bb87ee2017-01-23 04:56:25 -0800393 "peerconnectionendtoend_unittest.cc",
394 "peerconnectionfactory_unittest.cc",
395 "peerconnectioninterface_unittest.cc",
Steve Anton94286cb2017-09-26 16:20:19 -0700396 "peerconnectionwrapper.cc",
397 "peerconnectionwrapper.h",
ossu7bb87ee2017-01-23 04:56:25 -0800398 "proxy_unittest.cc",
399 "rtcstats_integrationtest.cc",
400 "rtcstatscollector_unittest.cc",
401 "rtpsenderreceiver_unittest.cc",
402 "sctputils_unittest.cc",
403 "statscollector_unittest.cc",
ossu7bb87ee2017-01-23 04:56:25 -0800404 "test/fakeaudiocapturemodule_unittest.cc",
ossu7bb87ee2017-01-23 04:56:25 -0800405 "test/testsdpstrings.h",
deadbeef804c1af2017-02-11 19:07:31 -0800406 "trackmediainfomap_unittest.cc",
ossu7bb87ee2017-01-23 04:56:25 -0800407 "videocapturertracksource_unittest.cc",
408 "videotrack_unittest.cc",
409 "webrtcsdp_unittest.cc",
410 "webrtcsession_unittest.cc",
411 ]
412
413 if (rtc_enable_sctp) {
414 defines = [ "HAVE_SCTP" ]
415 }
416
417 configs += [ ":peerconnection_unittests_config" ]
418
419 if (!build_with_chromium && is_clang) {
420 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
421 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
422 }
423
424 # TODO(jschuh): Bug 1348: fix this warning.
425 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
426
427 if (is_win) {
428 cflags = [
429 "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
430 "/wd4389", # signed/unsigned mismatch.
431 ]
432 }
433
434 if (rtc_use_quic) {
435 public_deps = [
436 "//third_party/libquic",
437 ]
438 sources += [
439 "quicdatachannel_unittest.cc",
440 "quicdatatransport_unittest.cc",
441 ]
442 }
443
444 deps = []
445 if (is_android) {
Patrik Höglund563934e2017-09-15 09:04:28 +0200446 deps += [ ":android_black_magic" ]
ossu7bb87ee2017-01-23 04:56:25 -0800447 }
448
449 deps += [
450 ":libjingle_peerconnection",
deadbeefe814a0d2017-02-25 18:15:09 -0800451 ":pc_test_utils",
ossu7bb87ee2017-01-23 04:56:25 -0800452 "..:webrtc_common",
453 "../api:fakemetricsobserver",
Patrik Höglund563934e2017-09-15 09:04:28 +0200454 "../api:libjingle_peerconnection_test_api",
455 "../api:rtc_stats_api",
456 "../api/audio_codecs:builtin_audio_decoder_factory",
457 "../api/audio_codecs:builtin_audio_encoder_factory",
458 "../media:rtc_audio_video",
459 "../media:rtc_data", # TODO(phoglund): AFAIK only used for one sctp constant.
460 "../media:rtc_media_base",
mbonadei9087d492017-04-25 00:35:35 -0700461 "../media:rtc_media_tests_utils",
Patrik Höglund563934e2017-09-15 09:04:28 +0200462 "../modules/audio_processing:audio_processing",
463 "../modules/utility:utility",
464 "../p2p:p2p_test_utils",
465 "../p2p:rtc_p2p",
ossu7bb87ee2017-01-23 04:56:25 -0800466 "../pc:rtc_pc",
Patrik Höglund563934e2017-09-15 09:04:28 +0200467 "../rtc_base:rtc_base_approved",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700468 "../rtc_base:rtc_base_tests_main",
469 "../rtc_base:rtc_base_tests_utils",
ossu7bb87ee2017-01-23 04:56:25 -0800470 "../system_wrappers:metrics_default",
kwiberg2b3aa142017-06-14 03:31:17 -0700471 "../test:audio_codec_mocks",
Patrik Höglund563934e2017-09-15 09:04:28 +0200472 "../test:test_support",
ossu7bb87ee2017-01-23 04:56:25 -0800473 ]
474
475 if (is_android) {
Patrik Höglund563934e2017-09-15 09:04:28 +0200476 deps += [
477 "//testing/android/native_test:native_test_support",
478
479 # We need to depend on this one directly, or classloads will fail for
480 # the voice engine BuildInfo, for instance.
481 "../sdk/android:libjingle_peerconnection_java",
482 ]
ossu7bb87ee2017-01-23 04:56:25 -0800483
484 shard_timeout = 900
485 }
486 }
Patrik Höglund563934e2017-09-15 09:04:28 +0200487
488 if (is_android) {
489 rtc_source_set("android_black_magic") {
490 # The android code uses hacky includes to chromium-base and the ssl code;
491 # having this in a separate target enables us to keep the peerconnection
492 # unit tests clean.
493 check_includes = false
494 testonly = true
495 sources = [
496 "test/androidtestinitializer.cc",
497 "test/androidtestinitializer.h",
498 ]
499 deps = [
500 "../sdk/android:libjingle_peerconnection_jni",
501 "//testing/android/native_test:native_test_support",
502 ]
503 }
504 }
kjellander142f8c52016-06-13 00:08:24 -0700505}