Home | History | Annotate | Download | only in libjingle
      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