Home | History | Annotate | Download | only in libjingle
      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/cpumonitor.cc',
    278         '<(libjingle_source)/talk/base/cpumonitor.h',
    279         '<(libjingle_source)/talk/base/crc32.cc',
    280         '<(libjingle_source)/talk/base/crc32.h',
    281         '<(libjingle_source)/talk/base/criticalsection.h',
    282         '<(libjingle_source)/talk/base/cryptstring.h',
    283         '<(libjingle_source)/talk/base/diskcache.cc',
    284         '<(libjingle_source)/talk/base/diskcache.h',
    285         '<(libjingle_source)/talk/base/event.cc',
    286         '<(libjingle_source)/talk/base/event.h',
    287         '<(libjingle_source)/talk/base/fileutils.cc',
    288         '<(libjingle_source)/talk/base/fileutils.h',
    289         '<(libjingle_source)/talk/base/firewallsocketserver.cc',
    290         '<(libjingle_source)/talk/base/firewallsocketserver.h',
    291         '<(libjingle_source)/talk/base/flags.cc',
    292         '<(libjingle_source)/talk/base/flags.h',
    293         '<(libjingle_source)/talk/base/helpers.cc',
    294         '<(libjingle_source)/talk/base/helpers.h',
    295         '<(libjingle_source)/talk/base/httpbase.cc',
    296         '<(libjingle_source)/talk/base/httpbase.h',
    297         '<(libjingle_source)/talk/base/httpclient.cc',
    298         '<(libjingle_source)/talk/base/httpclient.h',
    299         '<(libjingle_source)/talk/base/httpcommon-inl.h',
    300         '<(libjingle_source)/talk/base/httpcommon.cc',
    301         '<(libjingle_source)/talk/base/httpcommon.h',
    302         '<(libjingle_source)/talk/base/httprequest.cc',
    303         '<(libjingle_source)/talk/base/httprequest.h',
    304         '<(libjingle_source)/talk/base/ipaddress.cc',
    305         '<(libjingle_source)/talk/base/ipaddress.h',
    306         '<(libjingle_source)/talk/base/json.cc',
    307         '<(libjingle_source)/talk/base/json.h',
    308         '<(libjingle_source)/talk/base/linked_ptr.h',
    309         '<(libjingle_source)/talk/base/md5.cc',
    310         '<(libjingle_source)/talk/base/md5.h',
    311         '<(libjingle_source)/talk/base/md5digest.h',
    312         '<(libjingle_source)/talk/base/messagedigest.cc',
    313         '<(libjingle_source)/talk/base/messagedigest.h',
    314         '<(libjingle_source)/talk/base/messagehandler.cc',
    315         '<(libjingle_source)/talk/base/messagehandler.h',
    316         '<(libjingle_source)/talk/base/messagequeue.cc',
    317         '<(libjingle_source)/talk/base/messagequeue.h',
    318         '<(libjingle_source)/talk/base/nethelpers.cc',
    319         '<(libjingle_source)/talk/base/nethelpers.h',
    320         '<(libjingle_source)/talk/base/network.cc',
    321         '<(libjingle_source)/talk/base/network.h',
    322         '<(libjingle_source)/talk/base/nssidentity.cc',
    323         '<(libjingle_source)/talk/base/nssidentity.h',
    324         '<(libjingle_source)/talk/base/nssstreamadapter.cc',
    325         '<(libjingle_source)/talk/base/nssstreamadapter.h',
    326         '<(libjingle_source)/talk/base/nullsocketserver.h',
    327         '<(libjingle_source)/talk/base/pathutils.cc',
    328         '<(libjingle_source)/talk/base/pathutils.h',
    329         '<(libjingle_source)/talk/base/physicalsocketserver.cc',
    330         '<(libjingle_source)/talk/base/physicalsocketserver.h',
    331         '<(libjingle_source)/talk/base/proxydetect.cc',
    332         '<(libjingle_source)/talk/base/proxydetect.h',
    333         '<(libjingle_source)/talk/base/proxyinfo.cc',
    334         '<(libjingle_source)/talk/base/proxyinfo.h',
    335         '<(libjingle_source)/talk/base/ratelimiter.cc',
    336         '<(libjingle_source)/talk/base/ratelimiter.h',
    337         '<(libjingle_source)/talk/base/ratetracker.cc',
    338         '<(libjingle_source)/talk/base/ratetracker.h',
    339         '<(libjingle_source)/talk/base/scoped_ptr.h',
    340         '<(libjingle_source)/talk/base/sec_buffer.h',
    341         '<(libjingle_source)/talk/base/sha1.cc',
    342         '<(libjingle_source)/talk/base/sha1.h',
    343         '<(libjingle_source)/talk/base/sha1digest.h',
    344         '<(libjingle_source)/talk/base/signalthread.cc',
    345         '<(libjingle_source)/talk/base/signalthread.h',
    346         '<(libjingle_source)/talk/base/sigslot.h',
    347         '<(libjingle_source)/talk/base/sigslotrepeater.h',
    348         '<(libjingle_source)/talk/base/socket.h',
    349         '<(libjingle_source)/talk/base/socketadapters.cc',
    350         '<(libjingle_source)/talk/base/socketadapters.h',
    351         '<(libjingle_source)/talk/base/socketaddress.cc',
    352         '<(libjingle_source)/talk/base/socketaddress.h',
    353         '<(libjingle_source)/talk/base/socketaddresspair.cc',
    354         '<(libjingle_source)/talk/base/socketaddresspair.h',
    355         '<(libjingle_source)/talk/base/socketfactory.h',
    356         '<(libjingle_source)/talk/base/socketpool.cc',
    357         '<(libjingle_source)/talk/base/socketpool.h',
    358         '<(libjingle_source)/talk/base/socketserver.h',
    359         '<(libjingle_source)/talk/base/socketstream.cc',
    360         '<(libjingle_source)/talk/base/socketstream.h',
    361         '<(libjingle_source)/talk/base/ssladapter.cc',
    362         '<(libjingle_source)/talk/base/ssladapter.h',
    363         '<(libjingle_source)/talk/base/sslidentity.cc',
    364         '<(libjingle_source)/talk/base/sslidentity.h',
    365         '<(libjingle_source)/talk/base/sslsocketfactory.cc',
    366         '<(libjingle_source)/talk/base/sslsocketfactory.h',
    367         '<(libjingle_source)/talk/base/sslstreamadapter.cc',
    368         '<(libjingle_source)/talk/base/sslstreamadapter.h',
    369         '<(libjingle_source)/talk/base/sslstreamadapterhelper.cc',
    370         '<(libjingle_source)/talk/base/sslstreamadapterhelper.h',
    371         '<(libjingle_source)/talk/base/stream.cc',
    372         '<(libjingle_source)/talk/base/stream.h',
    373         '<(libjingle_source)/talk/base/stringencode.cc',
    374         '<(libjingle_source)/talk/base/stringencode.h',
    375         '<(libjingle_source)/talk/base/stringutils.cc',
    376         '<(libjingle_source)/talk/base/stringutils.h',
    377         '<(libjingle_source)/talk/base/systeminfo.cc',
    378         '<(libjingle_source)/talk/base/systeminfo.h',
    379         '<(libjingle_source)/talk/base/task.cc',
    380         '<(libjingle_source)/talk/base/task.h',
    381         '<(libjingle_source)/talk/base/taskparent.cc',
    382         '<(libjingle_source)/talk/base/taskparent.h',
    383         '<(libjingle_source)/talk/base/taskrunner.cc',
    384         '<(libjingle_source)/talk/base/taskrunner.h',
    385         '<(libjingle_source)/talk/base/thread.cc',
    386         '<(libjingle_source)/talk/base/thread.h',
    387         '<(libjingle_source)/talk/base/timeutils.cc',
    388         '<(libjingle_source)/talk/base/timeutils.h',
    389         '<(libjingle_source)/talk/base/timing.cc',
    390         '<(libjingle_source)/talk/base/timing.h',
    391         '<(libjingle_source)/talk/base/urlencode.cc',
    392         '<(libjingle_source)/talk/base/urlencode.h',
    393         '<(libjingle_source)/talk/base/worker.cc',
    394         '<(libjingle_source)/talk/base/worker.h',
    395         '<(libjingle_source)/talk/p2p/base/asyncstuntcpsocket.cc',
    396         '<(libjingle_source)/talk/p2p/base/asyncstuntcpsocket.h',
    397         '<(libjingle_source)/talk/p2p/base/basicpacketsocketfactory.cc',
    398         '<(libjingle_source)/talk/p2p/base/basicpacketsocketfactory.h',
    399         '<(libjingle_source)/talk/p2p/base/candidate.h',
    400         '<(libjingle_source)/talk/p2p/base/common.h',
    401         '<(libjingle_source)/talk/p2p/base/dtlstransport.h',
    402         '<(libjingle_source)/talk/p2p/base/dtlstransportchannel.cc',
    403         '<(libjingle_source)/talk/p2p/base/dtlstransportchannel.h',
    404         '<(libjingle_source)/talk/p2p/base/p2ptransport.cc',
    405         '<(libjingle_source)/talk/p2p/base/p2ptransport.h',
    406         '<(libjingle_source)/talk/p2p/base/p2ptransportchannel.cc',
    407         '<(libjingle_source)/talk/p2p/base/p2ptransportchannel.h',
    408         '<(libjingle_source)/talk/p2p/base/parsing.cc',
    409         '<(libjingle_source)/talk/p2p/base/parsing.h',
    410         '<(libjingle_source)/talk/p2p/base/port.cc',
    411         '<(libjingle_source)/talk/p2p/base/port.h',
    412         '<(libjingle_source)/talk/p2p/base/portallocator.cc',
    413         '<(libjingle_source)/talk/p2p/base/portallocator.h',
    414         '<(libjingle_source)/talk/p2p/base/portallocatorsessionproxy.cc',
    415         '<(libjingle_source)/talk/p2p/base/portallocatorsessionproxy.h',
    416         '<(libjingle_source)/talk/p2p/base/portproxy.cc',
    417         '<(libjingle_source)/talk/p2p/base/portproxy.h',
    418         '<(libjingle_source)/talk/p2p/base/pseudotcp.cc',
    419         '<(libjingle_source)/talk/p2p/base/pseudotcp.h',
    420         '<(libjingle_source)/talk/p2p/base/rawtransport.cc',
    421         '<(libjingle_source)/talk/p2p/base/rawtransport.h',
    422         '<(libjingle_source)/talk/p2p/base/rawtransportchannel.cc',
    423         '<(libjingle_source)/talk/p2p/base/rawtransportchannel.h',
    424         '<(libjingle_source)/talk/p2p/base/relayport.cc',
    425         '<(libjingle_source)/talk/p2p/base/relayport.h',
    426         '<(libjingle_source)/talk/p2p/base/session.cc',
    427         '<(libjingle_source)/talk/p2p/base/session.h',
    428         '<(libjingle_source)/talk/p2p/base/sessionclient.h',
    429         '<(libjingle_source)/talk/p2p/base/sessiondescription.cc',
    430         '<(libjingle_source)/talk/p2p/base/sessiondescription.h',
    431         '<(libjingle_source)/talk/p2p/base/sessionid.h',
    432         '<(libjingle_source)/talk/p2p/base/sessionmanager.cc',
    433         '<(libjingle_source)/talk/p2p/base/sessionmanager.h',
    434         '<(libjingle_source)/talk/p2p/base/sessionmessages.cc',
    435         '<(libjingle_source)/talk/p2p/base/sessionmessages.h',
    436         '<(libjingle_source)/talk/p2p/base/stun.cc',
    437         '<(libjingle_source)/talk/p2p/base/stun.h',
    438         '<(libjingle_source)/talk/p2p/base/stunport.cc',
    439         '<(libjingle_source)/talk/p2p/base/stunport.h',
    440         '<(libjingle_source)/talk/p2p/base/stunrequest.cc',
    441         '<(libjingle_source)/talk/p2p/base/stunrequest.h',
    442         '<(libjingle_source)/talk/p2p/base/tcpport.cc',
    443         '<(libjingle_source)/talk/p2p/base/tcpport.h',
    444         '<(libjingle_source)/talk/p2p/base/transport.cc',
    445         '<(libjingle_source)/talk/p2p/base/transport.h',
    446         '<(libjingle_source)/talk/p2p/base/transportchannel.cc',
    447         '<(libjingle_source)/talk/p2p/base/transportchannel.h',
    448         '<(libjingle_source)/talk/p2p/base/transportchannelimpl.h',
    449         '<(libjingle_source)/talk/p2p/base/transportchannelproxy.cc',
    450         '<(libjingle_source)/talk/p2p/base/transportchannelproxy.h',
    451         '<(libjingle_source)/talk/p2p/base/transportdescriptionfactory.cc',
    452         '<(libjingle_source)/talk/p2p/base/transportdescriptionfactory.h',
    453         '<(libjingle_source)/talk/p2p/base/turnport.cc',
    454         '<(libjingle_source)/talk/p2p/base/turnport.h',
    455         '<(libjingle_source)/talk/p2p/client/basicportallocator.cc',
    456         '<(libjingle_source)/talk/p2p/client/basicportallocator.h',
    457         '<(libjingle_source)/talk/p2p/client/httpportallocator.cc',
    458         '<(libjingle_source)/talk/p2p/client/httpportallocator.h',
    459         '<(libjingle_source)/talk/p2p/client/sessionmanagertask.h',
    460         '<(libjingle_source)/talk/p2p/client/sessionsendtask.h',
    461         '<(libjingle_source)/talk/p2p/client/socketmonitor.cc',
    462         '<(libjingle_source)/talk/p2p/client/socketmonitor.h',
    463         '<(libjingle_source)/talk/xmllite/qname.cc',
    464         '<(libjingle_source)/talk/xmllite/qname.h',
    465         '<(libjingle_source)/talk/xmllite/xmlbuilder.cc',
    466         '<(libjingle_source)/talk/xmllite/xmlbuilder.h',
    467         '<(libjingle_source)/talk/xmllite/xmlconstants.cc',
    468         '<(libjingle_source)/talk/xmllite/xmlconstants.h',
    469         '<(libjingle_source)/talk/xmllite/xmlelement.cc',
    470         '<(libjingle_source)/talk/xmllite/xmlelement.h',
    471         '<(libjingle_source)/talk/xmllite/xmlnsstack.cc',
    472         '<(libjingle_source)/talk/xmllite/xmlnsstack.h',
    473         '<(libjingle_source)/talk/xmllite/xmlparser.cc',
    474         '<(libjingle_source)/talk/xmllite/xmlparser.h',
    475         '<(libjingle_source)/talk/xmllite/xmlprinter.cc',
    476         '<(libjingle_source)/talk/xmllite/xmlprinter.h',
    477         '<(libjingle_source)/talk/xmpp/asyncsocket.h',
    478         '<(libjingle_source)/talk/xmpp/constants.cc',
    479         '<(libjingle_source)/talk/xmpp/constants.h',
    480         '<(libjingle_source)/talk/xmpp/jid.cc',
    481         '<(libjingle_source)/talk/xmpp/jid.h',
    482         '<(libjingle_source)/talk/xmpp/plainsaslhandler.h',
    483         '<(libjingle_source)/talk/xmpp/prexmppauth.h',
    484         '<(libjingle_source)/talk/xmpp/saslcookiemechanism.h',
    485         '<(libjingle_source)/talk/xmpp/saslhandler.h',
    486         '<(libjingle_source)/talk/xmpp/saslmechanism.cc',
    487         '<(libjingle_source)/talk/xmpp/saslmechanism.h',
    488         '<(libjingle_source)/talk/xmpp/saslplainmechanism.h',
    489         '<(libjingle_source)/talk/xmpp/xmppclient.cc',
    490         '<(libjingle_source)/talk/xmpp/xmppclient.h',
    491         '<(libjingle_source)/talk/xmpp/xmppclientsettings.h',
    492         '<(libjingle_source)/talk/xmpp/xmppengine.h',
    493         '<(libjingle_source)/talk/xmpp/xmppengineimpl.cc',
    494         '<(libjingle_source)/talk/xmpp/xmppengineimpl.h',
    495         '<(libjingle_source)/talk/xmpp/xmppengineimpl_iq.cc',
    496         '<(libjingle_source)/talk/xmpp/xmpplogintask.cc',
    497         '<(libjingle_source)/talk/xmpp/xmpplogintask.h',
    498         '<(libjingle_source)/talk/xmpp/xmppstanzaparser.cc',
    499         '<(libjingle_source)/talk/xmpp/xmppstanzaparser.h',
    500         '<(libjingle_source)/talk/xmpp/xmpptask.cc',
    501         '<(libjingle_source)/talk/xmpp/xmpptask.h',
    502       ],
    503       'dependencies': [
    504         '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
    505         'libjingle_p2p_constants',
    506         '<@(libjingle_additional_deps)',
    507       ],
    508       'export_dependent_settings': [
    509         '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
    510       ],
    511       'conditions': [
    512         ['OS=="win"', {
    513           'sources': [
    514             'overrides/talk/base/win32socketinit.cc',
    515             '<(libjingle_source)/talk/base/schanneladapter.cc',
    516             '<(libjingle_source)/talk/base/schanneladapter.h',
    517             '<(libjingle_source)/talk/base/win32.cc',
    518             '<(libjingle_source)/talk/base/win32.h',
    519             '<(libjingle_source)/talk/base/win32filesystem.cc',
    520             '<(libjingle_source)/talk/base/win32filesystem.h',
    521             '<(libjingle_source)/talk/base/win32window.h',
    522             '<(libjingle_source)/talk/base/win32window.cc',
    523             '<(libjingle_source)/talk/base/win32securityerrors.cc',
    524             '<(libjingle_source)/talk/base/winfirewall.cc',
    525             '<(libjingle_source)/talk/base/winfirewall.h',
    526             '<(libjingle_source)/talk/base/winping.cc',
    527             '<(libjingle_source)/talk/base/winping.h',
    528           ],
    529           # Suppress warnings about WIN32_LEAN_AND_MEAN.
    530           'msvs_disabled_warnings': [ 4005, 4267 ],
    531         }],
    532         ['os_posix == 1', {
    533           'sources': [
    534             '<(libjingle_source)/talk/base/unixfilesystem.cc',
    535             '<(libjingle_source)/talk/base/unixfilesystem.h',
    536           ],
    537         }],
    538         ['OS=="linux"', {
    539           'sources': [
    540             '<(libjingle_source)/talk/base/latebindingsymboltable.cc',
    541             '<(libjingle_source)/talk/base/latebindingsymboltable.h',
    542             '<(libjingle_source)/talk/base/linux.cc',
    543             '<(libjingle_source)/talk/base/linux.h',
    544           ],
    545         }],
    546         ['OS=="mac" or OS=="ios"', {
    547           'sources': [
    548             '<(libjingle_source)/talk/base/macconversion.cc',
    549             '<(libjingle_source)/talk/base/macconversion.h',
    550             '<(libjingle_source)/talk/base/maccocoathreadhelper.h',
    551             '<(libjingle_source)/talk/base/maccocoathreadhelper.mm',
    552             '<(libjingle_source)/talk/base/macutils.cc',
    553             '<(libjingle_source)/talk/base/macutils.h',
    554             '<(libjingle_source)/talk/base/scoped_autorelease_pool.h',
    555             '<(libjingle_source)/talk/base/scoped_autorelease_pool.mm',
    556           ],
    557         }],
    558         ['OS=="android"', {
    559           'sources': [
    560             '<(libjingle_source)/talk/base/ifaddrs-android.cc',
    561             '<(libjingle_source)/talk/base/ifaddrs-android.h',
    562             '<(libjingle_source)/talk/base/linux.cc',
    563             '<(libjingle_source)/talk/base/linux.h',
    564           ],
    565           'sources!': [
    566             # These depend on jsoncpp which we don't load because we probably
    567             # don't actually need this code at all.
    568             '<(libjingle_source)/talk/base/json.cc',
    569             '<(libjingle_source)/talk/base/json.h',
    570           ],
    571           'dependencies!': [
    572             '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
    573           ],
    574         }],
    575         ['use_openssl==1', {
    576           'sources': [
    577             '<(libjingle_source)/talk/base/openssladapter.cc',
    578             '<(libjingle_source)/talk/base/openssldigest.cc',
    579             '<(libjingle_source)/talk/base/opensslidentity.cc',
    580             '<(libjingle_source)/talk/base/opensslstreamadapter.cc',
    581           ],
    582         }],
    583       ],
    584     },  # target libjingle
    585     # This has to be is a separate project due to a bug in MSVS 2008 and the
    586     # current toolset on android.  The problem is that we have two files named
    587     # "constants.cc" and MSVS/android doesn't handle this properly.
    588     # GYP currently has guards to catch this, so if you want to remove it,
    589     # run GYP and if GYP has removed the validation check, then we can assume
    590     # that the toolchains have been fixed (we currently use VS2010 and later,
    591     # so VS2008 isn't a concern anymore).
    592     {
    593       'target_name': 'libjingle_p2p_constants',
    594       'type': 'static_library',
    595       'sources': [
    596         '<(libjingle_source)/talk/p2p/base/constants.cc',
    597         '<(libjingle_source)/talk/p2p/base/constants.h',
    598       ],
    599     },  # target libjingle_p2p_constants
    600     {
    601       'target_name': 'peerconnection_server',
    602       'type': 'executable',
    603       'sources': [
    604         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.cc',
    605         '<(libjingle_source)/talk/examples/peerconnection/server/data_socket.h',
    606         '<(libjingle_source)/talk/examples/peerconnection/server/main.cc',
    607         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.cc',
    608         '<(libjingle_source)/talk/examples/peerconnection/server/peer_channel.h',
    609         '<(libjingle_source)/talk/examples/peerconnection/server/utils.cc',
    610         '<(libjingle_source)/talk/examples/peerconnection/server/utils.h',
    611       ],
    612       'include_dirs': [
    613         '<(libjingle_source)',
    614       ],
    615       'dependencies': [
    616         'libjingle',
    617       ],
    618       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    619       'msvs_disabled_warnings': [ 4309, ],
    620     }, # target peerconnection_server
    621   ],
    622   'conditions': [
    623     ['enable_webrtc==1', {
    624       'targets': [
    625         {
    626           'target_name': 'libjingle_webrtc_common',
    627           'type': 'static_library',
    628           'all_dependent_settings': {
    629             'conditions': [
    630               ['"<(libpeer_target_type)"=="static_library"', {
    631                 'defines': [ 'LIBPEERCONNECTION_LIB=1' ],
    632               }],
    633             ],
    634           },
    635           'sources': [
    636             'overrides/talk/media/webrtc/webrtcexport.h',
    637 
    638             '<(libjingle_source)/talk/app/webrtc/audiotrack.cc',
    639             '<(libjingle_source)/talk/app/webrtc/audiotrack.h',
    640             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.cc',
    641             '<(libjingle_source)/talk/app/webrtc/audiotrackrenderer.h',
    642             '<(libjingle_source)/talk/app/webrtc/datachannel.cc',
    643             '<(libjingle_source)/talk/app/webrtc/datachannel.h',
    644             '<(libjingle_source)/talk/app/webrtc/dtmfsender.cc',
    645             '<(libjingle_source)/talk/app/webrtc/dtmfsender.h',
    646             '<(libjingle_source)/talk/app/webrtc/jsep.h',
    647             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.cc',
    648             '<(libjingle_source)/talk/app/webrtc/jsepicecandidate.h',
    649             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.cc',
    650             '<(libjingle_source)/talk/app/webrtc/jsepsessiondescription.h',
    651             '<(libjingle_source)/talk/app/webrtc/localaudiosource.cc',
    652             '<(libjingle_source)/talk/app/webrtc/localaudiosource.h',
    653             '<(libjingle_source)/talk/app/webrtc/localvideosource.cc',
    654             '<(libjingle_source)/talk/app/webrtc/localvideosource.h',
    655             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.cc',
    656             '<(libjingle_source)/talk/app/webrtc/mediaconstraintsinterface.h',
    657             '<(libjingle_source)/talk/app/webrtc/mediastream.cc',
    658             '<(libjingle_source)/talk/app/webrtc/mediastream.h',
    659             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.cc',
    660             '<(libjingle_source)/talk/app/webrtc/mediastreamhandler.h',
    661             '<(libjingle_source)/talk/app/webrtc/mediastreaminterface.h',
    662             '<(libjingle_source)/talk/app/webrtc/mediastreamprovider.h',
    663             '<(libjingle_source)/talk/app/webrtc/mediastreamproxy.h',
    664             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.cc',
    665             '<(libjingle_source)/talk/app/webrtc/mediastreamsignaling.h',
    666             '<(libjingle_source)/talk/app/webrtc/mediastreamtrack.h',
    667             '<(libjingle_source)/talk/app/webrtc/mediastreamtrackproxy.h',
    668             '<(libjingle_source)/talk/app/webrtc/notifier.h',
    669             '<(libjingle_source)/talk/app/webrtc/peerconnection.cc',
    670             '<(libjingle_source)/talk/app/webrtc/peerconnection.h',
    671             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.cc',
    672             '<(libjingle_source)/talk/app/webrtc/peerconnectionfactory.h',
    673             '<(libjingle_source)/talk/app/webrtc/peerconnectioninterface.h',
    674             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.cc',
    675             '<(libjingle_source)/talk/app/webrtc/portallocatorfactory.h',
    676             '<(libjingle_source)/talk/app/webrtc/statscollector.cc',
    677             '<(libjingle_source)/talk/app/webrtc/statscollector.h',
    678             '<(libjingle_source)/talk/app/webrtc/statstypes.h',
    679             '<(libjingle_source)/talk/app/webrtc/streamcollection.h',
    680             '<(libjingle_source)/talk/app/webrtc/videosourceinterface.h',
    681             '<(libjingle_source)/talk/app/webrtc/videosourceproxy.h',
    682             '<(libjingle_source)/talk/app/webrtc/videotrack.cc',
    683             '<(libjingle_source)/talk/app/webrtc/videotrack.h',
    684             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.cc',
    685             '<(libjingle_source)/talk/app/webrtc/videotrackrenderers.h',
    686             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.cc',
    687             '<(libjingle_source)/talk/app/webrtc/webrtcsdp.h',
    688             '<(libjingle_source)/talk/app/webrtc/webrtcsession.cc',
    689             '<(libjingle_source)/talk/app/webrtc/webrtcsession.h',
    690             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.cc',
    691             '<(libjingle_source)/talk/app/webrtc/webrtcsessiondescriptionfactory.h',
    692             '<(libjingle_source)/talk/media/base/audiorenderer.h',
    693             '<(libjingle_source)/talk/media/base/capturemanager.cc',
    694             '<(libjingle_source)/talk/media/base/capturemanager.h',
    695             '<(libjingle_source)/talk/media/base/capturerenderadapter.cc',
    696             '<(libjingle_source)/talk/media/base/capturerenderadapter.h',
    697             '<(libjingle_source)/talk/media/base/codec.cc',
    698             '<(libjingle_source)/talk/media/base/codec.h',
    699             '<(libjingle_source)/talk/media/base/constants.cc',
    700             '<(libjingle_source)/talk/media/base/constants.h',
    701             '<(libjingle_source)/talk/media/base/cryptoparams.h',
    702             '<(libjingle_source)/talk/media/base/filemediaengine.cc',
    703             '<(libjingle_source)/talk/media/base/filemediaengine.h',
    704             '<(libjingle_source)/talk/media/base/hybriddataengine.h',
    705             '<(libjingle_source)/talk/media/base/mediachannel.h',
    706             '<(libjingle_source)/talk/media/base/mediaengine.cc',
    707             '<(libjingle_source)/talk/media/base/mediaengine.h',
    708             '<(libjingle_source)/talk/media/base/rtpdataengine.cc',
    709             '<(libjingle_source)/talk/media/base/rtpdataengine.h',
    710             '<(libjingle_source)/talk/media/base/rtpdump.cc',
    711             '<(libjingle_source)/talk/media/base/rtpdump.h',
    712             '<(libjingle_source)/talk/media/base/rtputils.cc',
    713             '<(libjingle_source)/talk/media/base/rtputils.h',
    714             '<(libjingle_source)/talk/media/base/streamparams.cc',
    715             '<(libjingle_source)/talk/media/base/streamparams.h',
    716             '<(libjingle_source)/talk/media/base/videoadapter.cc',
    717             '<(libjingle_source)/talk/media/base/videoadapter.h',
    718             '<(libjingle_source)/talk/media/base/videocapturer.cc',
    719             '<(libjingle_source)/talk/media/base/videocapturer.h',
    720             '<(libjingle_source)/talk/media/base/videocommon.cc',
    721             '<(libjingle_source)/talk/media/base/videocommon.h',
    722             '<(libjingle_source)/talk/media/base/videoframe.cc',
    723             '<(libjingle_source)/talk/media/base/videoframe.h',
    724             '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
    725             '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
    726             '<(libjingle_source)/talk/media/devices/filevideocapturer.cc',
    727             '<(libjingle_source)/talk/media/devices/filevideocapturer.h',
    728             '<(libjingle_source)/talk/media/webrtc/webrtccommon.h',
    729             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.cc',
    730             '<(libjingle_source)/talk/media/webrtc/webrtcpassthroughrender.h',
    731             '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.cc',
    732             '<(libjingle_source)/talk/media/webrtc/webrtctexturevideoframe.h',
    733             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.cc',
    734             '<(libjingle_source)/talk/media/webrtc/webrtcvideocapturer.h',
    735             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.cc',
    736             '<(libjingle_source)/talk/media/webrtc/webrtcvideoframe.h',
    737             '<(libjingle_source)/talk/media/webrtc/webrtcvie.h',
    738             '<(libjingle_source)/talk/media/webrtc/webrtcvoe.h',
    739             '<(libjingle_source)/talk/session/media/audiomonitor.cc',
    740             '<(libjingle_source)/talk/session/media/audiomonitor.h',
    741             '<(libjingle_source)/talk/session/media/call.cc',
    742             '<(libjingle_source)/talk/session/media/call.h',
    743             '<(libjingle_source)/talk/session/media/channel.cc',
    744             '<(libjingle_source)/talk/session/media/channel.h',
    745             '<(libjingle_source)/talk/session/media/channelmanager.cc',
    746             '<(libjingle_source)/talk/session/media/channelmanager.h',
    747             '<(libjingle_source)/talk/session/media/currentspeakermonitor.cc',
    748             '<(libjingle_source)/talk/session/media/currentspeakermonitor.h',
    749             '<(libjingle_source)/talk/session/media/mediamessages.cc',
    750             '<(libjingle_source)/talk/session/media/mediamessages.h',
    751             '<(libjingle_source)/talk/session/media/mediamonitor.cc',
    752             '<(libjingle_source)/talk/session/media/mediamonitor.h',
    753             '<(libjingle_source)/talk/session/media/mediasession.cc',
    754             '<(libjingle_source)/talk/session/media/mediasession.h',
    755             '<(libjingle_source)/talk/session/media/mediasessionclient.cc',
    756             '<(libjingle_source)/talk/session/media/mediasessionclient.h',
    757             '<(libjingle_source)/talk/session/media/mediasink.h',
    758             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.cc',
    759             '<(libjingle_source)/talk/session/media/rtcpmuxfilter.h',
    760             '<(libjingle_source)/talk/session/media/soundclip.cc',
    761             '<(libjingle_source)/talk/session/media/soundclip.h',
    762             '<(libjingle_source)/talk/session/media/srtpfilter.cc',
    763             '<(libjingle_source)/talk/session/media/srtpfilter.h',
    764             '<(libjingle_source)/talk/session/media/ssrcmuxfilter.cc',
    765             '<(libjingle_source)/talk/session/media/ssrcmuxfilter.h',
    766             '<(libjingle_source)/talk/session/media/typingmonitor.cc',
    767             '<(libjingle_source)/talk/session/media/typingmonitor.h',
    768             '<(libjingle_source)/talk/session/media/voicechannel.h',
    769             '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.cc',
    770             '<(libjingle_source)/talk/session/tunnel/pseudotcpchannel.h',
    771             '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.cc',
    772             '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.h',
    773           ],
    774           'conditions': [
    775             ['libpeer_allocator_shim==1 and '
    776              'libpeer_target_type!="static_library" and OS!="mac"', {
    777               'sources': [
    778                 'overrides/allocator_shim/allocator_stub.cc',
    779                 'overrides/allocator_shim/allocator_stub.h',
    780               ],
    781             }],
    782             # TODO(mallinath) - Enable SCTP for Android and iOS platforms.
    783             ['OS!="android" and OS!="ios"', {
    784               'conditions': [
    785                 ['OS!="win"', {
    786                   'defines': [
    787                     'HAVE_SCTP',
    788                   ],
    789                 }],
    790               ],
    791               'sources': [
    792                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.cc',
    793                 '<(libjingle_source)/talk/media/sctp/sctpdataengine.h',
    794               ],
    795               'dependencies': [
    796                 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib',
    797               ],
    798             }],
    799             ['enabled_libjingle_device_manager==1', {
    800               'sources!': [
    801                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.cc',
    802                 '<(libjingle_source)/talk/media/devices/dummydevicemanager.h',
    803               ],
    804               'sources': [
    805                 '<(libjingle_source)/talk/media/devices/devicemanager.cc',
    806                 '<(libjingle_source)/talk/media/devices/devicemanager.h',
    807                 '<(libjingle_source)/talk/sound/nullsoundsystem.cc',
    808                 '<(libjingle_source)/talk/sound/nullsoundsystem.h',
    809                 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.cc',
    810                 '<(libjingle_source)/talk/sound/nullsoundsystemfactory.h',
    811                 '<(libjingle_source)/talk/sound/platformsoundsystem.cc',
    812                 '<(libjingle_source)/talk/sound/platformsoundsystem.h',
    813                 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.cc',
    814                 '<(libjingle_source)/talk/sound/platformsoundsystemfactory.h',
    815                 '<(libjingle_source)/talk/sound/soundsysteminterface.cc',
    816                 '<(libjingle_source)/talk/sound/soundsysteminterface.h',
    817                 '<(libjingle_source)/talk/sound/soundsystemproxy.cc',
    818                 '<(libjingle_source)/talk/sound/soundsystemproxy.h',
    819               ],
    820               'conditions': [
    821                 ['OS=="win"', {
    822                   'sources': [
    823                     '<(libjingle_source)/talk/base/win32window.cc',
    824                     '<(libjingle_source)/talk/base/win32window.h',
    825                     '<(libjingle_source)/talk/base/win32windowpicker.cc',
    826                     '<(libjingle_source)/talk/base/win32windowpicker.h',
    827                     '<(libjingle_source)/talk/media/devices/win32deviceinfo.cc',
    828                     '<(libjingle_source)/talk/media/devices/win32devicemanager.cc',
    829                     '<(libjingle_source)/talk/media/devices/win32devicemanager.h',
    830                   ],
    831                 }],
    832                 ['OS=="linux"', {
    833                   'sources': [
    834                     '<(libjingle_source)/talk/base/linuxwindowpicker.cc',
    835                     '<(libjingle_source)/talk/base/linuxwindowpicker.h',
    836                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.cc',
    837                     '<(libjingle_source)/talk/media/devices/libudevsymboltable.h',
    838                     '<(libjingle_source)/talk/media/devices/linuxdeviceinfo.cc',
    839                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.cc',
    840                     '<(libjingle_source)/talk/media/devices/linuxdevicemanager.h',
    841                     '<(libjingle_source)/talk/media/devices/v4llookup.cc',
    842                     '<(libjingle_source)/talk/media/devices/v4llookup.h',
    843                     '<(libjingle_source)/talk/sound/alsasoundsystem.cc',
    844                     '<(libjingle_source)/talk/sound/alsasoundsystem.h',
    845                     '<(libjingle_source)/talk/sound/alsasymboltable.cc',
    846                     '<(libjingle_source)/talk/sound/alsasymboltable.h',
    847                     '<(libjingle_source)/talk/sound/linuxsoundsystem.cc',
    848                     '<(libjingle_source)/talk/sound/linuxsoundsystem.h',
    849                     '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.cc',
    850                     '<(libjingle_source)/talk/sound/pulseaudiosoundsystem.h',
    851                     '<(libjingle_source)/talk/sound/pulseaudiosymboltable.cc',
    852                     '<(libjingle_source)/talk/sound/pulseaudiosymboltable.h',
    853                   ],
    854                 }],
    855                 ['OS=="mac"', {
    856                   'sources': [
    857                     '<(libjingle_source)/talk/media/devices/macdeviceinfo.cc',
    858                     '<(libjingle_source)/talk/media/devices/macdevicemanager.cc',
    859                     '<(libjingle_source)/talk/media/devices/macdevicemanager.h',
    860                     '<(libjingle_source)/talk/media/devices/macdevicemanagermm.mm',
    861                   ],
    862                   'xcode_settings': {
    863                     'WARNING_CFLAGS': [
    864                       # Suppres warnings about using deprecated functions in
    865                       # macdevicemanager.cc.
    866                       '-Wno-deprecated-declarations',
    867                     ],
    868                   },
    869                 }],
    870               ],
    871             }],
    872           ],
    873           'dependencies': [
    874             '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
    875             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:media_file',
    876             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_capture_module',
    877             '<(DEPTH)/third_party/webrtc/modules/modules.gyp:video_render_module',
    878             'libjingle',
    879           ],
    880         },  # target libjingle_webrtc_common
    881         {
    882           'target_name': 'libjingle_webrtc',
    883           'type': 'static_library',
    884           'sources': [
    885             'overrides/init_webrtc.cc',
    886             'overrides/init_webrtc.h',
    887           ],
    888           'dependencies': [
    889             'libjingle_webrtc_common',
    890           ],
    891         },
    892         {
    893           'target_name': 'libpeerconnection',
    894           'type': '<(libpeer_target_type)',
    895           'sources': [
    896             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.cc',
    897             '<(libjingle_source)/talk/media/webrtc/webrtcvideoengine.h',
    898             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.cc',
    899             '<(libjingle_source)/talk/media/webrtc/webrtcvoiceengine.h',
    900           ],
    901           'dependencies': [
    902             '<(DEPTH)/third_party/webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers',
    903             '<(DEPTH)/third_party/webrtc/video_engine/video_engine.gyp:video_engine_core',
    904             '<(DEPTH)/third_party/webrtc/voice_engine/voice_engine.gyp:voice_engine',
    905             '<@(libjingle_peerconnection_additional_deps)',
    906             'libjingle_webrtc_common',
    907           ],
    908           'conditions': [
    909             ['libpeer_target_type!="static_library"', {
    910               'sources': [
    911                 'overrides/initialize_module.cc',
    912               ],
    913               'conditions': [
    914                 ['OS!="mac" and OS!="android"', {
    915                   'sources': [
    916                     'overrides/allocator_shim/allocator_proxy.cc',
    917                   ],
    918                 }],
    919               ],
    920             }],
    921             ['"<(libpeer_target_type)"!="static_library"', {
    922               # Used to control symbol export/import.
    923               'defines': [ 'LIBPEERCONNECTION_IMPLEMENTATION=1' ],
    924             }],
    925             ['OS=="win" and "<(libpeer_target_type)"!="static_library"', {
    926               'link_settings': {
    927                 'libraries': [
    928                   '-lsecur32.lib',
    929                   '-lcrypt32.lib',
    930                   '-liphlpapi.lib',
    931                 ],
    932               },
    933             }],
    934             ['OS!="win" and "<(libpeer_target_type)"!="static_library"', {
    935               'cflags': [
    936                 # For compatibility with how we export symbols from this
    937                 # target on Windows.  This also prevents the linker from
    938                 # picking up symbols from this target that should be linked
    939                 # in from other libjingle libs.
    940                 '-fvisibility=hidden',
    941               ],
    942             }],
    943             ['OS=="mac" and libpeer_target_type!="static_library"', {
    944               'product_name': 'libpeerconnection',
    945             }],
    946             ['OS=="android" and "<(libpeer_target_type)"=="static_library"', {
    947               'standalone_static_library': 1,
    948             }],
    949             ['OS=="linux" and libpeer_target_type!="static_library"', {
    950               # The installer and various tools depend on finding the .so
    951               # in this directory and not lib.target as will otherwise be
    952               # the case with make builds.
    953               'product_dir': '<(PRODUCT_DIR)/lib',
    954             }],
    955           ],
    956         },  # target libpeerconnection
    957       ],
    958     }],
    959   ],
    960 }
    961