Fast user switcher: Add "(Supervised)" label for supervised users
[chromium-blink-merge.git] / third_party / libjingle / libjingle.gyp
bloba35931d711c974542e9fcf81cc8d1cce5c935742
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.
6   'includes': [
7     '../../build/win_precompile.gypi',
8   ],
9   'variables': {
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     'webrtc_p2p': "../webrtc/p2p",
16     'webrtc_xmpp': "../webrtc/libjingle/xmpp",
17   },
18   # Most of these settings have been split according to their scope into
19   # :jingle_unexported_configs, :jingle_direct_dependent_configs,
20   # :jingle_all_dependent_configs in the GN build.
21   'target_defaults': {
22     'defines': [
23       'EXPAT_RELATIVE_PATH',
24       'FEATURE_ENABLE_SSL',
25       'GTEST_RELATIVE_PATH',
26       'HAVE_SRTP',
27       'HAVE_WEBRTC_VIDEO',
28       'HAVE_WEBRTC_VOICE',
29       'LOGGING_INSIDE_WEBRTC',
30       'NO_MAIN_THREAD_WRAPPING',
31       'NO_SOUND_SYSTEM',
32       'SRTP_RELATIVE_PATH',
33       'USE_WEBRTC_DEV_BRANCH',
34       'ENABLE_EXTERNAL_AUTH',
35       'WEBRTC_CHROMIUM_BUILD',
36     ],
37     'configurations': {
38       'Debug': {
39         'defines': [
40           # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
41           # _DEBUG and remove this define. See below as well.
42           '_DEBUG',
43         ],
44       }
45     },
46     'include_dirs': [
47       './overrides',
48       '../../third_party/webrtc/overrides',
49       './<(libjingle_source)',
50       '../..',
51       '../../testing/gtest/include',
52       '../../third_party',
53       '../../third_party/libyuv/include',
54       '../../third_party/usrsctp',
55     ],
56     # These dependencies have been translated into :jingle_deps in the GN build.
57     'dependencies': [
58       '<(DEPTH)/base/base.gyp:base',
59       '<(DEPTH)/net/net.gyp:net',
60       '<(DEPTH)/third_party/expat/expat.gyp:expat',
61     ],
62     'export_dependent_settings': [
63       '<(DEPTH)/third_party/expat/expat.gyp:expat',
64     ],
65     'direct_dependent_settings': {
66       'include_dirs': [
67         '../../third_party/webrtc/overrides',
68         './overrides',
69         './<(libjingle_source)',
70         '../..',
71         '../../testing/gtest/include',
72         '../../third_party',
73       ],
74       'defines': [
75         'FEATURE_ENABLE_SSL',
76         'FEATURE_ENABLE_VOICEMAIL',
77         'EXPAT_RELATIVE_PATH',
78         'GTEST_RELATIVE_PATH',
79         'NO_MAIN_THREAD_WRAPPING',
80         'NO_SOUND_SYSTEM',
81       ],
82       'conditions': [
83         ['OS=="win"', {
84           'link_settings': {
85             'libraries': [
86               '-lsecur32.lib',
87               '-lcrypt32.lib',
88               '-liphlpapi.lib',
89             ],
90           },
91         }],
92         ['OS=="win"', {
93           'include_dirs': [
94             '../third_party/platformsdk_win7/files/Include',
95           ],
96           'defines': [
97             '_CRT_SECURE_NO_WARNINGS',  # Suppres warnings about _vsnprinf
98           ],
99           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
100           'msvs_disabled_warnings': [ 4267 ],
101         }],
102         ['OS=="linux"', {
103           'defines': [
104             'LINUX',
105             'WEBRTC_LINUX',
106           ],
107         }],
108         ['OS=="mac"', {
109           'defines': [
110             'OSX',
111             'WEBRTC_MAC',
112           ],
113         }],
114         ['OS=="ios"', {
115           'defines': [
116             'IOS',
117             'WEBRTC_MAC',
118             'WEBRTC_IOS',
119           ],
120         }],
121         ['OS=="win"', {
122           'defines': [
123             'WEBRTC_WIN',
124           ],
125         }],
126         ['OS=="android"', {
127           'defines': [
128             'ANDROID',
129           ],
130         }],
131         ['os_posix==1', {
132           'defines': [
133             'POSIX',
134             'WEBRTC_POSIX',
135           ],
136         }],
137         ['os_bsd==1', {
138           'defines': [
139             'BSD',
140           ],
141         }],
142         ['OS=="openbsd"', {
143           'defines': [
144             'OPENBSD',
145           ],
146         }],
147         ['OS=="freebsd"', {
148           'defines': [
149             'FREEBSD',
150           ],
151         }],
152         ['chromeos==1', {
153           'defines': [
154             'CHROMEOS',
155           ],
156         }],
157       ],
158     },
159     'all_dependent_settings': {
160       'configurations': {
161         'Debug': {
162           'defines': [
163             # TODO(sergeyu): Fix libjingle to use NDEBUG instead of _DEBUG and
164             # remove this define. See above and GN file as well.
165             '_DEBUG',
166           ],
167         }
168       },
169     },
170     'variables': {
171       'clang_warning_flags_unset': [
172         # Don't warn about string->bool used in asserts.
173         '-Wstring-conversion',
174       ],
175     },
176     'conditions': [
177       ['"<(libpeer_target_type)"=="static_library"', {
178         'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
179       }],
180       ['use_openssl==1', {
181         'defines': [
182           'SSL_USE_OPENSSL',
183           'HAVE_OPENSSL_SSL_H',
184         ],
185         'dependencies': [
186           '../../third_party/boringssl/boringssl.gyp:boringssl',
187         ],
188       }, {
189         'defines': [
190           'SSL_USE_NSS',
191           'HAVE_NSS_SSL_H',
192           'SSL_USE_NSS_RNG',
193         ],
194         'conditions': [
195           ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
196             'dependencies': [
197               '<(DEPTH)/build/linux/system.gyp:ssl',
198             ],
199           }],
200           ['OS == "mac" or OS == "ios" or OS == "win"', {
201             'dependencies': [
202               '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl',
203               '<(DEPTH)/third_party/nss/nss.gyp:nspr',
204               '<(DEPTH)/third_party/nss/nss.gyp:nss',
205             ],
206           }],
207         ],
208       }],
209       ['OS=="win"', {
210         'include_dirs': [
211           '../third_party/platformsdk_win7/files/Include',
212         ],
213         'conditions' : [
214           ['target_arch == "ia32"', {
215             'defines': [
216               '_USE_32BIT_TIME_T',
217             ],
218           }],
219         ],
220       }],
221       ['OS=="linux"', {
222         'defines': [
223           'LINUX',
224           'WEBRTC_LINUX',
225         ],
226       }],
227       ['OS=="mac"', {
228         'defines': [
229           'OSX',
230           'WEBRTC_MAC',
231         ],
232       }],
233       ['OS=="win"', {
234         'defines': [
235           'WEBRTC_WIN',
236         ],
237       }],
238       ['OS=="ios"', {
239         'defines': [
240           'IOS',
241           'WEBRTC_MAC',
242           'WEBRTC_IOS',
243         ],
244       }],
245       ['os_posix == 1', {
246         'defines': [
247           'POSIX',
248           'WEBRTC_POSIX',
249         ],
250       }],
251       ['os_bsd==1', {
252         'defines': [
253           'BSD',
254         ],
255       }],
256       ['OS=="openbsd"', {
257         'defines': [
258           'OPENBSD',
259         ],
260       }],
261       ['OS=="freebsd"', {
262         'defines': [
263           'FREEBSD',
264         ],
265       }],
266     ],
267   },
268   'targets': [
269     # GN version: //third_party/libjingle
270     {
271       'target_name': 'libjingle',
272       'type': 'static_library',
273       'includes': [ 'libjingle_common.gypi' ],
274       'sources!' : [
275         # Compiled as part of libjingle_p2p_constants.
276         '<(webrtc_p2p)/base/constants.cc',
277         '<(webrtc_p2p)/base/constants.h',
278       ],
279       'dependencies': [
280         '<(DEPTH)/third_party/webrtc/base/base.gyp:rtc_base',
281         '<(DEPTH)/third_party/webrtc/libjingle/xmllite/xmllite.gyp:rtc_xmllite',
282         'libjingle_p2p_constants',
283         '<@(libjingle_additional_deps)',
284       ],
285     },  # target libjingle
286     # This has to be is a separate project due to a bug in MSVS 2008 and the
287     # current toolset on android.  The problem is that we have two files named
288     # "constants.cc" and MSVS/android doesn't handle this properly.
289     # GYP currently has guards to catch this, so if you want to remove it,
290     # run GYP and if GYP has removed the validation check, then we can assume
291     # that the toolchains have been fixed (we currently use VS2010 and later,
292     # so VS2008 isn't a concern anymore).
293     #
294     # GN version: //third_party/libjingle:libjingle_p2p_constants
295     {
296       'target_name': 'libjingle_p2p_constants',
297       'type': 'static_library',
298       'sources': [
299         '<(webrtc_p2p)/base/constants.cc',
300         '<(webrtc_p2p)/base/constants.h',
301       ],
302     },  # target libjingle_p2p_constants
303     # GN version: //third_party/libjingle:peerconnection_server
304     {
305       'target_name': 'peerconnection_server',
306       'type': 'executable',
307       'sources': [
308         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc',
309         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h',
310         '<(libjingle_source)/talk/examples/peerconnection/server/main.cc',
311         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc',
312         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h',
313         '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc',
314         '<(libjingle_source)/talk/examples/peerconnection/server/utils.h',
315       ],
316       'include_dirs': [
317         '<(libjingle_source)',
318       ],
319       'dependencies': [
320         'libjingle',
321       ],
322       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
323       'msvs_disabled_warnings': [ 4309, ],
324     }, # target peerconnection_server
325   ],
326   'conditions': [
327     ['enable_webrtc==1', {
328       'targets': [
329         {
330           # GN version: //third_party/libjingle:libjingle_webrtc_common
331           'target_name': 'libjingle_webrtc_common',
332           'type': 'static_library',
333           'all_dependent_settings': {
334             'conditions': [
335               ['"<(libpeer_target_type)"=="static_library"', {
336                 'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
337               }],
338             ],
339           },
340           'sources': [
341             'overrides/talk/media/webrtc/webrtcexport.h',
343             '<(libjingle_source)/talk/app/webrtc/audiotrack.cc',
344             '<(libjingle_source)/talk/app/webrtc/audiotrack.h',
345             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc',
346             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h',
347             '<(libjingle_source)/talk/app/webrtc/datachannel.cc',
348             '<(libjingle_source)/talk/app/webrtc/datachannel.h',
349             '<(libjingle_source)/talk/app/webrtc/dtlsidentityservice.cc',
350             '<(libjingle_source)/talk/app/webrtc/dtlsidentityservice.h',
351             '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.cc',
352             '<(libjingle_source)/talk/app/webrtc/dtlsidentitystore.h',
353             '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc',
354             '<(libjingle_source)/talk/app/webrtc/dtmfsender.h',
355             '<(libjingle_source)/talk/app/webrtc/jsep.h',
356             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc',
357             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h',
358             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc',
359             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h',
360             '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc',
361             '<(libjingle_source)/talk/app/webrtc/localaudiosource.h',
362             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc',
363             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h',
364             '<(libjingle_source)/talk/app/webrtc/mediastream.cc',
365             '<(libjingle_source)/talk/app/webrtc/mediastream.h',
366             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc',
367             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h',
368             '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h',
369             '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h',
370             '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h',
371             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc',
372             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h',
373             '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h',
374             '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h',
375             '<(libjingle_source)/talk/app/webrtc/notifier.h',
376             '<(libjingle_source)/talk/app/webrtc/peerconnection.cc',
377             '<(libjingle_source)/talk/app/webrtc/peerconnection.h',
378             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc',
379             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h',
380             '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h',
381             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc',
382             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h',
383             '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.cc',
384             '<(libjingle_source)/talk/app/webrtc/remoteaudiosource.h',
385             '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc',
386             '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h',
387             '<(libjingle_source)/talk/app/webrtc/sctputils.cc',
388             '<(libjingle_source)/talk/app/webrtc/sctputils.h',
389             '<(libjingle_source)/talk/app/webrtc/statscollector.cc',
390             '<(libjingle_source)/talk/app/webrtc/statscollector.h',
391             '<(libjingle_source)/talk/app/webrtc/statstypes.cc',
392             '<(libjingle_source)/talk/app/webrtc/statstypes.h',
393             '<(libjingle_source)/talk/app/webrtc/streamcollection.h',
394             '<(libjingle_source)/talk/app/webrtc/umametrics.h',
395             '<(libjingle_source)/talk/app/webrtc/videosource.cc',
396             '<(libjingle_source)/talk/app/webrtc/videosource.h',
397             '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h',
398             '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h',
399             '<(libjingle_source)/talk/app/webrtc/videotrack.cc',
400             '<(libjingle_source)/talk/app/webrtc/videotrack.h',
401             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc',
402             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h',
403             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc',
404             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h',
405             '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc',
406             '<(libjingle_source)/talk/app/webrtc/webrtcsession.h',
407             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc',
408             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h',
409             '<(libjingle_source)/talk/media/base/audiorenderer.h',
410             '<(libjingle_source)/talk/media/base/capturemanager.cc',
411             '<(libjingle_source)/talk/media/base/capturemanager.h',
412             '<(libjingle_source)/talk/media/base/capturerenderadapter.cc',
413             '<(libjingle_source)/talk/media/base/capturerenderadapter.h',
414             '<(libjingle_source)/talk/media/base/codec.cc',
415             '<(libjingle_source)/talk/media/base/codec.h',
416             '<(libjingle_source)/talk/media/base/constants.cc',
417             '<(libjingle_source)/talk/media/base/constants.h',
418             '<(libjingle_source)/talk/media/base/cryptoparams.h',
419             '<(libjingle_source)/talk/media/base/filemediaengine.cc',
420             '<(libjingle_source)/talk/media/base/filemediaengine.h',
421             '<(libjingle_source)/talk/media/base/hybriddataengine.h',
422             '<(libjingle_source)/talk/media/base/mediachannel.h',
423             '<(libjingle_source)/talk/media/base/mediaengine.cc',
424             '<(libjingle_source)/talk/media/base/mediaengine.h',
425             '<(libjingle_source)/talk/media/base/rtpdataengine.cc',
426             '<(libjingle_source)/talk/media/base/rtpdataengine.h',
427             '<(libjingle_source)/talk/media/base/rtpdump.cc',
428             '<(libjingle_source)/talk/media/base/rtpdump.h',
429             '<(libjingle_source)/talk/media/base/rtputils.cc',
430             '<(libjingle_source)/talk/media/base/rtputils.h',
431             '<(libjingle_source)/talk/media/base/streamparams.cc',
432             '<(libjingle_source)/talk/media/base/streamparams.h',
433             '<(libjingle_source)/talk/media/base/videoadapter.cc',
434             '<(libjingle_source)/talk/media/base/videoadapter.h',
435             '<(libjingle_source)/talk/media/base/videocapturer.cc',
436             '<(libjingle_source)/talk/media/base/videocapturer.h',
437             '<(libjingle_source)/talk/media/base/videocommon.cc',
438             '<(libjingle_source)/talk/media/base/videocommon.h',
439             '<(libjingle_source)/talk/media/base/videoframe.cc',
440             '<(libjingle_source)/talk/media/base/videoframe.h',
441             '<(libjingle_source)/talk/media/base/videoframefactory.cc',
442             '<(libjingle_source)/talk/media/base/videoframefactory.h',
443             '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
444             '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
445             '<(libjingle_source)/talk/media/devices/filevideocapturer.cc',
446             '<(libjingle_source)/talk/media/devices/filevideocapturer.h',
447             '<(libjingle_source)/talk/media/webrtc/webrtccommon.h',
448             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc',
449             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h',
450             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc',
451             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h',
452             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc',
453             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h',
454             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.cc',
455             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframefactory.h',
456             '<(libjingle_source)/talk/media/webrtc/webrtcvie.h',
457             '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h',
458             '<(libjingle_source)/talk/session/media/audiomonitor.cc',
459             '<(libjingle_source)/talk/session/media/audiomonitor.h',
460             '<(libjingle_source)/talk/session/media/bundlefilter.cc',
461             '<(libjingle_source)/talk/session/media/bundlefilter.h',
462             '<(libjingle_source)/talk/session/media/channel.cc',
463             '<(libjingle_source)/talk/session/media/channel.h',
464             '<(libjingle_source)/talk/session/media/channelmanager.cc',
465             '<(libjingle_source)/talk/session/media/channelmanager.h',
466             '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc',
467             '<(libjingle_source)/talk/session/media/currentspeakermonitor.h',
468             '<(libjingle_source)/talk/session/media/externalhmac.cc',
469             '<(libjingle_source)/talk/session/media/externalhmac.h',
470             '<(libjingle_source)/talk/session/media/mediamonitor.cc',
471             '<(libjingle_source)/talk/session/media/mediamonitor.h',
472             '<(libjingle_source)/talk/session/media/mediasession.cc',
473             '<(libjingle_source)/talk/session/media/mediasession.h',
474             '<(libjingle_source)/talk/session/media/mediasink.h',
475             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc',
476             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h',
477             '<(libjingle_source)/talk/session/media/soundclip.cc',
478             '<(libjingle_source)/talk/session/media/soundclip.h',
479             '<(libjingle_source)/talk/session/media/srtpfilter.cc',
480             '<(libjingle_source)/talk/session/media/srtpfilter.h',
481             '<(libjingle_source)/talk/session/media/typingmonitor.cc',
482             '<(libjingle_source)/talk/session/media/typingmonitor.h',
483             '<(libjingle_source)/talk/session/media/voicechannel.h',
484           ],
485           'conditions': [
486             # TODO(mallinath) - Enable SCTP for iOS.
487             ['OS!="ios"', {
488               'defines': [
489                 'HAVE_SCTP',
490               ],
491               'sources': [
492                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc',
493                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h',
494               ],
495               'dependencies': [
496                 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
497               ],
498             }],
499             ['enabled_libjingle_device_manager==1', {
500               'sources!': [
501                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
502                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
503               ],
504               'sources': [
505                 '<(libjingle_source)/talk/media/devices/devicemanager.cc',
506                 '<(libjingle_source)/talk/media/devices/devicemanager.h',
507               ],
508               'conditions': [
509                 ['OS=="win"', {
510                   'sources': [
511                     '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc',
512                     '<(libjingle_source)/talk/media/devices/win32devicemanager.cc',
513                     '<(libjingle_source)/talk/media/devices/win32devicemanager.h',
514                   ],
515                 }],
516                 ['OS=="linux"', {
517                   'sources': [
518                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc',
519                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.h',
520                     '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc',
521                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc',
522                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h',
523                     '<(libjingle_source)/talk/media/devices/v4llookup.cc',
524                     '<(libjingle_source)/talk/media/devices/v4llookup.h',
525                   ],
526                 }],
527                 ['OS=="mac"', {
528                   'sources': [
529                     '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc',
530                     '<(libjingle_source)/talk/media/devices/macdevicemanager.cc',
531                     '<(libjingle_source)/talk/media/devices/macdevicemanager.h',
532                     '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm',
533                   ],
534                   'xcode_settings': {
535                     'WARNING_CFLAGS': [
536                       # Suppres warnings about using deprecated functions in
537                       # macdevicemanager.cc.
538                       '-Wno-deprecated-declarations',
539                     ],
540                   },
541                 }],
542               ],
543             }],
544           ],
545           'dependencies': [
546             '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
547             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file',
548             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture',
549             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render',
550             'libjingle',
551           ],
552         },  # target libjingle_webrtc_common
553         {
554           # GN version: //third_party/libjingle:libjingle_webrtc
555           'target_name': 'libjingle_webrtc',
556           'type': 'static_library',
557           'sources': [
558             'overrides/init_webrtc.cc',
559             'overrides/init_webrtc.h',
560           ],
561           'dependencies': [
562             'libjingle_webrtc_common',
563           ],
564           'conditions': [
565             ['libpeer_target_type=="static_library"', {
566               'dependencies': [
567                 '<(DEPTH)/third_party/webrtc/modules/modules.gyp:audio_processing',
568               ],
569             }],
570           ],
571         },
572         {
573           # GN version: //third_party/libjingle:libpeerconnection
574           'target_name': 'libpeerconnection',
575           'type': '<(libpeer_target_type)',
576           'sources': [
577             # Note: sources list duplicated in GN build.
578             '<(libjingle_source)/talk/media/webrtc/simulcast.cc',
579             '<(libjingle_source)/talk/media/webrtc/simulcast.h',
580             '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.cc',
581             '<(libjingle_source)/talk/media/webrtc/webrtcmediaengine.h',
582             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc',
583             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h',
584             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.cc',
585             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine2.h',
586             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc',
587             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
588           ],
589           'dependencies': [
590             '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
591             '<(DEPTH)/third_party/webrtc/webrtc.gyp:webrtc',
592             '<@(libjingle_peerconnection_additional_deps)',
593             'libjingle_webrtc_common',
594           ],
595           'conditions': [
596             ['libpeer_target_type!="static_library"', {
597               'sources': [
598                 'overrides/initialize_module.cc',
599               ],
600               'conditions': [
601                 ['OS!="mac" and OS!="android"', {
602                   'sources': [
603                     'overrides/allocator_shim/allocator_proxy.cc',
604                   ],
605                 }],
606               ],
607             }],
608             ['"<(libpeer_target_type)"!="static_library"', {
609               # Used to control symbol export/import.
610               'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ],
611             }],
612             ['OS=="win" and "<(libpeer_target_type)"!="static_library"', {
613               'link_settings': {
614                 'libraries': [
615                   '-lsecur32.lib',
616                   '-lcrypt32.lib',
617                   '-liphlpapi.lib',
618                 ],
619               },
620             }],
621             ['OS!="win" and "<(libpeer_target_type)"!="static_library"', {
622               'cflags': [
623                 # For compatibility with how we export symbols from this
624                 # target on Windows.  This also prevents the linker from
625                 # picking up symbols from this target that should be linked
626                 # in from other libjingle libs.
627                 '-fvisibility=hidden',
628               ],
629             }],
630             ['OS=="mac" and libpeer_target_type!="static_library"', {
631               'product_name': 'libpeerconnection',
632             }],
633             ['OS=="android" and "<(libpeer_target_type)"=="static_library"', {
634               'standalone_static_library': 1,
635             }],
636             ['OS=="linux" and libpeer_target_type!="static_library"', {
637               # The installer and various tools depend on finding the .so
638               # in this directory and not lib.target as will otherwise be
639               # the case with make builds.
640               'product_dir': '<(PRODUCT_DIR)/lib',
641             }],
642           ],
643         },  # target libpeerconnection
644       ],
645     }],
646   ],