Home | History | Annotate | Download | only in libjingle
      1 # Copyright 2014 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     'libjingle_source': "source",
      8     'webrtc_base': "../webrtc/base",
      9     'webrtc_xmllite': "../webrtc/libjingle/xmllite",
     10   },
     11   'includes': [
     12     '../../native_client/build/untrusted.gypi',
     13   ],
     14   'targets': [
     15     {
     16       'target_name': 'libjingle_nacl',
     17       'type': 'none',
     18       'variables': {
     19         'nlib_target': 'libjingle_nacl.a',
     20         'nacl_untrusted_build': 1,
     21         'build_glibc': 0,
     22         'build_newlib': 0,
     23         'build_pnacl_newlib': 1,
     24         'use_openssl': 1,
     25       },
     26       'dependencies': [
     27         '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
     28         '<(DEPTH)/native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
     29         '<(DEPTH)/third_party/expat/expat_nacl.gyp:expat_nacl',
     30         '<(DEPTH)/third_party/boringssl/boringssl_nacl.gyp:boringssl_nacl',
     31         'libjingle_p2p_constants_nacl',
     32       ],
     33       'defines': [
     34         'EXPAT_RELATIVE_PATH',
     35         'FEATURE_ENABLE_SSL',
     36         'GTEST_RELATIVE_PATH',
     37         'HAVE_OPENSSL_SSL_H',
     38         'NO_MAIN_THREAD_WRAPPING',
     39         'NO_SOUND_SYSTEM',
     40         'POSIX',
     41         'WEBRTC_POSIX',
     42         'SRTP_RELATIVE_PATH',
     43         'SSL_USE_OPENSSL',
     44         'USE_WEBRTC_DEV_BRANCH',
     45         'timezone=_timezone',
     46       ],
     47       'configurations': {
     48         'Debug': {
     49           'defines': [
     50             # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
     51             # _DEBUG and remove this define. See below as well.
     52             '_DEBUG',
     53           ],
     54         }
     55       },
     56       'include_dirs': [
     57         './<(libjingle_source)',
     58         '../',
     59       ],
     60       'includes': ['libjingle_common.gypi', ],
     61       'sources': [
     62         '<(webrtc_base)/asyncfile.cc',
     63         '<(webrtc_base)/asyncfile.h',
     64         '<(webrtc_base)/asynchttprequest.cc',
     65         '<(webrtc_base)/asynchttprequest.h',
     66         '<(webrtc_base)/asyncpacketsocket.h',
     67         '<(webrtc_base)/asyncsocket.cc',
     68         '<(webrtc_base)/asyncsocket.h',
     69         '<(webrtc_base)/asynctcpsocket.cc',
     70         '<(webrtc_base)/asynctcpsocket.h',
     71         '<(webrtc_base)/asyncudpsocket.cc',
     72         '<(webrtc_base)/asyncudpsocket.h',
     73         '<(webrtc_base)/autodetectproxy.cc',
     74         '<(webrtc_base)/autodetectproxy.h',
     75         '<(webrtc_base)/base64.cc',
     76         '<(webrtc_base)/base64.h',
     77         '<(webrtc_base)/basicdefs.h',
     78         '<(webrtc_base)/bytebuffer.cc',
     79         '<(webrtc_base)/bytebuffer.h',
     80         '<(webrtc_base)/byteorder.h',
     81         '<(webrtc_base)/checks.cc',
     82         '<(webrtc_base)/checks.h',
     83         '<(webrtc_base)/common.cc',
     84         '<(webrtc_base)/common.h',
     85         '<(webrtc_base)/compile_assert.h',
     86         '<(webrtc_base)/cpumonitor.cc',
     87         '<(webrtc_base)/cpumonitor.h',
     88         '<(webrtc_base)/crc32.cc',
     89         '<(webrtc_base)/crc32.h',
     90         '<(webrtc_base)/criticalsection.h',
     91         '<(webrtc_base)/cryptstring.h',
     92         '<(webrtc_base)/diskcache.cc',
     93         '<(webrtc_base)/diskcache.h',
     94         '<(webrtc_base)/dscp.h',
     95         '<(webrtc_base)/event.cc',
     96         '<(webrtc_base)/event.h',
     97         '<(webrtc_base)/fileutils.cc',
     98         '<(webrtc_base)/fileutils.h',
     99         '<(webrtc_base)/firewallsocketserver.cc',
    100         '<(webrtc_base)/firewallsocketserver.h',
    101         '<(webrtc_base)/flags.cc',
    102         '<(webrtc_base)/flags.h',
    103         '<(webrtc_base)/helpers.cc',
    104         '<(webrtc_base)/helpers.h',
    105         '<(webrtc_base)/httpbase.cc',
    106         '<(webrtc_base)/httpbase.h',
    107         '<(webrtc_base)/httpclient.cc',
    108         '<(webrtc_base)/httpclient.h',
    109         '<(webrtc_base)/httpcommon-inl.h',
    110         '<(webrtc_base)/httpcommon.cc',
    111         '<(webrtc_base)/httpcommon.h',
    112         '<(webrtc_base)/httprequest.cc',
    113         '<(webrtc_base)/httprequest.h',
    114         '<(webrtc_base)/ipaddress.cc',
    115         '<(webrtc_base)/ipaddress.h',
    116         '<(webrtc_base)/linked_ptr.h',
    117         '<(webrtc_base)/logging.cc',
    118         '<(webrtc_base)/logging.h',
    119         '<(webrtc_base)/maccocoathreadhelper.h',
    120         '<(webrtc_base)/maccocoathreadhelper.mm',
    121         '<(webrtc_base)/macconversion.cc',
    122         '<(webrtc_base)/macconversion.h',
    123         '<(webrtc_base)/macutils.cc',
    124         '<(webrtc_base)/macutils.h',
    125         '<(webrtc_base)/md5.cc',
    126         '<(webrtc_base)/md5.h',
    127         '<(webrtc_base)/md5digest.h',
    128         '<(webrtc_base)/messagedigest.cc',
    129         '<(webrtc_base)/messagedigest.h',
    130         '<(webrtc_base)/messagehandler.cc',
    131         '<(webrtc_base)/messagehandler.h',
    132         '<(webrtc_base)/messagequeue.cc',
    133         '<(webrtc_base)/messagequeue.h',
    134         '<(webrtc_base)/move.h',
    135         '<(webrtc_base)/nethelpers.cc',
    136         '<(webrtc_base)/nethelpers.h',
    137         '<(webrtc_base)/network.cc',
    138         '<(webrtc_base)/network.h',
    139         '<(webrtc_base)/nssidentity.cc',
    140         '<(webrtc_base)/nssidentity.h',
    141         '<(webrtc_base)/nssstreamadapter.cc',
    142         '<(webrtc_base)/nssstreamadapter.h',
    143         '<(webrtc_base)/nullsocketserver.h',
    144         '<(webrtc_base)/openssladapter.cc',
    145         '<(webrtc_base)/openssldigest.cc',
    146         '<(webrtc_base)/opensslidentity.cc',
    147         '<(webrtc_base)/opensslstreamadapter.cc',
    148         '<(webrtc_base)/pathutils.cc',
    149         '<(webrtc_base)/pathutils.h',
    150         '<(webrtc_base)/physicalsocketserver.cc',
    151         '<(webrtc_base)/physicalsocketserver.h',
    152         '<(webrtc_base)/proxydetect.cc',
    153         '<(webrtc_base)/proxydetect.h',
    154         '<(webrtc_base)/proxyinfo.cc',
    155         '<(webrtc_base)/proxyinfo.h',
    156         '<(webrtc_base)/ratelimiter.cc',
    157         '<(webrtc_base)/ratelimiter.h',
    158         '<(webrtc_base)/ratetracker.cc',
    159         '<(webrtc_base)/ratetracker.h',
    160         '<(webrtc_base)/schanneladapter.cc',
    161         '<(webrtc_base)/schanneladapter.h',
    162         '<(webrtc_base)/scoped_autorelease_pool.h',
    163         '<(webrtc_base)/scoped_autorelease_pool.mm',
    164         '<(webrtc_base)/scoped_ptr.h',
    165         '<(webrtc_base)/sec_buffer.h',
    166         '<(webrtc_base)/sha1.cc',
    167         '<(webrtc_base)/sha1.h',
    168         '<(webrtc_base)/sha1digest.h',
    169         '<(webrtc_base)/signalthread.cc',
    170         '<(webrtc_base)/signalthread.h',
    171         '<(webrtc_base)/sigslot.h',
    172         '<(webrtc_base)/sigslotrepeater.h',
    173         '<(webrtc_base)/socket.h',
    174         '<(webrtc_base)/socketadapters.cc',
    175         '<(webrtc_base)/socketadapters.h',
    176         '<(webrtc_base)/socketaddress.cc',
    177         '<(webrtc_base)/socketaddress.h',
    178         '<(webrtc_base)/socketaddresspair.cc',
    179         '<(webrtc_base)/socketaddresspair.h',
    180         '<(webrtc_base)/socketfactory.h',
    181         '<(webrtc_base)/socketpool.cc',
    182         '<(webrtc_base)/socketpool.h',
    183         '<(webrtc_base)/socketserver.h',
    184         '<(webrtc_base)/socketstream.cc',
    185         '<(webrtc_base)/socketstream.h',
    186         '<(webrtc_base)/ssladapter.cc',
    187         '<(webrtc_base)/ssladapter.h',
    188         '<(webrtc_base)/sslfingerprint.cc',
    189         '<(webrtc_base)/sslfingerprint.h',
    190         '<(webrtc_base)/sslidentity.cc',
    191         '<(webrtc_base)/sslidentity.h',
    192         '<(webrtc_base)/sslsocketfactory.cc',
    193         '<(webrtc_base)/sslsocketfactory.h',
    194         '<(webrtc_base)/sslstreamadapter.cc',
    195         '<(webrtc_base)/sslstreamadapter.h',
    196         '<(webrtc_base)/sslstreamadapterhelper.cc',
    197         '<(webrtc_base)/sslstreamadapterhelper.h',
    198         '<(webrtc_base)/stream.cc',
    199         '<(webrtc_base)/stream.h',
    200         '<(webrtc_base)/stringencode.cc',
    201         '<(webrtc_base)/stringencode.h',
    202         '<(webrtc_base)/stringutils.cc',
    203         '<(webrtc_base)/stringutils.h',
    204         '<(webrtc_base)/task.cc',
    205         '<(webrtc_base)/task.h',
    206         '<(webrtc_base)/taskparent.cc',
    207         '<(webrtc_base)/taskparent.h',
    208         '<(webrtc_base)/taskrunner.cc',
    209         '<(webrtc_base)/taskrunner.h',
    210         '<(webrtc_base)/template_util.h',
    211         '<(webrtc_base)/thread.cc',
    212         '<(webrtc_base)/thread.h',
    213         '<(webrtc_base)/timeutils.cc',
    214         '<(webrtc_base)/timeutils.h',
    215         '<(webrtc_base)/timing.cc',
    216         '<(webrtc_base)/timing.h',
    217         '<(webrtc_base)/unixfilesystem.cc',
    218         '<(webrtc_base)/unixfilesystem.h',
    219         '<(webrtc_base)/urlencode.cc',
    220         '<(webrtc_base)/urlencode.h',
    221         '<(webrtc_base)/win32.cc',
    222         '<(webrtc_base)/win32.h',
    223         '<(webrtc_base)/win32filesystem.cc',
    224         '<(webrtc_base)/win32filesystem.h',
    225         '<(webrtc_base)/win32securityerrors.cc',
    226         '<(webrtc_base)/win32window.cc',
    227         '<(webrtc_base)/win32window.h',
    228         '<(webrtc_base)/winfirewall.cc',
    229         '<(webrtc_base)/winfirewall.h',
    230         '<(webrtc_base)/winping.cc',
    231         '<(webrtc_base)/winping.h',
    232         '<(webrtc_base)/worker.cc',
    233         '<(webrtc_base)/worker.h',
    234         '<(webrtc_xmllite)/qname.cc',
    235         '<(webrtc_xmllite)/qname.h',
    236         '<(webrtc_xmllite)/xmlbuilder.cc',
    237         '<(webrtc_xmllite)/xmlbuilder.h',
    238         '<(webrtc_xmllite)/xmlconstants.cc',
    239         '<(webrtc_xmllite)/xmlconstants.h',
    240         '<(webrtc_xmllite)/xmlelement.cc',
    241         '<(webrtc_xmllite)/xmlelement.h',
    242         '<(webrtc_xmllite)/xmlnsstack.cc',
    243         '<(webrtc_xmllite)/xmlnsstack.h',
    244         '<(webrtc_xmllite)/xmlparser.cc',
    245         '<(webrtc_xmllite)/xmlparser.h',
    246         '<(webrtc_xmllite)/xmlprinter.cc',
    247         '<(webrtc_xmllite)/xmlprinter.h',
    248       ],
    249       'sources!': [
    250         # Compiled as part of libjingle_p2p_constants_nacl.
    251         '<(libjingle_source)/talk/p2p/base/constants.cc',
    252         '<(libjingle_source)/talk/p2p/base/constants.h',
    253       ],
    254       'sources/': [
    255         ['exclude', '/mac[a-z]+\\.(h|cc)$'],
    256         ['exclude', '/scoped_autorelease_pool\\.(h|mm)$'],
    257       ],
    258       'conditions': [
    259         ['OS!="win"', {
    260           'sources/': [
    261             ['exclude', '/win[a-z0-9]+\\.(h|cc)$'],
    262             ['exclude', '/schanneladapter\\.(h|cc)$'],
    263           ],
    264         }],
    265       ],
    266       'direct_dependent_settings': {
    267         'include_dirs': [
    268           './overrides',
    269           './<(libjingle_source)',
    270           '../../third_party/webrtc/overrides',
    271           '../../third_party',
    272           '../../third_party/webrtc',
    273         ],
    274         'defines': [
    275           'EXPAT_RELATIVE_PATH',
    276           'FEATURE_ENABLE_SSL',
    277           'GTEST_RELATIVE_PATH',
    278           'NO_MAIN_THREAD_WRAPPING',
    279           'NO_SOUND_SYSTEM',
    280           'POSIX',
    281           'WEBRTC_POSIX',
    282           'SRTP_RELATIVE_PATH',
    283           'SSL_USE_OPENSSL',
    284           'USE_WEBRTC_DEV_BRANCH',
    285         ],
    286       },
    287       'export_dependent_settings': [
    288         '<(DEPTH)/native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted',
    289       ],
    290     },  # end of target 'libjingle_nacl'
    291 
    292     {
    293       'target_name': 'libjingle_p2p_constants_nacl',
    294       'type': 'none',
    295       'variables': {
    296         'nlib_target': 'libjingle_p2p_constants_nacl.a',
    297         'build_glibc': 0,
    298         'build_newlib': 1,
    299         'build_pnacl_newlib': 1,
    300       },
    301       'configurations': {
    302         'Debug': {
    303           'defines': [
    304             # TODO(sergeyu): Fix libjingle to use NDEBUG instead of
    305             # _DEBUG and remove this define. See below as well.
    306             '_DEBUG',
    307           ],
    308         }
    309       },
    310       'include_dirs': [
    311         './<(libjingle_source)',
    312         '../'
    313       ],
    314       'sources': [
    315         '<(libjingle_source)/talk/p2p/base/constants.cc',
    316         '<(libjingle_source)/talk/p2p/base/constants.h',
    317       ],
    318     },  # end of target 'libjingle_p2p_constants_nacl'
    319   ],
    320 }
    321