• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2011 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  'variables': {
7    'no_libjingle_logging%': 0,
8  },
9  'target_defaults': {
10    'defines': [
11      'FEATURE_ENABLE_SSL',
12      'FEATURE_ENABLE_VOICEMAIL',  # TODO(ncarter): Do we really need this?
13      '_USE_32BIT_TIME_T',
14      'SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS',
15      'EXPAT_RELATIVE_PATH',
16    ],
17    'configurations': {
18      'Debug': {
19        'defines': [
20          # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
21          # _DEBUG and remove this define. See below as well.
22          '_DEBUG',
23        ],
24      }
25    },
26    'include_dirs': [
27      './overrides',
28      './source',
29      '../../third_party/expat/files'
30    ],
31    'dependencies': [
32      '../expat/expat.gyp:expat',
33      '../../base/base.gyp:base',
34      '../../net/net.gyp:net_base',
35    ],
36    'direct_dependent_settings': {
37      'include_dirs': [
38        './overrides',
39        './source',
40        '../../third_party/expat/files'
41      ],
42      'defines': [
43        'FEATURE_ENABLE_SSL',
44        'FEATURE_ENABLE_VOICEMAIL',
45        'EXPAT_RELATIVE_PATH',
46      ],
47      'conditions': [
48        ['OS=="win"', {
49          'link_settings': {
50            'libraries': [
51              '-lsecur32.lib',
52              '-lcrypt32.lib',
53              '-liphlpapi.lib',
54            ],
55          },
56        }],
57        ['OS=="win"', {
58          'include_dirs': [
59            '../third_party/platformsdk_win7/files/Include',
60          ],
61          'defines': [
62              '_CRT_SECURE_NO_WARNINGS',  # Suppres warnings about _vsnprinf
63          ],
64        }],
65        ['OS=="linux"', {
66          'defines': [
67            'LINUX',
68          ],
69        }],
70        ['OS=="mac"', {
71          'defines': [
72            'OSX',
73          ],
74        }],
75        ['OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="openbsd"', {
76          'defines': [
77            'POSIX',
78          ],
79        }],
80        ['OS=="openbsd" or OS=="freebsd"', {
81          'defines': [
82            'BSD',
83          ],
84        }],
85        ['no_libjingle_logging==1', {
86          'defines': [
87            'NO_LIBJINGLE_LOGGING',
88          ],
89        }],
90      ],
91    },
92    'all_dependent_settings': {
93      'configurations': {
94        'Debug': {
95          'defines': [
96            # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
97            # _DEBUG and remove this define. See above as well.
98            '_DEBUG',
99          ],
100        }
101      },
102    },
103    'conditions': [
104      ['OS=="win"', {
105        'include_dirs': [
106          '../third_party/platformsdk_win7/files/Include',
107        ],
108      }],
109      ['OS=="linux"', {
110        'defines': [
111          'LINUX',
112        ],
113      }],
114      ['OS=="mac"', {
115        'defines': [
116          'OSX',
117        ],
118      }],
119      ['OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="openbsd"', {
120        'defines': [
121          'POSIX',
122        ],
123      }],
124      ['OS=="openbsd" or OS=="freebsd"', {
125        'defines': [
126          'BSD',
127        ],
128      }],
129    ],
130  },
131  'targets': [
132    {
133      'target_name': 'libjingle',
134      'type': '<(library)',
135      'sources': [
136        'overrides/talk/base/basictypes.h',
137        'overrides/talk/base/constructormagic.h',
138
139        # Need to override logging.h because we need
140        # SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS to work.
141        # TODO(sergeyu): push SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS to
142        # libjingle and remove this override.
143        'overrides/talk/base/logging.h',
144
145        'overrides/talk/base/scoped_ptr.h',
146
147        # Libjingle's QName is not threadsafe, so we need to use our own version
148        # here.
149        # TODO(sergeyu): Fix QName in Libjingle.
150        'overrides/talk/xmllite/qname.cc',
151        'overrides/talk/xmllite/qname.h',
152
153        'source/talk/base/Equifax_Secure_Global_eBusiness_CA-1.h',
154        'source/talk/base/asyncfile.cc',
155        'source/talk/base/asyncfile.h',
156        'source/talk/base/asynchttprequest.cc',
157        'source/talk/base/asynchttprequest.h',
158        'source/talk/base/asyncpacketsocket.h',
159        'source/talk/base/asyncsocket.cc',
160        'source/talk/base/asyncsocket.h',
161        'source/talk/base/asynctcpsocket.cc',
162        'source/talk/base/asynctcpsocket.h',
163        'source/talk/base/asyncudpsocket.cc',
164        'source/talk/base/asyncudpsocket.h',
165        'source/talk/base/autodetectproxy.cc',
166        'source/talk/base/autodetectproxy.h',
167        'source/talk/base/base64.cc',
168        'source/talk/base/base64.h',
169        'source/talk/base/basicdefs.h',
170        'source/talk/base/basicpacketsocketfactory.cc',
171        'source/talk/base/basicpacketsocketfactory.h',
172        'source/talk/base/bytebuffer.cc',
173        'source/talk/base/bytebuffer.h',
174        'source/talk/base/byteorder.h',
175        'source/talk/base/checks.cc',
176        'source/talk/base/checks.h',
177        'source/talk/base/common.cc',
178        'source/talk/base/common.h',
179        'source/talk/base/criticalsection.h',
180        'source/talk/base/cryptstring.h',
181        'source/talk/base/diskcache.cc',
182        'source/talk/base/diskcache.h',
183        'source/talk/base/event.cc',
184        'source/talk/base/event.h',
185        'source/talk/base/fileutils.cc',
186        'source/talk/base/fileutils.h',
187        'source/talk/base/firewallsocketserver.cc',
188        'source/talk/base/firewallsocketserver.h',
189        'source/talk/base/flags.cc',
190        'source/talk/base/flags.h',
191        'source/talk/base/helpers.cc',
192        'source/talk/base/helpers.h',
193        'source/talk/base/host.cc',
194        'source/talk/base/host.h',
195        'source/talk/base/httpbase.cc',
196        'source/talk/base/httpbase.h',
197        'source/talk/base/httpclient.h',
198        'source/talk/base/httpclient.cc',
199        'source/talk/base/httpcommon-inl.h',
200        'source/talk/base/httpcommon.cc',
201        'source/talk/base/httpcommon.h',
202        'source/talk/base/httprequest.cc',
203        'source/talk/base/httprequest.h',
204        'source/talk/base/linked_ptr.h',
205        'source/talk/base/logging.cc',
206        'source/talk/base/md5.h',
207        'source/talk/base/md5c.c',
208        'source/talk/base/messagehandler.cc',
209        'source/talk/base/messagehandler.h',
210        'source/talk/base/messagequeue.cc',
211        'source/talk/base/messagequeue.h',
212        'source/talk/base/nethelpers.cc',
213        'source/talk/base/nethelpers.h',
214        'source/talk/base/network.cc',
215        'source/talk/base/network.h',
216        'source/talk/base/pathutils.cc',
217        'source/talk/base/pathutils.h',
218        'source/talk/base/physicalsocketserver.cc',
219        'source/talk/base/physicalsocketserver.h',
220        'source/talk/base/proxydetect.cc',
221        'source/talk/base/proxydetect.h',
222        'source/talk/base/proxyinfo.cc',
223        'source/talk/base/proxyinfo.h',
224        'source/talk/base/ratetracker.cc',
225        'source/talk/base/ratetracker.h',
226        'source/talk/base/sec_buffer.h',
227        'source/talk/base/signalthread.cc',
228        'source/talk/base/signalthread.h',
229        'source/talk/base/sigslot.h',
230        'source/talk/base/sigslotrepeater.h',
231        'source/talk/base/socket.h',
232        'source/talk/base/socketadapters.cc',
233        'source/talk/base/socketadapters.h',
234        'source/talk/base/socketaddress.cc',
235        'source/talk/base/socketaddress.h',
236        'source/talk/base/socketaddresspair.cc',
237        'source/talk/base/socketaddresspair.h',
238        'source/talk/base/socketfactory.h',
239        'source/talk/base/socketpool.cc',
240        'source/talk/base/socketpool.h',
241        'source/talk/base/socketserver.h',
242        'source/talk/base/socketstream.cc',
243        'source/talk/base/socketstream.h',
244        'source/talk/base/ssladapter.cc',
245        'source/talk/base/ssladapter.h',
246        'source/talk/base/sslsocketfactory.cc',
247        'source/talk/base/sslsocketfactory.h',
248        'source/talk/base/stream.cc',
249        'source/talk/base/stream.h',
250        'source/talk/base/stringdigest.cc',
251        'source/talk/base/stringdigest.h',
252        'source/talk/base/stringencode.cc',
253        'source/talk/base/stringencode.h',
254        'source/talk/base/stringutils.cc',
255        'source/talk/base/stringutils.h',
256        'source/talk/base/task.cc',
257        'source/talk/base/task.h',
258        'source/talk/base/taskparent.cc',
259        'source/talk/base/taskparent.h',
260        'source/talk/base/taskrunner.cc',
261        'source/talk/base/taskrunner.h',
262        'source/talk/base/thread.cc',
263        'source/talk/base/thread.h',
264        'source/talk/base/time.cc',
265        'source/talk/base/time.h',
266        'source/talk/base/urlencode.cc',
267        'source/talk/base/urlencode.h',
268        'source/talk/xmllite/xmlbuilder.cc',
269        'source/talk/xmllite/xmlbuilder.h',
270        'source/talk/xmllite/xmlconstants.cc',
271        'source/talk/xmllite/xmlconstants.h',
272        'source/talk/xmllite/xmlelement.cc',
273        'source/talk/xmllite/xmlelement.h',
274        'source/talk/xmllite/xmlnsstack.cc',
275        'source/talk/xmllite/xmlnsstack.h',
276        'source/talk/xmllite/xmlparser.cc',
277        'source/talk/xmllite/xmlparser.h',
278        'source/talk/xmllite/xmlprinter.cc',
279        'source/talk/xmllite/xmlprinter.h',
280        'source/talk/xmpp/asyncsocket.h',
281        'source/talk/xmpp/constants.cc',
282        'source/talk/xmpp/constants.h',
283        'source/talk/xmpp/jid.cc',
284        'source/talk/xmpp/jid.h',
285        'source/talk/xmpp/plainsaslhandler.h',
286        'source/talk/xmpp/prexmppauth.h',
287        'source/talk/xmpp/ratelimitmanager.cc',
288        'source/talk/xmpp/ratelimitmanager.h',
289        'source/talk/xmpp/saslcookiemechanism.h',
290        'source/talk/xmpp/saslhandler.h',
291        'source/talk/xmpp/saslmechanism.cc',
292        'source/talk/xmpp/saslmechanism.h',
293        'source/talk/xmpp/saslplainmechanism.h',
294        'source/talk/xmpp/xmppclient.cc',
295        'source/talk/xmpp/xmppclient.h',
296        'source/talk/xmpp/xmppclientsettings.h',
297        'source/talk/xmpp/xmppengine.h',
298        'source/talk/xmpp/xmppengineimpl.cc',
299        'source/talk/xmpp/xmppengineimpl.h',
300        'source/talk/xmpp/xmppengineimpl_iq.cc',
301        'source/talk/xmpp/xmpplogintask.cc',
302        'source/talk/xmpp/xmpplogintask.h',
303        'source/talk/xmpp/xmppstanzaparser.cc',
304        'source/talk/xmpp/xmppstanzaparser.h',
305        'source/talk/xmpp/xmpptask.cc',
306        'source/talk/xmpp/xmpptask.h',
307      ],
308      'conditions': [
309        ['OS=="win"', {
310          'sources': [
311            'overrides/talk/base/win32socketinit.cc',
312            'source/talk/base/schanneladapter.cc',
313            'source/talk/base/schanneladapter.h',
314            'source/talk/base/win32.h',
315            'source/talk/base/win32.cc',
316            'source/talk/base/win32filesystem.cc',
317            'source/talk/base/win32filesystem.h',
318            'source/talk/base/win32window.h',
319            'source/talk/base/win32window.cc',
320            'source/talk/base/win32securityerrors.cc',
321            'source/talk/base/winfirewall.cc',
322            'source/talk/base/winfirewall.h',
323            'source/talk/base/winping.cc',
324            'source/talk/base/winping.h',
325          ],
326        }],
327        ['OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="openbsd"', {
328          'sources': [
329            'source/talk/base/sslstreamadapter.cc',
330            'source/talk/base/sslstreamadapter.h',
331            'source/talk/base/unixfilesystem.cc',
332            'source/talk/base/unixfilesystem.h',
333          ],
334        }],
335        ['OS=="linux"', {
336          'sources': [
337            'source/talk/base/linux.cc',
338            'source/talk/base/linux.h',
339          ],
340        }],
341        ['OS=="mac"', {
342          'sources': [
343            'source/talk/base/macconversion.cc',
344            'source/talk/base/macconversion.h',
345            'source/talk/base/macutils.cc',
346            'source/talk/base/macutils.h',
347          ],
348        }],
349      ],
350    },
351    # This has to be is a separate project due to a bug in MSVS:
352    # https://connect.microsoft.com/VisualStudio/feedback/details/368272/duplicate-cpp-filename-in-c-project-visual-studio-2008
353    # We have two files named "constants.cc" and MSVS doesn't handle this
354    # properly.
355    {
356      'target_name': 'libjingle_p2p',
357      'type': '<(library)',
358      'sources': [
359        'source/talk/p2p/base/candidate.h',
360        'source/talk/p2p/base/common.h',
361        'source/talk/p2p/base/constants.cc',
362        'source/talk/p2p/base/constants.h',
363        'source/talk/p2p/base/p2ptransport.cc',
364        'source/talk/p2p/base/p2ptransport.h',
365        'source/talk/p2p/base/p2ptransportchannel.cc',
366        'source/talk/p2p/base/p2ptransportchannel.h',
367        'source/talk/p2p/base/port.cc',
368        'source/talk/p2p/base/port.h',
369        'source/talk/p2p/base/portallocator.h',
370        'source/talk/p2p/base/pseudotcp.cc',
371        'source/talk/p2p/base/pseudotcp.h',
372        'source/talk/p2p/base/rawtransport.cc',
373        'source/talk/p2p/base/rawtransport.h',
374        'source/talk/p2p/base/rawtransportchannel.cc',
375        'source/talk/p2p/base/rawtransportchannel.h',
376        'source/talk/p2p/base/relayport.cc',
377        'source/talk/p2p/base/relayport.h',
378        'source/talk/p2p/base/session.cc',
379        'source/talk/p2p/base/session.h',
380        'source/talk/p2p/base/sessionclient.h',
381        'source/talk/p2p/base/sessiondescription.cc',
382        'source/talk/p2p/base/sessiondescription.h',
383        'source/talk/p2p/base/sessionid.h',
384        'source/talk/p2p/base/sessionmanager.cc',
385        'source/talk/p2p/base/sessionmanager.h',
386        'source/talk/p2p/base/sessionmessages.cc',
387        'source/talk/p2p/base/sessionmessages.h',
388        'source/talk/p2p/base/parsing.cc',
389        'source/talk/p2p/base/parsing.h',
390        'source/talk/p2p/base/stun.cc',
391        'source/talk/p2p/base/stun.h',
392        'source/talk/p2p/base/stunport.cc',
393        'source/talk/p2p/base/stunport.h',
394        'source/talk/p2p/base/stunrequest.cc',
395        'source/talk/p2p/base/stunrequest.h',
396        'source/talk/p2p/base/tcpport.cc',
397        'source/talk/p2p/base/tcpport.h',
398        'source/talk/p2p/base/transport.cc',
399        'source/talk/p2p/base/transport.h',
400        'source/talk/p2p/base/transportchannel.cc',
401        'source/talk/p2p/base/transportchannel.h',
402        'source/talk/p2p/base/transportchannelimpl.h',
403        'source/talk/p2p/base/transportchannelproxy.cc',
404        'source/talk/p2p/base/transportchannelproxy.h',
405        'source/talk/p2p/base/udpport.cc',
406        'source/talk/p2p/base/udpport.h',
407        'source/talk/p2p/client/basicportallocator.cc',
408        'source/talk/p2p/client/basicportallocator.h',
409        'source/talk/p2p/client/httpportallocator.cc',
410        'source/talk/p2p/client/httpportallocator.h',
411        'source/talk/p2p/client/sessionmanagertask.h',
412        'source/talk/p2p/client/sessionsendtask.h',
413        'source/talk/p2p/client/socketmonitor.cc',
414        'source/talk/p2p/client/socketmonitor.h',
415        'source/talk/session/tunnel/pseudotcpchannel.cc',
416        'source/talk/session/tunnel/pseudotcpchannel.h',
417        'source/talk/session/tunnel/tunnelsessionclient.cc',
418        'source/talk/session/tunnel/tunnelsessionclient.h',
419      ],
420      'dependencies': [
421          'libjingle',
422      ],
423    },
424  ],
425}
426
427# Local Variables:
428# tab-width:2
429# indent-tabs-mode:nil
430# End:
431# vim: set expandtab tabstop=2 shiftwidth=2:
432