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 'libpeer_target_type%': 'static_library',
15 'libpeer_allocator_shim%': 0,
19 'EXPAT_RELATIVE_PATH',
21 'GTEST_RELATIVE_PATH',
25 'LOGGING_INSIDE_LIBJINGLE',
26 'NO_MAIN_THREAD_WRAPPING',
29 'USE_WEBRTC_DEV_BRANCH',
30 'ENABLE_EXTERNAL_AUTH',
35 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
36 # _DEBUG and remove this define. See below as well.
43 './<(libjingle_source)',
44 '../../third_party/webrtc/overrides',
46 '../../testing/gtest/include',
48 '../../third_party/libyuv/include',
49 '../../third_party/usrsctp',
50 '../../third_party/webrtc',
53 '<(DEPTH)/base/base.gyp:base',
54 '<(DEPTH)/net/net.gyp:net',
55 '<(DEPTH)/third_party/expat/expat.gyp:expat',
57 'export_dependent_settings': [
58 '<(DEPTH)/third_party/expat/expat.gyp:expat',
60 'direct_dependent_settings': {
63 './<(libjingle_source)',
64 '../../third_party/webrtc/overrides',
66 '../../testing/gtest/include',
68 '../../third_party/webrtc',
72 'FEATURE_ENABLE_VOICEMAIL',
73 'EXPAT_RELATIVE_PATH',
74 'GTEST_RELATIVE_PATH',
75 'NO_MAIN_THREAD_WRAPPING',
90 '../third_party/platformsdk_win7/files/Include',
93 '_CRT_SECURE_NO_WARNINGS', # Suppres warnings about _vsnprinf
95 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
96 'msvs_disabled_warnings': [ 4267 ],
140 'all_dependent_settings': {
144 # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
145 # _DEBUG and remove this define. See above as well.
152 ['"<(libpeer_target_type)"=="static_library"', {
153 'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
158 'HAVE_OPENSSL_SSL_H',
161 '../../third_party/openssl/openssl.gyp:openssl',
170 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
172 '<(DEPTH)/build/linux/system.gyp:ssl',
175 ['OS == "mac" or OS == "ios" or OS == "win"', {
177 '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl',
178 '<(DEPTH)/third_party/nss/nss.gyp:nspr',
179 '<(DEPTH)/third_party/nss/nss.gyp:nss',
186 '../third_party/platformsdk_win7/files/Include',
189 ['target_arch == "ia32"', {
199 # Don't warn about string->bool used in asserts.
200 '-Wstring-conversion',
204 '-Wstring-conversion',
246 'target_name': 'libjingle',
247 'type': 'static_library',
248 'includes': [ 'libjingle_common.gypi' ],
250 'overrides/talk/base/basictypes.h',
251 'overrides/talk/base/constructormagic.h',
252 'overrides/talk/base/win32socketinit.cc',
254 # Overrides logging.h/.cc because libjingle logging should be done to
255 # the same place as the chromium logging.
256 'overrides/talk/base/logging.cc',
257 'overrides/talk/base/logging.h',
260 # Compiled as part of libjingle_p2p_constants.
261 '<(libjingle_source)/talk/p2p/base/constants.cc',
262 '<(libjingle_source)/talk/p2p/base/constants.h',
264 # Replaced with logging.cc in the overrides.
265 '<(libjingle_source)/talk/base/logging.h',
266 '<(libjingle_source)/talk/base/logging.cc',
269 'libjingle_p2p_constants',
270 '<@(libjingle_additional_deps)',
272 }, # target libjingle
273 # This has to be is a separate project due to a bug in MSVS 2008 and the
274 # current toolset on android. The problem is that we have two files named
275 # "constants.cc" and MSVS/android doesn't handle this properly.
276 # GYP currently has guards to catch this, so if you want to remove it,
277 # run GYP and if GYP has removed the validation check, then we can assume
278 # that the toolchains have been fixed (we currently use VS2010 and later,
279 # so VS2008 isn't a concern anymore).
281 'target_name': 'libjingle_p2p_constants',
282 'type': 'static_library',
284 '<(libjingle_source)/talk/p2p/base/constants.cc',
285 '<(libjingle_source)/talk/p2p/base/constants.h',
287 }, # target libjingle_p2p_constants
289 'target_name': 'peerconnection_server',
290 'type': 'executable',
292 '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc',
293 '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h',
294 '<(libjingle_source)/talk/examples/peerconnection/server/main.cc',
295 '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc',
296 '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h',
297 '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc',
298 '<(libjingle_source)/talk/examples/peerconnection/server/utils.h',
301 '<(libjingle_source)',
306 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
307 'msvs_disabled_warnings': [ 4309, ],
308 }, # target peerconnection_server
311 ['enable_webrtc==1', {
314 'target_name': 'libjingle_webrtc_common',
315 'type': 'static_library',
316 'all_dependent_settings': {
318 ['"<(libpeer_target_type)"=="static_library"', {
319 'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
324 'overrides/talk/media/webrtc/webrtcexport.h',
326 '<(libjingle_source)/talk/app/webrtc/audiotrack.cc',
327 '<(libjingle_source)/talk/app/webrtc/audiotrack.h',
328 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc',
329 '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h',
330 '<(libjingle_source)/talk/app/webrtc/datachannel.cc',
331 '<(libjingle_source)/talk/app/webrtc/datachannel.h',
332 '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc',
333 '<(libjingle_source)/talk/app/webrtc/dtmfsender.h',
334 '<(libjingle_source)/talk/app/webrtc/jsep.h',
335 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc',
336 '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h',
337 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc',
338 '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h',
339 '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc',
340 '<(libjingle_source)/talk/app/webrtc/localaudiosource.h',
341 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc',
342 '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h',
343 '<(libjingle_source)/talk/app/webrtc/mediastream.cc',
344 '<(libjingle_source)/talk/app/webrtc/mediastream.h',
345 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc',
346 '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h',
347 '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h',
348 '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h',
349 '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h',
350 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc',
351 '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h',
352 '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h',
353 '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h',
354 '<(libjingle_source)/talk/app/webrtc/notifier.h',
355 '<(libjingle_source)/talk/app/webrtc/peerconnection.cc',
356 '<(libjingle_source)/talk/app/webrtc/peerconnection.h',
357 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc',
358 '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h',
359 '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h',
360 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc',
361 '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h',
362 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.cc',
363 '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.h',
364 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc',
365 '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h',
366 '<(libjingle_source)/talk/app/webrtc/sctputils.cc',
367 '<(libjingle_source)/talk/app/webrtc/sctputils.h',
368 '<(libjingle_source)/talk/app/webrtc/statscollector.cc',
369 '<(libjingle_source)/talk/app/webrtc/statscollector.h',
370 '<(libjingle_source)/talk/app/webrtc/statstypes.h',
371 '<(libjingle_source)/talk/app/webrtc/streamcollection.h',
372 '<(libjingle_source)/talk/app/webrtc/umametrics.h',
373 '<(libjingle_source)/talk/app/webrtc/videosource.cc',
374 '<(libjingle_source)/talk/app/webrtc/videosource.h',
375 '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h',
376 '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h',
377 '<(libjingle_source)/talk/app/webrtc/videotrack.cc',
378 '<(libjingle_source)/talk/app/webrtc/videotrack.h',
379 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc',
380 '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h',
381 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc',
382 '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h',
383 '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc',
384 '<(libjingle_source)/talk/app/webrtc/webrtcsession.h',
385 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc',
386 '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h',
387 '<(libjingle_source)/talk/media/base/audiorenderer.h',
388 '<(libjingle_source)/talk/media/base/capturemanager.cc',
389 '<(libjingle_source)/talk/media/base/capturemanager.h',
390 '<(libjingle_source)/talk/media/base/capturerenderadapter.cc',
391 '<(libjingle_source)/talk/media/base/capturerenderadapter.h',
392 '<(libjingle_source)/talk/media/base/codec.cc',
393 '<(libjingle_source)/talk/media/base/codec.h',
394 '<(libjingle_source)/talk/media/base/constants.cc',
395 '<(libjingle_source)/talk/media/base/constants.h',
396 '<(libjingle_source)/talk/media/base/cryptoparams.h',
397 '<(libjingle_source)/talk/media/base/filemediaengine.cc',
398 '<(libjingle_source)/talk/media/base/filemediaengine.h',
399 '<(libjingle_source)/talk/media/base/hybriddataengine.h',
400 '<(libjingle_source)/talk/media/base/mediachannel.h',
401 '<(libjingle_source)/talk/media/base/mediaengine.cc',
402 '<(libjingle_source)/talk/media/base/mediaengine.h',
403 '<(libjingle_source)/talk/media/base/rtpdataengine.cc',
404 '<(libjingle_source)/talk/media/base/rtpdataengine.h',
405 '<(libjingle_source)/talk/media/base/rtpdump.cc',
406 '<(libjingle_source)/talk/media/base/rtpdump.h',
407 '<(libjingle_source)/talk/media/base/rtputils.cc',
408 '<(libjingle_source)/talk/media/base/rtputils.h',
409 '<(libjingle_source)/talk/media/base/streamparams.cc',
410 '<(libjingle_source)/talk/media/base/streamparams.h',
411 '<(libjingle_source)/talk/media/base/videoadapter.cc',
412 '<(libjingle_source)/talk/media/base/videoadapter.h',
413 '<(libjingle_source)/talk/media/base/videocapturer.cc',
414 '<(libjingle_source)/talk/media/base/videocapturer.h',
415 '<(libjingle_source)/talk/media/base/videocommon.cc',
416 '<(libjingle_source)/talk/media/base/videocommon.h',
417 '<(libjingle_source)/talk/media/base/videoframe.cc',
418 '<(libjingle_source)/talk/media/base/videoframe.h',
419 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
420 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
421 '<(libjingle_source)/talk/media/devices/filevideocapturer.cc',
422 '<(libjingle_source)/talk/media/devices/filevideocapturer.h',
423 '<(libjingle_source)/talk/media/webrtc/webrtccommon.h',
424 '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc',
425 '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h',
426 '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.cc',
427 '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.h',
428 '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc',
429 '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h',
430 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc',
431 '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h',
432 '<(libjingle_source)/talk/media/webrtc/webrtcvie.h',
433 '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h',
434 '<(libjingle_source)/talk/session/media/audiomonitor.cc',
435 '<(libjingle_source)/talk/session/media/audiomonitor.h',
436 '<(libjingle_source)/talk/session/media/bundlefilter.cc',
437 '<(libjingle_source)/talk/session/media/bundlefilter.h',
438 '<(libjingle_source)/talk/session/media/call.cc',
439 '<(libjingle_source)/talk/session/media/call.h',
440 '<(libjingle_source)/talk/session/media/channel.cc',
441 '<(libjingle_source)/talk/session/media/channel.h',
442 '<(libjingle_source)/talk/session/media/channelmanager.cc',
443 '<(libjingle_source)/talk/session/media/channelmanager.h',
444 '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc',
445 '<(libjingle_source)/talk/session/media/currentspeakermonitor.h',
446 '<(libjingle_source)/talk/session/media/externalhmac.cc',
447 '<(libjingle_source)/talk/session/media/externalhmac.h',
448 '<(libjingle_source)/talk/session/media/mediamessages.cc',
449 '<(libjingle_source)/talk/session/media/mediamessages.h',
450 '<(libjingle_source)/talk/session/media/mediamonitor.cc',
451 '<(libjingle_source)/talk/session/media/mediamonitor.h',
452 '<(libjingle_source)/talk/session/media/mediasession.cc',
453 '<(libjingle_source)/talk/session/media/mediasession.h',
454 '<(libjingle_source)/talk/session/media/mediasessionclient.cc',
455 '<(libjingle_source)/talk/session/media/mediasessionclient.h',
456 '<(libjingle_source)/talk/session/media/mediasink.h',
457 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc',
458 '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h',
459 '<(libjingle_source)/talk/session/media/soundclip.cc',
460 '<(libjingle_source)/talk/session/media/soundclip.h',
461 '<(libjingle_source)/talk/session/media/srtpfilter.cc',
462 '<(libjingle_source)/talk/session/media/srtpfilter.h',
463 '<(libjingle_source)/talk/session/media/typingmonitor.cc',
464 '<(libjingle_source)/talk/session/media/typingmonitor.h',
465 '<(libjingle_source)/talk/session/media/voicechannel.h',
466 '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.cc',
467 '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.h',
468 '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.cc',
469 '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.h',
472 ['libpeer_allocator_shim==1 and '
473 'libpeer_target_type!="static_library" and OS!="mac"', {
475 'overrides/allocator_shim/allocator_stub.cc',
476 'overrides/allocator_shim/allocator_stub.h',
479 # TODO(mallinath) - Enable SCTP for iOS.
485 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc',
486 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h',
489 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
492 ['enabled_libjingle_device_manager==1', {
494 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
495 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
498 '<(libjingle_source)/talk/media/devices/devicemanager.cc',
499 '<(libjingle_source)/talk/media/devices/devicemanager.h',
500 '<(libjingle_source)/talk/sound/nullsoundsystem.cc',
501 '<(libjingle_source)/talk/sound/nullsoundsystem.h',
502 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.cc',
503 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.h',
504 '<(libjingle_source)/talk/sound/platformsoundsystem.cc',
505 '<(libjingle_source)/talk/sound/platformsoundsystem.h',
506 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.cc',
507 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.h',
508 '<(libjingle_source)/talk/sound/soundsysteminterface.cc',
509 '<(libjingle_source)/talk/sound/soundsysteminterface.h',
510 '<(libjingle_source)/talk/sound/soundsystemproxy.cc',
511 '<(libjingle_source)/talk/sound/soundsystemproxy.h',
516 '<(libjingle_source)/talk/base/win32window.cc',
517 '<(libjingle_source)/talk/base/win32window.h',
518 '<(libjingle_source)/talk/base/win32windowpicker.cc',
519 '<(libjingle_source)/talk/base/win32windowpicker.h',
520 '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc',
521 '<(libjingle_source)/talk/media/devices/win32devicemanager.cc',
522 '<(libjingle_source)/talk/media/devices/win32devicemanager.h',
527 '<(libjingle_source)/talk/base/linuxwindowpicker.cc',
528 '<(libjingle_source)/talk/base/linuxwindowpicker.h',
529 '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc',
530 '<(libjingle_source)/talk/media/devices/libudevsymboltable.h',
531 '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc',
532 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc',
533 '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h',
534 '<(libjingle_source)/talk/media/devices/v4llookup.cc',
535 '<(libjingle_source)/talk/media/devices/v4llookup.h',
536 '<(libjingle_source)/talk/sound/alsasoundsystem.cc',
537 '<(libjingle_source)/talk/sound/alsasoundsystem.h',
538 '<(libjingle_source)/talk/sound/alsasymboltable.cc',
539 '<(libjingle_source)/talk/sound/alsasymboltable.h',
540 '<(libjingle_source)/talk/sound/linuxsoundsystem.cc',
541 '<(libjingle_source)/talk/sound/linuxsoundsystem.h',
542 '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.cc',
543 '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.h',
544 '<(libjingle_source)/talk/sound/pulseaudiosymboltable.cc',
545 '<(libjingle_source)/talk/sound/pulseaudiosymboltable.h',
550 '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc',
551 '<(libjingle_source)/talk/media/devices/macdevicemanager.cc',
552 '<(libjingle_source)/talk/media/devices/macdevicemanager.h',
553 '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm',
557 # Suppres warnings about using deprecated functions in
558 # macdevicemanager.cc.
559 '-Wno-deprecated-declarations',
567 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
568 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file',
569 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture_module',
570 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render_module',
573 }, # target libjingle_webrtc_common
575 'target_name': 'libjingle_webrtc',
576 'type': 'static_library',
578 'overrides/init_webrtc.cc',
579 'overrides/init_webrtc.h',
582 'libjingle_webrtc_common',
586 'target_name': 'libpeerconnection',
587 'type': '<(libpeer_target_type)',
589 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc',
590 '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h',
591 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc',
592 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h',
593 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc',
594 '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h',
595 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc',
596 '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
599 '<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers',
600 '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
601 '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc',
602 '<@(libjingle_peerconnection_additional_deps)',
603 'libjingle_webrtc_common',
606 ['libpeer_target_type!="static_library"', {
608 'overrides/initialize_module.cc',
611 ['OS!="mac" and OS!="android"', {
613 'overrides/allocator_shim/allocator_proxy.cc',
618 ['"<(libpeer_target_type)"!="static_library"', {
619 # Used to control symbol export/import.
620 'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ],
622 ['OS=="win" and "<(libpeer_target_type)"!="static_library"', {
631 ['OS!="win" and "<(libpeer_target_type)"!="static_library"', {
633 # For compatibility with how we export symbols from this
634 # target on Windows. This also prevents the linker from
635 # picking up symbols from this target that should be linked
636 # in from other libjingle libs.
637 '-fvisibility=hidden',
640 ['OS=="mac" and libpeer_target_type!="static_library"', {
641 'product_name': 'libpeerconnection',
643 ['OS=="android" and "<(libpeer_target_type)"=="static_library"', {
644 'standalone_static_library': 1,
646 ['OS=="linux" and libpeer_target_type!="static_library"', {
647 # The installer and various tools depend on finding the .so
648 # in this directory and not lib.target as will otherwise be
649 # the case with make builds.
650 'product_dir': '<(PRODUCT_DIR)/lib',
653 }, # target libpeerconnection