1# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9{
10  'includes': [ '../../build/common.gypi', ],
11  'targets': [
12    {
13      'target_name': 'rtc_xmpp',
14      'type': 'static_library',
15      'dependencies': [
16        '<(webrtc_root)/base/base.gyp:rtc_base',
17        '<(webrtc_root)/libjingle/xmllite/xmllite.gyp:rtc_xmllite',
18      ],
19      'defines': [
20        'FEATURE_ENABLE_SSL',
21      ],
22      'cflags_cc!': [
23        '-Wnon-virtual-dtor',
24      ],
25      'sources': [
26        'asyncsocket.h',
27        'chatroommodule.h',
28        'chatroommoduleimpl.cc',
29        'constants.cc',
30        'constants.h',
31        'discoitemsquerytask.cc',
32        'discoitemsquerytask.h',
33        'hangoutpubsubclient.cc',
34        'hangoutpubsubclient.h',
35        'iqtask.cc',
36        'iqtask.h',
37        'jid.cc',
38        'jid.h',
39        'module.h',
40        'moduleimpl.cc',
41        'moduleimpl.h',
42        'mucroomconfigtask.cc',
43        'mucroomconfigtask.h',
44        'mucroomdiscoverytask.cc',
45        'mucroomdiscoverytask.h',
46        'mucroomlookuptask.cc',
47        'mucroomlookuptask.h',
48        'mucroomuniquehangoutidtask.cc',
49        'mucroomuniquehangoutidtask.h',
50        'pingtask.cc',
51        'pingtask.h',
52        'plainsaslhandler.h',
53        'presenceouttask.cc',
54        'presenceouttask.h',
55        'presencereceivetask.cc',
56        'presencereceivetask.h',
57        'presencestatus.cc',
58        'presencestatus.h',
59        'prexmppauth.h',
60        'pubsub_task.cc',
61        'pubsub_task.h',
62        'pubsubclient.cc',
63        'pubsubclient.h',
64        'pubsubstateclient.cc',
65        'pubsubstateclient.h',
66        'pubsubtasks.cc',
67        'pubsubtasks.h',
68        'receivetask.cc',
69        'receivetask.h',
70        'rostermodule.h',
71        'rostermoduleimpl.cc',
72        'rostermoduleimpl.h',
73        'saslcookiemechanism.h',
74        'saslhandler.h',
75        'saslmechanism.cc',
76        'saslmechanism.h',
77        'saslplainmechanism.h',
78        'xmppauth.cc',
79        'xmppauth.h',
80        'xmppclient.cc',
81        'xmppclient.h',
82        'xmppclientsettings.h',
83        'xmppengine.h',
84        'xmppengineimpl.cc',
85        'xmppengineimpl.h',
86        'xmppengineimpl_iq.cc',
87        'xmpplogintask.cc',
88        'xmpplogintask.h',
89        'xmpppump.cc',
90        'xmpppump.h',
91        'xmppsocket.cc',
92        'xmppsocket.h',
93        'xmppstanzaparser.cc',
94        'xmppstanzaparser.h',
95        'xmpptask.cc',
96        'xmpptask.h',
97        'xmppthread.cc',
98        'xmppthread.h',
99      ],
100      'direct_dependent_settings': {
101        'cflags_cc!': [
102          '-Wnon-virtual-dtor',
103        ],
104        'defines': [
105          'FEATURE_ENABLE_SSL',
106          'FEATURE_ENABLE_VOICEMAIL',
107        ],
108      },
109      'conditions': [
110        ['build_expat==1', {
111          'dependencies': [
112            '<(DEPTH)/third_party/expat/expat.gyp:expat',
113          ],
114          'export_dependent_settings': [
115            '<(DEPTH)/third_party/expat/expat.gyp:expat',
116          ],
117        }],
118        ['build_with_chromium==0', {
119          'defines': [
120            'FEATURE_ENABLE_VOICEMAIL',
121            'FEATURE_ENABLE_PSTN',
122          ],
123        }],
124        ['os_posix==1', {
125          'configurations': {
126            'Debug_Base': {
127              'defines': [
128                # Chromium's build/common.gypi defines this for all posix
129                # _except_ for ios & mac.  We want it there as well, e.g.
130                # because ASSERT and friends trigger off of it.
131                '_DEBUG',
132              ],
133            },
134          }
135        }],
136        ['OS=="android"', {
137          'cflags!': [
138            '-Wextra',
139            '-Wall',
140          ],
141        }],
142      ],
143    }],
144}
145
146