- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / libjingle / libjingle.gyp
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.
4
5 {
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     'libpeer_allocator_shim%': 0,
16   },
17   'target_defaults': {
18     'defines': [
19       'EXPAT_RELATIVE_PATH',
20       'FEATURE_ENABLE_SSL',
21       'GTEST_RELATIVE_PATH',
22       'HAVE_SRTP',
23       'HAVE_WEBRTC_VIDEO',
24       'HAVE_WEBRTC_VOICE',
25       'JSONCPP_RELATIVE_PATH',
26       'LOGGING_INSIDE_LIBJINGLE',
27       'NO_MAIN_THREAD_WRAPPING',
28       'NO_SOUND_SYSTEM',
29       'SRTP_RELATIVE_PATH',
30       'USE_WEBRTC_DEV_BRANCH',
31     ],
32     'configurations': {
33       'Debug': {
34         'defines': [
35           # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
36           # _DEBUG and remove this define. See below as well.
37           '_DEBUG',
38         ],
39       }
40     },
41     'include_dirs': [
42       './overrides',
43       './<(libjingle_source)',
44       '../../testing/gtest/include',
45       '../../third_party',
46       '../../third_party/libyuv/include',
47       '../../third_party/usrsctp',
48       '../../third_party/webrtc',
49     ],
50     'dependencies': [
51       '<(DEPTH)/base/base.gyp:base',
52       '<(DEPTH)/net/net.gyp:net',
53       '<(DEPTH)/third_party/expat/expat.gyp:expat',
54     ],
55     'export_dependent_settings': [
56       '<(DEPTH)/third_party/expat/expat.gyp:expat',
57     ],
58     'direct_dependent_settings': {
59       'include_dirs': [
60         './overrides',
61         './<(libjingle_source)',
62         '../../testing/gtest/include',
63         '../../third_party',
64         '../../third_party/webrtc',
65       ],
66       'defines': [
67         'FEATURE_ENABLE_SSL',
68         'FEATURE_ENABLE_VOICEMAIL',
69         'EXPAT_RELATIVE_PATH',
70         'GTEST_RELATIVE_PATH',
71         'JSONCPP_RELATIVE_PATH',
72         'NO_MAIN_THREAD_WRAPPING',
73         'NO_SOUND_SYSTEM',
74       ],
75       'conditions': [
76         ['OS=="win"', {
77           'link_settings': {
78             'libraries': [
79               '-lsecur32.lib',
80               '-lcrypt32.lib',
81               '-liphlpapi.lib',
82             ],
83           },
84         }],
85         ['OS=="win"', {
86           'include_dirs': [
87             '../third_party/platformsdk_win7/files/Include',
88           ],
89           'defines': [
90             '_CRT_SECURE_NO_WARNINGS',  # Suppres warnings about _vsnprinf
91           ],
92           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
93           'msvs_disabled_warnings': [ 4267 ],
94         }],
95         ['OS=="linux"', {
96           'defines': [
97             'LINUX',
98           ],
99         }],
100         ['OS=="mac"', {
101           'defines': [
102             'OSX',
103           ],
104         }],
105         ['OS=="android"', {
106           'defines': [
107             'ANDROID',
108           ],
109         }],
110         ['os_posix==1', {
111           'defines': [
112             'POSIX',
113           ],
114         }],
115         ['os_bsd==1', {
116           'defines': [
117             'BSD',
118           ],
119         }],
120         ['OS=="openbsd"', {
121           'defines': [
122             'OPENBSD',
123           ],
124         }],
125         ['OS=="freebsd"', {
126           'defines': [
127             'FREEBSD',
128           ],
129         }],
130         ['chromeos==1', {
131           'defines': [
132             'CHROMEOS',
133           ],
134         }],
135       ],
136     },
137     'all_dependent_settings': {
138       'configurations': {
139         'Debug': {
140           'defines': [
141             # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
142             # _DEBUG and remove this define. See above as well.
143             '_DEBUG',
144           ],
145         }
146       },
147     },
148     'conditions': [
149       ['"<(libpeer_target_type)"=="static_library"', {
150         'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
151       }],
152       ['use_openssl==1', {
153         'defines': [
154           'SSL_USE_OPENSSL',
155           'HAVE_OPENSSL_SSL_H',
156         ],
157         'dependencies': [
158           '../../third_party/openssl/openssl.gyp:openssl',
159         ],
160       }, {
161         'defines': [
162           'SSL_USE_NSS',
163           'HAVE_NSS_SSL_H',
164           'SSL_USE_NSS_RNG',
165         ],
166         'conditions': [
167           ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
168             'dependencies': [
169               '<(DEPTH)/build/linux/system.gyp:ssl',
170             ],
171           }],
172           ['OS == "mac" or OS == "ios" or OS == "win"', {
173             'dependencies': [
174               '<(DEPTH)/net/third_party/nss/ssl.gyp:libssl',
175               '<(DEPTH)/third_party/nss/nss.gyp:nspr',
176               '<(DEPTH)/third_party/nss/nss.gyp:nss',
177             ],
178           }],
179         ],
180       }],
181       ['OS=="win"', {
182         'include_dirs': [
183           '../third_party/platformsdk_win7/files/Include',
184         ],
185         'conditions' : [
186           ['target_arch == "ia32"', {
187             'defines': [
188               '_USE_32BIT_TIME_T',
189             ],
190           }],
191         ],
192       }],
193       ['clang == 1', {
194         'xcode_settings': {
195           'WARNING_CFLAGS!': [
196             # Don't warn about string->bool used in asserts.
197             '-Wstring-conversion',
198           ],
199         },
200         'cflags!': [
201           '-Wstring-conversion',
202         ],
203       }],
204       ['OS=="linux"', {
205         'defines': [
206           'LINUX',
207         ],
208       }],
209       ['OS=="mac"', {
210         'defines': [
211           'OSX',
212         ],
213       }],
214       ['OS=="ios"', {
215         'defines': [
216           'IOS',
217         ],
218       }],
219       ['os_posix == 1', {
220         'defines': [
221           'POSIX',
222         ],
223       }],
224       ['os_bsd==1', {
225         'defines': [
226           'BSD',
227         ],
228       }],
229       ['OS=="openbsd"', {
230         'defines': [
231           'OPENBSD',
232         ],
233       }],
234       ['OS=="freebsd"', {
235         'defines': [
236           'FREEBSD',
237         ],
238       }],
239     ],
240   },
241   'targets': [
242     {
243       'target_name': 'libjingle',
244       'type': 'static_library',
245       'sources': [
246         'overrides/talk/base/basictypes.h',
247         'overrides/talk/base/constructormagic.h',
248
249         # Overrides logging.h/.cc because libjingle logging should be done to
250         # the same place as the chromium logging.
251         'overrides/talk/base/logging.cc',
252         'overrides/talk/base/logging.h',
253
254         '<(libjingle_source)/talk/base/asyncfile.cc',
255         '<(libjingle_source)/talk/base/asyncfile.h',
256         '<(libjingle_source)/talk/base/asynchttprequest.cc',
257         '<(libjingle_source)/talk/base/asynchttprequest.h',
258         '<(libjingle_source)/talk/base/asyncpacketsocket.h',
259         '<(libjingle_source)/talk/base/asyncsocket.cc',
260         '<(libjingle_source)/talk/base/asyncsocket.h',
261         '<(libjingle_source)/talk/base/asynctcpsocket.cc',
262         '<(libjingle_source)/talk/base/asynctcpsocket.h',
263         '<(libjingle_source)/talk/base/asyncudpsocket.cc',
264         '<(libjingle_source)/talk/base/asyncudpsocket.h',
265         '<(libjingle_source)/talk/base/autodetectproxy.cc',
266         '<(libjingle_source)/talk/base/autodetectproxy.h',
267         '<(libjingle_source)/talk/base/base64.cc',
268         '<(libjingle_source)/talk/base/base64.h',
269         '<(libjingle_source)/talk/base/basicdefs.h',
270         '<(libjingle_source)/talk/base/bytebuffer.cc',
271         '<(libjingle_source)/talk/base/bytebuffer.h',
272         '<(libjingle_source)/talk/base/byteorder.h',
273         '<(libjingle_source)/talk/base/checks.cc',
274         '<(libjingle_source)/talk/base/checks.h',
275         '<(libjingle_source)/talk/base/common.cc',
276         '<(libjingle_source)/talk/base/common.h',
277         '<(libjingle_source)/talk/base/compile_assert.h',
278         '<(libjingle_source)/talk/base/cpumonitor.cc',
279         '<(libjingle_source)/talk/base/cpumonitor.h',
280         '<(libjingle_source)/talk/base/crc32.cc',
281         '<(libjingle_source)/talk/base/crc32.h',
282         '<(libjingle_source)/talk/base/criticalsection.h',
283         '<(libjingle_source)/talk/base/cryptstring.h',
284         '<(libjingle_source)/talk/base/diskcache.cc',
285         '<(libjingle_source)/talk/base/diskcache.h',
286         '<(libjingle_source)/talk/base/dscp.h',
287         '<(libjingle_source)/talk/base/event.cc',
288         '<(libjingle_source)/talk/base/event.h',
289         '<(libjingle_source)/talk/base/fileutils.cc',
290         '<(libjingle_source)/talk/base/fileutils.h',
291         '<(libjingle_source)/talk/base/firewallsocketserver.cc',
292         '<(libjingle_source)/talk/base/firewallsocketserver.h',
293         '<(libjingle_source)/talk/base/flags.cc',
294         '<(libjingle_source)/talk/base/flags.h',
295         '<(libjingle_source)/talk/base/helpers.cc',
296         '<(libjingle_source)/talk/base/helpers.h',
297         '<(libjingle_source)/talk/base/httpbase.cc',
298         '<(libjingle_source)/talk/base/httpbase.h',
299         '<(libjingle_source)/talk/base/httpclient.cc',
300         '<(libjingle_source)/talk/base/httpclient.h',
301         '<(libjingle_source)/talk/base/httpcommon-inl.h',
302         '<(libjingle_source)/talk/base/httpcommon.cc',
303         '<(libjingle_source)/talk/base/httpcommon.h',
304         '<(libjingle_source)/talk/base/httprequest.cc',
305         '<(libjingle_source)/talk/base/httprequest.h',
306         '<(libjingle_source)/talk/base/ipaddress.cc',
307         '<(libjingle_source)/talk/base/ipaddress.h',
308         '<(libjingle_source)/talk/base/json.cc',
309         '<(libjingle_source)/talk/base/json.h',
310         '<(libjingle_source)/talk/base/linked_ptr.h',
311         '<(libjingle_source)/talk/base/md5.cc',
312         '<(libjingle_source)/talk/base/md5.h',
313         '<(libjingle_source)/talk/base/md5digest.h',
314         '<(libjingle_source)/talk/base/messagedigest.cc',
315         '<(libjingle_source)/talk/base/messagedigest.h',
316         '<(libjingle_source)/talk/base/messagehandler.cc',
317         '<(libjingle_source)/talk/base/messagehandler.h',
318         '<(libjingle_source)/talk/base/messagequeue.cc',
319         '<(libjingle_source)/talk/base/messagequeue.h',
320         '<(libjingle_source)/talk/base/move.h',
321         '<(libjingle_source)/talk/base/nethelpers.cc',
322         '<(libjingle_source)/talk/base/nethelpers.h',
323         '<(libjingle_source)/talk/base/network.cc',
324         '<(libjingle_source)/talk/base/network.h',
325         '<(libjingle_source)/talk/base/nssidentity.cc',
326         '<(libjingle_source)/talk/base/nssidentity.h',
327         '<(libjingle_source)/talk/base/nssstreamadapter.cc',
328         '<(libjingle_source)/talk/base/nssstreamadapter.h',
329         '<(libjingle_source)/talk/base/nullsocketserver.h',
330         '<(libjingle_source)/talk/base/pathutils.cc',
331         '<(libjingle_source)/talk/base/pathutils.h',
332         '<(libjingle_source)/talk/base/physicalsocketserver.cc',
333         '<(libjingle_source)/talk/base/physicalsocketserver.h',
334         '<(libjingle_source)/talk/base/proxydetect.cc',
335         '<(libjingle_source)/talk/base/proxydetect.h',
336         '<(libjingle_source)/talk/base/proxyinfo.cc',
337         '<(libjingle_source)/talk/base/proxyinfo.h',
338         '<(libjingle_source)/talk/base/ratelimiter.cc',
339         '<(libjingle_source)/talk/base/ratelimiter.h',
340         '<(libjingle_source)/talk/base/ratetracker.cc',
341         '<(libjingle_source)/talk/base/ratetracker.h',
342         '<(libjingle_source)/talk/base/scoped_ptr.h',
343         '<(libjingle_source)/talk/base/sec_buffer.h',
344         '<(libjingle_source)/talk/base/sha1.cc',
345         '<(libjingle_source)/talk/base/sha1.h',
346         '<(libjingle_source)/talk/base/sha1digest.h',
347         '<(libjingle_source)/talk/base/signalthread.cc',
348         '<(libjingle_source)/talk/base/signalthread.h',
349         '<(libjingle_source)/talk/base/sigslot.h',
350         '<(libjingle_source)/talk/base/sigslotrepeater.h',
351         '<(libjingle_source)/talk/base/socket.h',
352         '<(libjingle_source)/talk/base/socketadapters.cc',
353         '<(libjingle_source)/talk/base/socketadapters.h',
354         '<(libjingle_source)/talk/base/socketaddress.cc',
355         '<(libjingle_source)/talk/base/socketaddress.h',
356         '<(libjingle_source)/talk/base/socketaddresspair.cc',
357         '<(libjingle_source)/talk/base/socketaddresspair.h',
358         '<(libjingle_source)/talk/base/socketfactory.h',
359         '<(libjingle_source)/talk/base/socketpool.cc',
360         '<(libjingle_source)/talk/base/socketpool.h',
361         '<(libjingle_source)/talk/base/socketserver.h',
362         '<(libjingle_source)/talk/base/socketstream.cc',
363         '<(libjingle_source)/talk/base/socketstream.h',
364         '<(libjingle_source)/talk/base/ssladapter.cc',
365         '<(libjingle_source)/talk/base/ssladapter.h',
366         '<(libjingle_source)/talk/base/sslidentity.cc',
367         '<(libjingle_source)/talk/base/sslidentity.h',
368         '<(libjingle_source)/talk/base/sslsocketfactory.cc',
369         '<(libjingle_source)/talk/base/sslsocketfactory.h',
370         '<(libjingle_source)/talk/base/sslstreamadapter.cc',
371         '<(libjingle_source)/talk/base/sslstreamadapter.h',
372         '<(libjingle_source)/talk/base/sslstreamadapterhelper.cc',
373         '<(libjingle_source)/talk/base/sslstreamadapterhelper.h',
374         '<(libjingle_source)/talk/base/stream.cc',
375         '<(libjingle_source)/talk/base/stream.h',
376         '<(libjingle_source)/talk/base/stringencode.cc',
377         '<(libjingle_source)/talk/base/stringencode.h',
378         '<(libjingle_source)/talk/base/stringutils.cc',
379         '<(libjingle_source)/talk/base/stringutils.h',
380         '<(libjingle_source)/talk/base/systeminfo.cc',
381         '<(libjingle_source)/talk/base/systeminfo.h',
382         '<(libjingle_source)/talk/base/task.cc',
383         '<(libjingle_source)/talk/base/task.h',
384         '<(libjingle_source)/talk/base/taskparent.cc',
385         '<(libjingle_source)/talk/base/taskparent.h',
386         '<(libjingle_source)/talk/base/taskrunner.cc',
387         '<(libjingle_source)/talk/base/taskrunner.h',
388         '<(libjingle_source)/talk/base/template_util.h',
389         '<(libjingle_source)/talk/base/thread.cc',
390         '<(libjingle_source)/talk/base/thread.h',
391         '<(libjingle_source)/talk/base/timeutils.cc',
392         '<(libjingle_source)/talk/base/timeutils.h',
393         '<(libjingle_source)/talk/base/timing.cc',
394         '<(libjingle_source)/talk/base/timing.h',
395         '<(libjingle_source)/talk/base/urlencode.cc',
396         '<(libjingle_source)/talk/base/urlencode.h',
397         '<(libjingle_source)/talk/base/worker.cc',
398         '<(libjingle_source)/talk/base/worker.h',
399         '<(libjingle_source)/talk/p2p/base/asyncstuntcpsocket.cc',
400         '<(libjingle_source)/talk/p2p/base/asyncstuntcpsocket.h',
401         '<(libjingle_source)/talk/p2p/base/basicpacketsocketfactory.cc',
402         '<(libjingle_source)/talk/p2p/base/basicpacketsocketfactory.h',
403         '<(libjingle_source)/talk/p2p/base/candidate.h',
404         '<(libjingle_source)/talk/p2p/base/common.h',
405         '<(libjingle_source)/talk/p2p/base/dtlstransport.h',
406         '<(libjingle_source)/talk/p2p/base/dtlstransportchannel.cc',
407         '<(libjingle_source)/talk/p2p/base/dtlstransportchannel.h',
408         '<(libjingle_source)/talk/p2p/base/p2ptransport.cc',
409         '<(libjingle_source)/talk/p2p/base/p2ptransport.h',
410         '<(libjingle_source)/talk/p2p/base/p2ptransportchannel.cc',
411         '<(libjingle_source)/talk/p2p/base/p2ptransportchannel.h',
412         '<(libjingle_source)/talk/p2p/base/parsing.cc',
413         '<(libjingle_source)/talk/p2p/base/parsing.h',
414         '<(libjingle_source)/talk/p2p/base/port.cc',
415         '<(libjingle_source)/talk/p2p/base/port.h',
416         '<(libjingle_source)/talk/p2p/base/portallocator.cc',
417         '<(libjingle_source)/talk/p2p/base/portallocator.h',
418         '<(libjingle_source)/talk/p2p/base/portallocatorsessionproxy.cc',
419         '<(libjingle_source)/talk/p2p/base/portallocatorsessionproxy.h',
420         '<(libjingle_source)/talk/p2p/base/portproxy.cc',
421         '<(libjingle_source)/talk/p2p/base/portproxy.h',
422         '<(libjingle_source)/talk/p2p/base/pseudotcp.cc',
423         '<(libjingle_source)/talk/p2p/base/pseudotcp.h',
424         '<(libjingle_source)/talk/p2p/base/rawtransport.cc',
425         '<(libjingle_source)/talk/p2p/base/rawtransport.h',
426         '<(libjingle_source)/talk/p2p/base/rawtransportchannel.cc',
427         '<(libjingle_source)/talk/p2p/base/rawtransportchannel.h',
428         '<(libjingle_source)/talk/p2p/base/relayport.cc',
429         '<(libjingle_source)/talk/p2p/base/relayport.h',
430         '<(libjingle_source)/talk/p2p/base/session.cc',
431         '<(libjingle_source)/talk/p2p/base/session.h',
432         '<(libjingle_source)/talk/p2p/base/sessionclient.h',
433         '<(libjingle_source)/talk/p2p/base/sessiondescription.cc',
434         '<(libjingle_source)/talk/p2p/base/sessiondescription.h',
435         '<(libjingle_source)/talk/p2p/base/sessionid.h',
436         '<(libjingle_source)/talk/p2p/base/sessionmanager.cc',
437         '<(libjingle_source)/talk/p2p/base/sessionmanager.h',
438         '<(libjingle_source)/talk/p2p/base/sessionmessages.cc',
439         '<(libjingle_source)/talk/p2p/base/sessionmessages.h',
440         '<(libjingle_source)/talk/p2p/base/stun.cc',
441         '<(libjingle_source)/talk/p2p/base/stun.h',
442         '<(libjingle_source)/talk/p2p/base/stunport.cc',
443         '<(libjingle_source)/talk/p2p/base/stunport.h',
444         '<(libjingle_source)/talk/p2p/base/stunrequest.cc',
445         '<(libjingle_source)/talk/p2p/base/stunrequest.h',
446         '<(libjingle_source)/talk/p2p/base/tcpport.cc',
447         '<(libjingle_source)/talk/p2p/base/tcpport.h',
448         '<(libjingle_source)/talk/p2p/base/transport.cc',
449         '<(libjingle_source)/talk/p2p/base/transport.h',
450         '<(libjingle_source)/talk/p2p/base/transportchannel.cc',
451         '<(libjingle_source)/talk/p2p/base/transportchannel.h',
452         '<(libjingle_source)/talk/p2p/base/transportchannelimpl.h',
453         '<(libjingle_source)/talk/p2p/base/transportchannelproxy.cc',
454         '<(libjingle_source)/talk/p2p/base/transportchannelproxy.h',
455         '<(libjingle_source)/talk/p2p/base/transportdescription.cc',
456         '<(libjingle_source)/talk/p2p/base/transportdescription.h',
457         '<(libjingle_source)/talk/p2p/base/transportdescriptionfactory.cc',
458         '<(libjingle_source)/talk/p2p/base/transportdescriptionfactory.h',
459         '<(libjingle_source)/talk/p2p/base/turnport.cc',
460         '<(libjingle_source)/talk/p2p/base/turnport.h',
461         '<(libjingle_source)/talk/p2p/client/basicportallocator.cc',
462         '<(libjingle_source)/talk/p2p/client/basicportallocator.h',
463         '<(libjingle_source)/talk/p2p/client/httpportallocator.cc',
464         '<(libjingle_source)/talk/p2p/client/httpportallocator.h',
465         '<(libjingle_source)/talk/p2p/client/sessionmanagertask.h',
466         '<(libjingle_source)/talk/p2p/client/sessionsendtask.h',
467         '<(libjingle_source)/talk/p2p/client/socketmonitor.cc',
468         '<(libjingle_source)/talk/p2p/client/socketmonitor.h',
469         '<(libjingle_source)/talk/xmllite/qname.cc',
470         '<(libjingle_source)/talk/xmllite/qname.h',
471         '<(libjingle_source)/talk/xmllite/xmlbuilder.cc',
472         '<(libjingle_source)/talk/xmllite/xmlbuilder.h',
473         '<(libjingle_source)/talk/xmllite/xmlconstants.cc',
474         '<(libjingle_source)/talk/xmllite/xmlconstants.h',
475         '<(libjingle_source)/talk/xmllite/xmlelement.cc',
476         '<(libjingle_source)/talk/xmllite/xmlelement.h',
477         '<(libjingle_source)/talk/xmllite/xmlnsstack.cc',
478         '<(libjingle_source)/talk/xmllite/xmlnsstack.h',
479         '<(libjingle_source)/talk/xmllite/xmlparser.cc',
480         '<(libjingle_source)/talk/xmllite/xmlparser.h',
481         '<(libjingle_source)/talk/xmllite/xmlprinter.cc',
482         '<(libjingle_source)/talk/xmllite/xmlprinter.h',
483         '<(libjingle_source)/talk/xmpp/asyncsocket.h',
484         '<(libjingle_source)/talk/xmpp/constants.cc',
485         '<(libjingle_source)/talk/xmpp/constants.h',
486         '<(libjingle_source)/talk/xmpp/jid.cc',
487         '<(libjingle_source)/talk/xmpp/jid.h',
488         '<(libjingle_source)/talk/xmpp/plainsaslhandler.h',
489         '<(libjingle_source)/talk/xmpp/prexmppauth.h',
490         '<(libjingle_source)/talk/xmpp/saslcookiemechanism.h',
491         '<(libjingle_source)/talk/xmpp/saslhandler.h',
492         '<(libjingle_source)/talk/xmpp/saslmechanism.cc',
493         '<(libjingle_source)/talk/xmpp/saslmechanism.h',
494         '<(libjingle_source)/talk/xmpp/saslplainmechanism.h',
495         '<(libjingle_source)/talk/xmpp/xmppclient.cc',
496         '<(libjingle_source)/talk/xmpp/xmppclient.h',
497         '<(libjingle_source)/talk/xmpp/xmppclientsettings.h',
498         '<(libjingle_source)/talk/xmpp/xmppengine.h',
499         '<(libjingle_source)/talk/xmpp/xmppengineimpl.cc',
500         '<(libjingle_source)/talk/xmpp/xmppengineimpl.h',
501         '<(libjingle_source)/talk/xmpp/xmppengineimpl_iq.cc',
502         '<(libjingle_source)/talk/xmpp/xmpplogintask.cc',
503         '<(libjingle_source)/talk/xmpp/xmpplogintask.h',
504         '<(libjingle_source)/talk/xmpp/xmppstanzaparser.cc',
505         '<(libjingle_source)/talk/xmpp/xmppstanzaparser.h',
506         '<(libjingle_source)/talk/xmpp/xmpptask.cc',
507         '<(libjingle_source)/talk/xmpp/xmpptask.h',
508       ],
509       'dependencies': [
510         '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
511         'libjingle_p2p_constants',
512         '<@(libjingle_additional_deps)',
513       ],
514       'export_dependent_settings': [
515         '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
516       ],
517       'conditions': [
518         ['OS=="win"', {
519           'sources': [
520             'overrides/talk/base/win32socketinit.cc',
521             '<(libjingle_source)/talk/base/schanneladapter.cc',
522             '<(libjingle_source)/talk/base/schanneladapter.h',
523             '<(libjingle_source)/talk/base/win32.cc',
524             '<(libjingle_source)/talk/base/win32.h',
525             '<(libjingle_source)/talk/base/win32filesystem.cc',
526             '<(libjingle_source)/talk/base/win32filesystem.h',
527             '<(libjingle_source)/talk/base/win32window.h',
528             '<(libjingle_source)/talk/base/win32window.cc',
529             '<(libjingle_source)/talk/base/win32securityerrors.cc',
530             '<(libjingle_source)/talk/base/winfirewall.cc',
531             '<(libjingle_source)/talk/base/winfirewall.h',
532             '<(libjingle_source)/talk/base/winping.cc',
533             '<(libjingle_source)/talk/base/winping.h',
534           ],
535           # Suppress warnings about WIN32_LEAN_AND_MEAN.
536           'msvs_disabled_warnings': [ 4005, 4267 ],
537         }],
538         ['os_posix == 1', {
539           'sources': [
540             '<(libjingle_source)/talk/base/unixfilesystem.cc',
541             '<(libjingle_source)/talk/base/unixfilesystem.h',
542           ],
543         }],
544         ['OS=="linux"', {
545           'sources': [
546             '<(libjingle_source)/talk/base/latebindingsymboltable.cc',
547             '<(libjingle_source)/talk/base/latebindingsymboltable.h',
548             '<(libjingle_source)/talk/base/linux.cc',
549             '<(libjingle_source)/talk/base/linux.h',
550           ],
551         }],
552         ['OS=="mac" or OS=="ios"', {
553           'sources': [
554             '<(libjingle_source)/talk/base/macconversion.cc',
555             '<(libjingle_source)/talk/base/macconversion.h',
556             '<(libjingle_source)/talk/base/maccocoathreadhelper.h',
557             '<(libjingle_source)/talk/base/maccocoathreadhelper.mm',
558             '<(libjingle_source)/talk/base/macutils.cc',
559             '<(libjingle_source)/talk/base/macutils.h',
560             '<(libjingle_source)/talk/base/scoped_autorelease_pool.h',
561             '<(libjingle_source)/talk/base/scoped_autorelease_pool.mm',
562           ],
563         }],
564         ['OS=="android"', {
565           'sources': [
566             '<(libjingle_source)/talk/base/ifaddrs-android.cc',
567             '<(libjingle_source)/talk/base/ifaddrs-android.h',
568             '<(libjingle_source)/talk/base/linux.cc',
569             '<(libjingle_source)/talk/base/linux.h',
570           ],
571           'sources!': [
572             # These depend on jsoncpp which we don't load because we probably
573             # don't actually need this code at all.
574             '<(libjingle_source)/talk/base/json.cc',
575             '<(libjingle_source)/talk/base/json.h',
576           ],
577           'dependencies!': [
578             '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
579           ],
580         }],
581         ['use_openssl==1', {
582           'sources': [
583             '<(libjingle_source)/talk/base/openssladapter.cc',
584             '<(libjingle_source)/talk/base/openssldigest.cc',
585             '<(libjingle_source)/talk/base/opensslidentity.cc',
586             '<(libjingle_source)/talk/base/opensslstreamadapter.cc',
587           ],
588         }],
589       ],
590     },  # target libjingle
591     # This has to be is a separate project due to a bug in MSVS 2008 and the
592     # current toolset on android.  The problem is that we have two files named
593     # "constants.cc" and MSVS/android doesn't handle this properly.
594     # GYP currently has guards to catch this, so if you want to remove it,
595     # run GYP and if GYP has removed the validation check, then we can assume
596     # that the toolchains have been fixed (we currently use VS2010 and later,
597     # so VS2008 isn't a concern anymore).
598     {
599       'target_name': 'libjingle_p2p_constants',
600       'type': 'static_library',
601       'sources': [
602         '<(libjingle_source)/talk/p2p/base/constants.cc',
603         '<(libjingle_source)/talk/p2p/base/constants.h',
604       ],
605     },  # target libjingle_p2p_constants
606     {
607       'target_name': 'peerconnection_server',
608       'type': 'executable',
609       'sources': [
610         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc',
611         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h',
612         '<(libjingle_source)/talk/examples/peerconnection/server/main.cc',
613         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc',
614         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h',
615         '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc',
616         '<(libjingle_source)/talk/examples/peerconnection/server/utils.h',
617       ],
618       'include_dirs': [
619         '<(libjingle_source)',
620       ],
621       'dependencies': [
622         'libjingle',
623       ],
624       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
625       'msvs_disabled_warnings': [ 4309, ],
626     }, # target peerconnection_server
627   ],
628   'conditions': [
629     ['enable_webrtc==1', {
630       'targets': [
631         {
632           'target_name': 'libjingle_webrtc_common',
633           'type': 'static_library',
634           'all_dependent_settings': {
635             'conditions': [
636               ['"<(libpeer_target_type)"=="static_library"', {
637                 'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
638               }],
639             ],
640           },
641           'sources': [
642             'overrides/talk/media/webrtc/webrtcexport.h',
643
644             '<(libjingle_source)/talk/app/webrtc/audiotrack.cc',
645             '<(libjingle_source)/talk/app/webrtc/audiotrack.h',
646             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc',
647             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h',
648             '<(libjingle_source)/talk/app/webrtc/datachannel.cc',
649             '<(libjingle_source)/talk/app/webrtc/datachannel.h',
650             '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc',
651             '<(libjingle_source)/talk/app/webrtc/dtmfsender.h',
652             '<(libjingle_source)/talk/app/webrtc/jsep.h',
653             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc',
654             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h',
655             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc',
656             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h',
657             '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc',
658             '<(libjingle_source)/talk/app/webrtc/localaudiosource.h',
659             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc',
660             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h',
661             '<(libjingle_source)/talk/app/webrtc/mediastream.cc',
662             '<(libjingle_source)/talk/app/webrtc/mediastream.h',
663             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc',
664             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h',
665             '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h',
666             '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h',
667             '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h',
668             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc',
669             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h',
670             '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h',
671             '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h',
672             '<(libjingle_source)/talk/app/webrtc/notifier.h',
673             '<(libjingle_source)/talk/app/webrtc/peerconnection.cc',
674             '<(libjingle_source)/talk/app/webrtc/peerconnection.h',
675             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc',
676             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h',
677             '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h',
678             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc',
679             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h',
680             '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.cc',
681             '<(libjingle_source)/talk/app/webrtc/remotevideocapturer.h',
682             '<(libjingle_source)/talk/app/webrtc/statscollector.cc',
683             '<(libjingle_source)/talk/app/webrtc/statscollector.h',
684             '<(libjingle_source)/talk/app/webrtc/statstypes.h',
685             '<(libjingle_source)/talk/app/webrtc/streamcollection.h',
686             '<(libjingle_source)/talk/app/webrtc/videosource.cc',
687             '<(libjingle_source)/talk/app/webrtc/videosource.h',
688             '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h',
689             '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h',
690             '<(libjingle_source)/talk/app/webrtc/videotrack.cc',
691             '<(libjingle_source)/talk/app/webrtc/videotrack.h',
692             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc',
693             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h',
694             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc',
695             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h',
696             '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc',
697             '<(libjingle_source)/talk/app/webrtc/webrtcsession.h',
698             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc',
699             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h',
700             '<(libjingle_source)/talk/media/base/audiorenderer.h',
701             '<(libjingle_source)/talk/media/base/capturemanager.cc',
702             '<(libjingle_source)/talk/media/base/capturemanager.h',
703             '<(libjingle_source)/talk/media/base/capturerenderadapter.cc',
704             '<(libjingle_source)/talk/media/base/capturerenderadapter.h',
705             '<(libjingle_source)/talk/media/base/codec.cc',
706             '<(libjingle_source)/talk/media/base/codec.h',
707             '<(libjingle_source)/talk/media/base/constants.cc',
708             '<(libjingle_source)/talk/media/base/constants.h',
709             '<(libjingle_source)/talk/media/base/cryptoparams.h',
710             '<(libjingle_source)/talk/media/base/filemediaengine.cc',
711             '<(libjingle_source)/talk/media/base/filemediaengine.h',
712             '<(libjingle_source)/talk/media/base/hybriddataengine.h',
713             '<(libjingle_source)/talk/media/base/mediachannel.h',
714             '<(libjingle_source)/talk/media/base/mediaengine.cc',
715             '<(libjingle_source)/talk/media/base/mediaengine.h',
716             '<(libjingle_source)/talk/media/base/rtpdataengine.cc',
717             '<(libjingle_source)/talk/media/base/rtpdataengine.h',
718             '<(libjingle_source)/talk/media/base/rtpdump.cc',
719             '<(libjingle_source)/talk/media/base/rtpdump.h',
720             '<(libjingle_source)/talk/media/base/rtputils.cc',
721             '<(libjingle_source)/talk/media/base/rtputils.h',
722             '<(libjingle_source)/talk/media/base/streamparams.cc',
723             '<(libjingle_source)/talk/media/base/streamparams.h',
724             '<(libjingle_source)/talk/media/base/videoadapter.cc',
725             '<(libjingle_source)/talk/media/base/videoadapter.h',
726             '<(libjingle_source)/talk/media/base/videocapturer.cc',
727             '<(libjingle_source)/talk/media/base/videocapturer.h',
728             '<(libjingle_source)/talk/media/base/videocommon.cc',
729             '<(libjingle_source)/talk/media/base/videocommon.h',
730             '<(libjingle_source)/talk/media/base/videoframe.cc',
731             '<(libjingle_source)/talk/media/base/videoframe.h',
732             '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
733             '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
734             '<(libjingle_source)/talk/media/devices/filevideocapturer.cc',
735             '<(libjingle_source)/talk/media/devices/filevideocapturer.h',
736             '<(libjingle_source)/talk/media/sctp/sctputils.cc',
737             '<(libjingle_source)/talk/media/sctp/sctputils.h',
738             '<(libjingle_source)/talk/media/webrtc/webrtccommon.h',
739             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc',
740             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h',
741             '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.cc',
742             '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.h',
743             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc',
744             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h',
745             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc',
746             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h',
747             '<(libjingle_source)/talk/media/webrtc/webrtcvie.h',
748             '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h',
749             '<(libjingle_source)/talk/session/media/audiomonitor.cc',
750             '<(libjingle_source)/talk/session/media/audiomonitor.h',
751             '<(libjingle_source)/talk/session/media/call.cc',
752             '<(libjingle_source)/talk/session/media/call.h',
753             '<(libjingle_source)/talk/session/media/channel.cc',
754             '<(libjingle_source)/talk/session/media/channel.h',
755             '<(libjingle_source)/talk/session/media/channelmanager.cc',
756             '<(libjingle_source)/talk/session/media/channelmanager.h',
757             '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc',
758             '<(libjingle_source)/talk/session/media/currentspeakermonitor.h',
759             '<(libjingle_source)/talk/session/media/mediamessages.cc',
760             '<(libjingle_source)/talk/session/media/mediamessages.h',
761             '<(libjingle_source)/talk/session/media/mediamonitor.cc',
762             '<(libjingle_source)/talk/session/media/mediamonitor.h',
763             '<(libjingle_source)/talk/session/media/mediasession.cc',
764             '<(libjingle_source)/talk/session/media/mediasession.h',
765             '<(libjingle_source)/talk/session/media/mediasessionclient.cc',
766             '<(libjingle_source)/talk/session/media/mediasessionclient.h',
767             '<(libjingle_source)/talk/session/media/mediasink.h',
768             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc',
769             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h',
770             '<(libjingle_source)/talk/session/media/soundclip.cc',
771             '<(libjingle_source)/talk/session/media/soundclip.h',
772             '<(libjingle_source)/talk/session/media/srtpfilter.cc',
773             '<(libjingle_source)/talk/session/media/srtpfilter.h',
774             '<(libjingle_source)/talk/session/media/ssrcmuxfilter.cc',
775             '<(libjingle_source)/talk/session/media/ssrcmuxfilter.h',
776             '<(libjingle_source)/talk/session/media/typingmonitor.cc',
777             '<(libjingle_source)/talk/session/media/typingmonitor.h',
778             '<(libjingle_source)/talk/session/media/voicechannel.h',
779             '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.cc',
780             '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.h',
781             '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.cc',
782             '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.h',
783           ],
784           'conditions': [
785             ['libpeer_allocator_shim==1 and '
786              'libpeer_target_type!="static_library" and OS!="mac"', {
787               'sources': [
788                 'overrides/allocator_shim/allocator_stub.cc',
789                 'overrides/allocator_shim/allocator_stub.h',
790               ],
791             }],
792             # TODO(mallinath) - Enable SCTP for Android and iOS platforms.
793             ['OS!="android" and OS!="ios"', {
794               'defines': [
795                 'HAVE_SCTP',
796               ],
797               'sources': [
798                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc',
799                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h',
800               ],
801               'dependencies': [
802                 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
803               ],
804             }],
805             ['enabled_libjingle_device_manager==1', {
806               'sources!': [
807                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
808                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
809               ],
810               'sources': [
811                 '<(libjingle_source)/talk/media/devices/devicemanager.cc',
812                 '<(libjingle_source)/talk/media/devices/devicemanager.h',
813                 '<(libjingle_source)/talk/sound/nullsoundsystem.cc',
814                 '<(libjingle_source)/talk/sound/nullsoundsystem.h',
815                 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.cc',
816                 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.h',
817                 '<(libjingle_source)/talk/sound/platformsoundsystem.cc',
818                 '<(libjingle_source)/talk/sound/platformsoundsystem.h',
819                 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.cc',
820                 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.h',
821                 '<(libjingle_source)/talk/sound/soundsysteminterface.cc',
822                 '<(libjingle_source)/talk/sound/soundsysteminterface.h',
823                 '<(libjingle_source)/talk/sound/soundsystemproxy.cc',
824                 '<(libjingle_source)/talk/sound/soundsystemproxy.h',
825               ],
826               'conditions': [
827                 ['OS=="win"', {
828                   'sources': [
829                     '<(libjingle_source)/talk/base/win32window.cc',
830                     '<(libjingle_source)/talk/base/win32window.h',
831                     '<(libjingle_source)/talk/base/win32windowpicker.cc',
832                     '<(libjingle_source)/talk/base/win32windowpicker.h',
833                     '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc',
834                     '<(libjingle_source)/talk/media/devices/win32devicemanager.cc',
835                     '<(libjingle_source)/talk/media/devices/win32devicemanager.h',
836                   ],
837                 }],
838                 ['OS=="linux"', {
839                   'sources': [
840                     '<(libjingle_source)/talk/base/linuxwindowpicker.cc',
841                     '<(libjingle_source)/talk/base/linuxwindowpicker.h',
842                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc',
843                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.h',
844                     '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc',
845                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc',
846                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h',
847                     '<(libjingle_source)/talk/media/devices/v4llookup.cc',
848                     '<(libjingle_source)/talk/media/devices/v4llookup.h',
849                     '<(libjingle_source)/talk/sound/alsasoundsystem.cc',
850                     '<(libjingle_source)/talk/sound/alsasoundsystem.h',
851                     '<(libjingle_source)/talk/sound/alsasymboltable.cc',
852                     '<(libjingle_source)/talk/sound/alsasymboltable.h',
853                     '<(libjingle_source)/talk/sound/linuxsoundsystem.cc',
854                     '<(libjingle_source)/talk/sound/linuxsoundsystem.h',
855                     '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.cc',
856                     '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.h',
857                     '<(libjingle_source)/talk/sound/pulseaudiosymboltable.cc',
858                     '<(libjingle_source)/talk/sound/pulseaudiosymboltable.h',
859                   ],
860                 }],
861                 ['OS=="mac"', {
862                   'sources': [
863                     '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc',
864                     '<(libjingle_source)/talk/media/devices/macdevicemanager.cc',
865                     '<(libjingle_source)/talk/media/devices/macdevicemanager.h',
866                     '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm',
867                   ],
868                   'xcode_settings': {
869                     'WARNING_CFLAGS': [
870                       # Suppres warnings about using deprecated functions in
871                       # macdevicemanager.cc.
872                       '-Wno-deprecated-declarations',
873                     ],
874                   },
875                 }],
876               ],
877             }],
878           ],
879           'dependencies': [
880             '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
881             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file',
882             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture_module',
883             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render_module',
884             'libjingle',
885           ],
886         },  # target libjingle_webrtc_common
887         {
888           'target_name': 'libjingle_webrtc',
889           'type': 'static_library',
890           'sources': [
891             'overrides/init_webrtc.cc',
892             'overrides/init_webrtc.h',
893           ],
894           'dependencies': [
895             'libjingle_webrtc_common',
896           ],
897         },
898         {
899           'target_name': 'libpeerconnection',
900           'type': '<(libpeer_target_type)',
901           'sources': [
902             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc',
903             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h',
904             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc',
905             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
906           ],
907           'dependencies': [
908             '<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers',
909             '<(DEPTH)/third_party/webrtc/video_engine/video_engine.gyp:video_engine_core',
910             '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
911             '<@(libjingle_peerconnection_additional_deps)',
912             'libjingle_webrtc_common',
913           ],
914           'conditions': [
915             ['libpeer_target_type!="static_library"', {
916               'sources': [
917                 'overrides/initialize_module.cc',
918               ],
919               'conditions': [
920                 ['OS!="mac" and OS!="android"', {
921                   'sources': [
922                     'overrides/allocator_shim/allocator_proxy.cc',
923                   ],
924                 }],
925               ],
926             }],
927             ['"<(libpeer_target_type)"!="static_library"', {
928               # Used to control symbol export/import.
929               'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ],
930             }],
931             ['OS=="win" and "<(libpeer_target_type)"!="static_library"', {
932               'link_settings': {
933                 'libraries': [
934                   '-lsecur32.lib',
935                   '-lcrypt32.lib',
936                   '-liphlpapi.lib',
937                 ],
938               },
939             }],
940             ['OS!="win" and "<(libpeer_target_type)"!="static_library"', {
941               'cflags': [
942                 # For compatibility with how we export symbols from this
943                 # target on Windows.  This also prevents the linker from
944                 # picking up symbols from this target that should be linked
945                 # in from other libjingle libs.
946                 '-fvisibility=hidden',
947               ],
948             }],
949             ['OS=="mac" and libpeer_target_type!="static_library"', {
950               'product_name': 'libpeerconnection',
951             }],
952             ['OS=="android" and "<(libpeer_target_type)"=="static_library"', {
953               'standalone_static_library': 1,
954             }],
955             ['OS=="linux" and libpeer_target_type!="static_library"', {
956               # The installer and various tools depend on finding the .so
957               # in this directory and not lib.target as will otherwise be
958               # the case with make builds.
959               'product_dir': '<(PRODUCT_DIR)/lib',
960             }],
961           ],
962         },  # target libpeerconnection
963       ],
964     }],
965   ],
966 }