summaryrefslogtreecommitdiffstats
blob: 6a1dde19fb8de7067eeb5553cc0867a870706256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
Import("env")

env["SWIFTEN_FLAGS"] = {
		"LIBPATH": [Dir(".")],
		"LIBS": ["Swiften"]
	}

myenv = env.Clone()
myenv.MergeFlags(env["BOOST_FLAGS"])
myenv.MergeFlags(env["LIBIDN_FLAGS"])
myenv.MergeFlags(env["SQLITE_FLAGS"])
myenv.MergeFlags(env.get("LIBXML_FLAGS", ""))
myenv.MergeFlags(env.get("EXPAT_FLAGS", ""))
myenv.MergeFlags(env.get("BONJOUR_FLAGS", ""))
myenv.MergeFlags(env["ZLIB_FLAGS"])
myenv.MergeFlags(env["OPENSSL_FLAGS"])

sources = [
		"Application/Application.cpp",
		"Application/ApplicationMessageDisplay.cpp",
		"Avatars/AvatarFileStorage.cpp",
		"Avatars/AvatarManager.cpp",
		"Avatars/AvatarStorage.cpp",
		"Base/ByteArray.cpp",
		"Base/IDGenerator.cpp",
		"Base/String.cpp",
		"Base/sleep.cpp",
		"Client/Client.cpp",
		"Client/ClientSession.cpp",
		"Compress/ZLibCodecompressor.cpp",
		"Disco/CapsInfoGenerator.cpp",
		"Elements/DiscoInfo.cpp",
		"Elements/Element.cpp",
		"Elements/IQ.cpp",
		"Elements/MUCPayload.cpp",
		"Elements/Payload.cpp",
		"Elements/RosterPayload.cpp",
		"Elements/Stanza.cpp",
		"EventLoop/EventLoop.cpp",
		"EventLoop/EventOwner.cpp",
		"EventLoop/MainEventLoop.cpp",
		"EventLoop/SimpleEventLoop.cpp",
		"History/HistoryManager.cpp",
		"History/SQLiteHistoryManager.cpp",
		"JID/JID.cpp",
		"LinkLocal/DNSSD/DNSSDBrowseQuery.cpp",
		"LinkLocal/DNSSD/DNSSDQuerier.cpp",
		"LinkLocal/DNSSD/DNSSDRegisterQuery.cpp",
		"LinkLocal/DNSSD/DNSSDResolveHostnameQuery.cpp",
		"LinkLocal/DNSSD/DNSSDResolveServiceQuery.cpp",
		"LinkLocal/DNSSD/DNSSDServiceID.cpp",
		"LinkLocal/DNSSD/Fake/FakeDNSSDQuerier.cpp",
		"LinkLocal/DNSSD/Fake/FakeDNSSDQuery.cpp",
		"LinkLocal/DNSSD/PlatformDNSSDQuerierFactory.cpp",
		"LinkLocal/IncomingLinkLocalSession.cpp",
		"LinkLocal/LinkLocalConnector.cpp",
		"LinkLocal/LinkLocalService.cpp",
		"LinkLocal/LinkLocalServiceBrowser.cpp",
		"LinkLocal/LinkLocalServiceInfo.cpp",
		"LinkLocal/OutgoingLinkLocalSession.cpp",
		"MUC/MUC.cpp",
		"MUC/MUCOccupant.cpp",
		"MUC/MUCRegistry.cpp",
		"Network/BoostConnection.cpp",
		"Network/BoostConnectionFactory.cpp",
		"Network/BoostConnectionServer.cpp",
		"Network/MainBoostIOServiceThread.cpp",
		"Network/BoostIOServiceThread.cpp",
		"Network/ConnectionFactory.cpp",
		"Network/ConnectionServer.cpp",
		"Network/DomainNameResolver.cpp",
		"Network/HostAddress.cpp",
		"Network/Timer.cpp",
		"Notifier/Notifier.cpp",
		"Parser/AuthRequestParser.cpp",
		"Parser/CompressParser.cpp",
		"Parser/ElementParser.cpp",
		"Parser/IQParser.cpp",
		"Parser/MessageParser.cpp",
		"Parser/PayloadParser.cpp",
		"Parser/PayloadParserFactory.cpp",
		"Parser/PayloadParserFactoryCollection.cpp",
		"Parser/PayloadParsers/BodyParser.cpp",
		"Parser/PayloadParsers/DiscoInfoParser.cpp",
		"Parser/PayloadParsers/ErrorParser.cpp",
		"Parser/PayloadParsers/FullPayloadParserFactoryCollection.cpp",
		"Parser/PayloadParsers/PriorityParser.cpp",
		"Parser/PayloadParsers/RawXMLPayloadParser.cpp",
		"Parser/PayloadParsers/ResourceBindParser.cpp",
		"Parser/PayloadParsers/RosterParser.cpp",
		"Parser/PayloadParsers/SecurityLabelParser.cpp",
		"Parser/PayloadParsers/SecurityLabelsCatalogParser.cpp",
		"Parser/PayloadParsers/SoftwareVersionParser.cpp",
		"Parser/PayloadParsers/StorageParser.cpp",
		"Parser/PayloadParsers/StatusParser.cpp",
		"Parser/PayloadParsers/StatusShowParser.cpp",
		"Parser/PayloadParsers/VCardParser.cpp",
		"Parser/PayloadParsers/VCardUpdateParser.cpp",
		"Parser/PlatformXMLParserFactory.cpp",
		"Parser/PresenceParser.cpp",
		"Parser/SerializingParser.cpp",
		"Parser/StanzaParser.cpp",
		"Parser/StreamFeaturesParser.cpp",
		"Parser/XMLParser.cpp",
		"Parser/XMLParserClient.cpp",
		"Parser/XMLParserFactory.cpp",
		"Parser/XMPPParser.cpp",
		"Parser/XMPPParserClient.cpp",
		"Presence/PresenceOracle.cpp",
		"Queries/IQChannel.cpp",
		"Queries/IQHandler.cpp",
		"Queries/IQRouter.cpp",
		"Queries/Request.cpp",
		"Queries/Responders/DiscoInfoResponder.cpp",
		"Queries/Responders/SoftwareVersionResponder.cpp",
		"Roster/ContactRosterItem.cpp",
		"Roster/Roster.cpp",
		"Roster/XMPPRoster.cpp",
		"SASL/PLAINMessage.cpp",
		"Serializer/AuthRequestSerializer.cpp",
		"Serializer/CompressRequestSerializer.cpp",
		"Serializer/ElementSerializer.cpp",
		"Serializer/MessageSerializer.cpp",
		"Serializer/PayloadSerializer.cpp",
		"Serializer/PayloadSerializerCollection.cpp",
		"Serializer/PayloadSerializers/CapsInfoSerializer.cpp",
		"Serializer/PayloadSerializers/DiscoInfoSerializer.cpp",
		"Serializer/PayloadSerializers/ErrorSerializer.cpp",
		"Serializer/PayloadSerializers/FullPayloadSerializerCollection.cpp",
		"Serializer/PayloadSerializers/MUCPayloadSerializer.cpp",
		"Serializer/PayloadSerializers/ResourceBindSerializer.cpp",
		"Serializer/PayloadSerializers/RosterSerializer.cpp",
		"Serializer/PayloadSerializers/SecurityLabelSerializer.cpp",
		"Serializer/PayloadSerializers/SecurityLabelsCatalogSerializer.cpp",
		"Serializer/PayloadSerializers/SoftwareVersionSerializer.cpp",
		"Serializer/PayloadSerializers/VCardSerializer.cpp",
		"Serializer/PayloadSerializers/VCardUpdateSerializer.cpp",
		"Serializer/PresenceSerializer.cpp",
		"Serializer/StanzaSerializer.cpp",
		"Serializer/StreamFeaturesSerializer.cpp",
		"Serializer/XML/XMLElement.cpp",
		"Serializer/XML/XMLNode.cpp",
		"Serializer/XMPPSerializer.cpp",
		"Server/ServerFromClientSession.cpp",
		"Server/ServerSession.cpp",
		"Server/ServerStanzaRouter.cpp",
		"Server/SimpleUserRegistry.cpp",
		"Server/UserRegistry.cpp",
		"Session/Session.cpp",
		"StreamStack/HighLayer.cpp",
		"StreamStack/LowLayer.cpp",
		"StreamStack/PlatformTLSLayerFactory.cpp",
		"StreamStack/StreamStack.cpp",
		"StreamStack/TLSLayerFactory.cpp",
		"StreamStack/WhitespacePingLayer.cpp",
		"StreamStack/XMPPLayer.cpp",
		"StringCodecs/Base64.cpp",
		"StringCodecs/SHA1.cpp",
	]
# "Notifier/GrowlNotifier.cpp",

if env["PLATFORM"] == "darwin" :
	sources += [
			"EventLoop/Cocoa/CocoaEventLoop.mm",
			"EventLoop/Cocoa/CocoaEvent.mm"
		]

if myenv.get("HAVE_BONJOUR", 0) :
	myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
	sources += [
			"LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp",
			"LinkLocal/DNSSD/Bonjour/BonjourQuery.cpp",
		]
elif myenv.get("HAVE_AVAHI", 0) :
	sources += ["LinkLocal/DNSSD/Avahi/AvahiQuerier.cpp"]

if myenv.get("HAVE_OPENSSL", 0) :
	myenv.Append(CPPDEFINES = "HAVE_OPENSSL")
	sources += ["StreamStack/OpenSSLLayer.cpp"]
	sources += ["TLS/OpenSSL/OpenSSLContext.cpp"]

if myenv.get("HAVE_EXPAT", 0) :
	myenv.Append(CPPDEFINES = "HAVE_EXPAT")
	sources += ["Parser/ExpatParser.cpp"]
if myenv.get("HAVE_LIBXML", 0) :
	myenv.Append(CPPDEFINES = "HAVE_LIBXML")
	sources += ["Parser/LibXMLParser.cpp"]

if myenv["PLATFORM"] == "darwin" :
	sources += [
			"Application/MacOSX/MacOSXApplication.cpp",
			"Application/MacOSX/MacOSXApplicationMessageDisplay.mm"
		]

myenv.StaticLibrary("Swiften", sources)

env.Append(UNITTEST_SOURCES = [
		File("Application/UnitTest/ApplicationTest.cpp"),
		File("Base/UnitTest/IDGeneratorTest.cpp"),
		File("Base/UnitTest/StringTest.cpp"),
		File("Client/UnitTest/ClientSessionTest.cpp"),
		File("Compress/UnitTest/ZLibCompressorTest.cpp"),
		File("Compress/UnitTest/ZLibDecompressorTest.cpp"),
		File("Disco/UnitTest/CapsInfoGeneratorTest.cpp"),
		File("Elements/UnitTest/IQTest.cpp"),
		File("Elements/UnitTest/StanzaTest.cpp"),
		File("Elements/UnitTest/StanzasTest.cpp"),
		File("EventLoop/UnitTest/EventLoopTest.cpp"),
		File("EventLoop/UnitTest/SimpleEventLoopTest.cpp"),
		File("History/UnitTest/SQLiteHistoryManagerTest.cpp"),
		File("JID/UnitTest/JIDTest.cpp"),
		File("LinkLocal/UnitTest/LinkLocalConnectorTest.cpp"),
		File("LinkLocal/UnitTest/LinkLocalServiceBrowserTest.cpp"),
		File("LinkLocal/UnitTest/LinkLocalServiceInfoTest.cpp"),
		File("LinkLocal/UnitTest/LinkLocalServiceTest.cpp"),
		File("Network/UnitTest/HostAddressTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/BodyParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/DiscoInfoParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/ErrorParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/RawXMLPayloadParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/ResourceBindParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/RosterParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/SecurityLabelParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/SecurityLabelsCatalogParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/SoftwareVersionParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/StatusParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/StatusShowParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/VCardParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/StorageParserTest.cpp"),
		File("Parser/PayloadParsers/UnitTest/VCardUpdateParserTest.cpp"),
		File("Parser/UnitTest/AttributeMapTest.cpp"),
		File("Parser/UnitTest/IQParserTest.cpp"),
		File("Parser/UnitTest/MessageParserTest.cpp"),
		File("Parser/UnitTest/PayloadParserFactoryCollectionTest.cpp"),
		File("Parser/UnitTest/PresenceParserTest.cpp"),
		File("Parser/UnitTest/SerializingParserTest.cpp"),
		File("Parser/UnitTest/StanzaParserTest.cpp"),
		File("Parser/UnitTest/StreamFeaturesParserTest.cpp"),
		File("Parser/UnitTest/XMLParserTest.cpp"),
		File("Parser/UnitTest/XMPPParserTest.cpp"),
		File("Queries/Responders/UnitTest/DiscoInfoResponderTest.cpp"),
		File("Queries/UnitTest/IQRouterTest.cpp"),
		File("Queries/UnitTest/RequestTest.cpp"),
		File("Queries/UnitTest/ResponderTest.cpp"),
		File("Roster/UnitTest/OfflineRosterFilterTest.cpp"),
		File("Roster/UnitTest/RosterTest.cpp"),
		File("SASL/UnitTest/PLAINMessageTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/CapsInfoSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/DiscoInfoSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/ErrorSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/PrioritySerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/ResourceBindSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/RosterSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/SecurityLabelSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/SecurityLabelsCatalogSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/SoftwareVersionSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/StatusSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/StatusShowSerializerTest.cpp"),
		File("Serializer/PayloadSerializers/UnitTest/VCardUpdateSerializerTest.cpp"),
		File("Serializer/UnitTest/StreamFeaturesSerializerTest.cpp"),
		File("Serializer/XML/UnitTest/XMLElementTest.cpp"),
		File("Server/UnitTest/ServerStanzaRouterTest.cpp"),
		File("StreamStack/UnitTest/StreamStackTest.cpp"),
		File("StreamStack/UnitTest/XMPPLayerTest.cpp"),
		File("StringCodecs/UnitTest/Base64Test.cpp"),
		File("StringCodecs/UnitTest/SHA1Test.cpp"),
	])