1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
7 '../../build/win_precompile.gypi',
10 'enabled_libjingle_device_manager%': 0,
11 'libjingle_additional_deps%': [],
12 'libjingle_peerconnection_additional_deps%': [],
13 'libjingle_source%': "source",
14 'webrtc_p2p': "../webrtc/p2p",
15 'webrtc_xmpp': "../webrtc/libjingle/xmpp",
17 # Most of these settings have been split according to their scope into
18 # :jingle_unexported_configs, :jingle_public_configs,
19 # :jingle_all_dependent_configs in the GN build.
22 'ENABLE_EXTERNAL_AUTH',
23 'EXPAT_RELATIVE_PATH',
25 'GTEST_RELATIVE_PATH',
29 'LOGGING_INSIDE_WEBRTC',
30 'NO_MAIN_THREAD_WRAPPING',
33 'USE_WEBRTC_DEV_BRANCH',
34 'WEBRTC_CHROMIUM_BUILD',
39 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
40 # _DEBUG and remove this define. See below as well.
47 '../../third_party/webrtc/overrides',
48 './<(libjingle_source)',
50 '../../testing/gtest/include',
52 '../../third_party/libyuv/include',
53 '../../third_party/usrsctp',
55 # These dependencies have been translated into :jingle_deps in the GN build.
57 '<(DEPTH)/base/base.gyp:base',
58 '<(DEPTH)/net/net.gyp:net',
59 '<(DEPTH)/third_party/expat/expat.gyp:expat',
61 'export_dependent_settings': [
62 '<(DEPTH)/third_party/expat/expat.gyp:expat',
64 'direct_dependent_settings': {
66 '../../third_party/webrtc/overrides',
68 './<(libjingle_source)',
70 '../../testing/gtest/include',
75 'FEATURE_ENABLE_VOICEMAIL',
76 'EXPAT_RELATIVE_PATH',
77 'GTEST_RELATIVE_PATH',
78 'NO_MAIN_THREAD_WRAPPING',
93 '../third_party/platformsdk_win7/files/Include',
96 '_CRT_SECURE_NO_WARNINGS', # Suppres warnings about _vsnprinf
98 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
99 'msvs_disabled_warnings': [ 4267 ],
157 'all_dependent_settings': {
161 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of _DEBUG and
162 # remove this define. See above and GN file as well.
169 'clang_warning_flags_unset': [
170 # Don't warn about string->bool used in asserts.
171 '-Wstring-conversion',
178 'HAVE_OPENSSL_SSL_H',
181 '../../third_party/boringssl/boringssl.gyp:boringssl',
190 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
192 '<(DEPTH)/build/linux/system.gyp:ssl',
195 ['OS == "mac" or OS == "ios" or OS == "win"', {
197 '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl',
198 '<(DEPTH)/third_party/nss/nss.gyp:nspr',
199 '<(DEPTH)/third_party/nss/nss.gyp:nss',
206 '../third_party/platformsdk_win7/files/Include',
209 ['target_arch == "ia32"', {
263 # GN version: //third_party/libjingle
265 'target_name': 'libjingle',
266 'type': 'static_library',
267 'includes': [ 'libjingle_common.gypi' ],
269 # Compiled as part of libjingle_p2p_constants.
270 '<(webrtc_p2p)/base/constants.cc',
271 '<(webrtc_p2p)/base/constants.h',
274 '<(DEPTH)/third_party/webrtc/base/base.gyp:rtc_base',
275 '<(DEPTH)/third_party/webrtc/libjingle/xmllite/xmllite.gyp:rtc_xmllite',
276 'libjingle_p2p_constants',
277 '<@(libjingle_additional_deps)',
279 }, # target libjingle
280 # This has to be is a separate project due to a bug in MSVS 2008 and the
281 # current toolset on android. The problem is that we have two files named
282 # "constants.cc" and MSVS/android doesn't handle this properly.
283 # GYP currently has guards to catch this, so if you want to remove it,
284 # run GYP and if GYP has removed the validation check, then we can assume
285 # that the toolchains have been fixed (we currently use VS2010 and later,
286 # so VS2008 isn't a concern anymore).
288 # GN version: //third_party/libjingle:libjingle_p2p_constants
290 'target_name': 'libjingle_p2p_constants',
291 'type': 'static_library',
293 '<(webrtc_p2p)/base/constants.cc',
294 '<(webrtc_p2p)/base/constants.h',
296 }, # target libjingle_p2p_constants
299 ['enable_webrtc==1', {
302 # GN version: //third_party/libjingle:libjingle_webrtc_common
303 'target_name': 'libjingle_webrtc_common',
304 'type': 'static_library',
306 '<(libjingle_source)/talk/app/webrtc/audiotrack.cc',
307 '<(libjingle_source)/talk/app/webrtc/audiotrack.h',
308 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc',
309 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h',
310 '<(libjingle_source)/talk/app/webrtc/datachannel.cc',
311 '<(libjingle_source)/talk/app/webrtc/datachannel.h',
312 '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.cc',
313 '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.h',
314 '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc',
315 '<(libjingle_source)/talk/app/webrtc/dtmfsender.h',
316 '<(libjingle_source)/talk/app/webrtc/jsep.h',
317 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc',
318 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h',
319 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc',
320 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h',
321 '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc',
322 '<(libjingle_source)/talk/app/webrtc/localaudiosource.h',
323 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc',
324 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h',
325 '<(libjingle_source)/talk/app/webrtc/mediacontroller.cc',
326 '<(libjingle_source)/talk/app/webrtc/mediacontroller.h',
327 '<(libjingle_source)/talk/app/webrtc/mediastream.cc',
328 '<(libjingle_source)/talk/app/webrtc/mediastream.h',
329 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc',
330 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h',
331 '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h',
332 '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h',
333 '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h',
334 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc',
335 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h',
336 '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h',
337 '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h',
338 '<(libjingle_source)/talk/app/webrtc/notifier.h',
339 '<(libjingle_source)/talk/app/webrtc/peerconnection.cc',
340 '<(libjingle_source)/talk/app/webrtc/peerconnection.h',
341 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc',
342 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h',
343 '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h',
344 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc',
345 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h',
346 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.cc',
347 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.h',
348 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc',
349 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h',
350 '<(libjingle_source)/talk/app/webrtc/sctputils.cc',
351 '<(libjingle_source)/talk/app/webrtc/sctputils.h',
352 '<(libjingle_source)/talk/app/webrtc/statscollector.cc',
353 '<(libjingle_source)/talk/app/webrtc/statscollector.h',
354 '<(libjingle_source)/talk/app/webrtc/statstypes.cc',
355 '<(libjingle_source)/talk/app/webrtc/statstypes.h',
356 '<(libjingle_source)/talk/app/webrtc/streamcollection.h',
357 '<(libjingle_source)/talk/app/webrtc/umametrics.h',
358 '<(libjingle_source)/talk/app/webrtc/videosource.cc',
359 '<(libjingle_source)/talk/app/webrtc/videosource.h',
360 '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h',
361 '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h',
362 '<(libjingle_source)/talk/app/webrtc/videotrack.cc',
363 '<(libjingle_source)/talk/app/webrtc/videotrack.h',
364 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc',
365 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h',
366 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc',
367 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h',
368 '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc',
369 '<(libjingle_source)/talk/app/webrtc/webrtcsession.h',
370 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc',
371 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h',
372 '<(libjingle_source)/talk/media/base/audiorenderer.h',
373 '<(libjingle_source)/talk/media/base/capturemanager.cc',
374 '<(libjingle_source)/talk/media/base/capturemanager.h',
375 '<(libjingle_source)/talk/media/base/capturerenderadapter.cc',
376 '<(libjingle_source)/talk/media/base/capturerenderadapter.h',
377 '<(libjingle_source)/talk/media/base/codec.cc',
378 '<(libjingle_source)/talk/media/base/codec.h',
379 '<(libjingle_source)/talk/media/base/constants.cc',
380 '<(libjingle_source)/talk/media/base/constants.h',
381 '<(libjingle_source)/talk/media/base/cryptoparams.h',
382 '<(libjingle_source)/talk/media/base/hybriddataengine.h',
383 '<(libjingle_source)/talk/media/base/mediachannel.h',
384 '<(libjingle_source)/talk/media/base/mediaengine.cc',
385 '<(libjingle_source)/talk/media/base/mediaengine.h',
386 '<(libjingle_source)/talk/media/base/rtpdataengine.cc',
387 '<(libjingle_source)/talk/media/base/rtpdataengine.h',
388 '<(libjingle_source)/talk/media/base/rtpdump.cc',
389 '<(libjingle_source)/talk/media/base/rtpdump.h',
390 '<(libjingle_source)/talk/media/base/rtputils.cc',
391 '<(libjingle_source)/talk/media/base/rtputils.h',
392 '<(libjingle_source)/talk/media/base/streamparams.cc',
393 '<(libjingle_source)/talk/media/base/streamparams.h',
394 '<(libjingle_source)/talk/media/base/videoadapter.cc',
395 '<(libjingle_source)/talk/media/base/videoadapter.h',
396 '<(libjingle_source)/talk/media/base/videocapturer.cc',
397 '<(libjingle_source)/talk/media/base/videocapturer.h',
398 '<(libjingle_source)/talk/media/base/videocommon.cc',
399 '<(libjingle_source)/talk/media/base/videocommon.h',
400 '<(libjingle_source)/talk/media/base/videoframe.cc',
401 '<(libjingle_source)/talk/media/base/videoframe.h',
402 '<(libjingle_source)/talk/media/base/videoframefactory.cc',
403 '<(libjingle_source)/talk/media/base/videoframefactory.h',
404 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
405 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
406 '<(libjingle_source)/talk/media/devices/filevideocapturer.cc',
407 '<(libjingle_source)/talk/media/devices/filevideocapturer.h',
408 '<(libjingle_source)/talk/media/webrtc/webrtccommon.h',
409 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc',
410 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h',
411 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.cc',
412 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.h',
413 '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h',
414 '<(libjingle_source)/talk/session/media/audiomonitor.cc',
415 '<(libjingle_source)/talk/session/media/audiomonitor.h',
416 '<(libjingle_source)/talk/session/media/bundlefilter.cc',
417 '<(libjingle_source)/talk/session/media/bundlefilter.h',
418 '<(libjingle_source)/talk/session/media/channel.cc',
419 '<(libjingle_source)/talk/session/media/channel.h',
420 '<(libjingle_source)/talk/session/media/channelmanager.cc',
421 '<(libjingle_source)/talk/session/media/channelmanager.h',
422 '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc',
423 '<(libjingle_source)/talk/session/media/currentspeakermonitor.h',
424 '<(libjingle_source)/talk/session/media/externalhmac.cc',
425 '<(libjingle_source)/talk/session/media/externalhmac.h',
426 '<(libjingle_source)/talk/session/media/mediamonitor.cc',
427 '<(libjingle_source)/talk/session/media/mediamonitor.h',
428 '<(libjingle_source)/talk/session/media/mediasession.cc',
429 '<(libjingle_source)/talk/session/media/mediasession.h',
430 '<(libjingle_source)/talk/session/media/mediasink.h',
431 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc',
432 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h',
433 '<(libjingle_source)/talk/session/media/srtpfilter.cc',
434 '<(libjingle_source)/talk/session/media/srtpfilter.h',
435 '<(libjingle_source)/talk/session/media/voicechannel.h',
438 # TODO(mallinath) - Enable SCTP for iOS.
444 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc',
445 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h',
448 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
451 ['enabled_libjingle_device_manager==1', {
453 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
454 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
457 '<(libjingle_source)/talk/media/devices/devicemanager.cc',
458 '<(libjingle_source)/talk/media/devices/devicemanager.h',
463 '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc',
464 '<(libjingle_source)/talk/media/devices/win32devicemanager.cc',
465 '<(libjingle_source)/talk/media/devices/win32devicemanager.h',
470 '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc',
471 '<(libjingle_source)/talk/media/devices/libudevsymboltable.h',
472 '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc',
473 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc',
474 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h',
475 '<(libjingle_source)/talk/media/devices/v4llookup.cc',
476 '<(libjingle_source)/talk/media/devices/v4llookup.h',
481 '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc',
482 '<(libjingle_source)/talk/media/devices/macdevicemanager.cc',
483 '<(libjingle_source)/talk/media/devices/macdevicemanager.h',
484 '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm',
488 # Suppres warnings about using deprecated functions in
489 # macdevicemanager.cc.
490 '-Wno-deprecated-declarations',
498 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
499 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file',
500 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture',
501 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render',
504 }, # target libjingle_webrtc_common
506 # GN version: //third_party/libjingle:libjingle_webrtc
507 'target_name': 'libjingle_webrtc',
508 'type': 'static_library',
510 'overrides/init_webrtc.cc',
511 'overrides/init_webrtc.h',
514 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:audio_processing',
515 'libjingle_webrtc_common',
519 # GN version: //third_party/libjingle:libpeerconnection
520 'target_name': 'libpeerconnection',
521 'type': 'static_library',
523 # Note: sources list duplicated in GN build.
524 '<(libjingle_source)/talk/media/webrtc/simulcast.cc',
525 '<(libjingle_source)/talk/media/webrtc/simulcast.h',
526 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc',
527 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h',
528 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc',
529 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h',
530 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc',
531 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
534 '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
535 '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc',
536 '<@(libjingle_peerconnection_additional_deps)',
537 'libjingle_webrtc_common',
541 'standalone_static_library': 1,
544 }, # target libpeerconnection