• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 iOS.
793            ['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}
967