summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/SConscript')
-rw-r--r--Swiften/SConscript221
1 files changed, 221 insertions, 0 deletions
diff --git a/Swiften/SConscript b/Swiften/SConscript
new file mode 100644
index 0000000..82c75d5
--- /dev/null
+++ b/Swiften/SConscript
@@ -0,0 +1,221 @@
+Import("env")
+
+################################################################################
+# Flags
+################################################################################
+
+if env["SCONS_STAGE"] == "flags" :
+ env["SWIFTEN_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["Swiften"]
+ }
+
+################################################################################
+# Build
+################################################################################
+
+if env["SCONS_STAGE"] == "build" :
+ swiften_env = env.Clone()
+ swiften_env.MergeFlags(swiften_env["BOOST_FLAGS"])
+ Export("swiften_env")
+
+# TODO: Move all this to a submodule SConscript
+ myenv = swiften_env.Clone()
+ myenv.MergeFlags(myenv["ZLIB_FLAGS"])
+ myenv.MergeFlags(myenv["OPENSSL_FLAGS"])
+ sources = [
+ "Avatars/AvatarFileStorage.cpp",
+ "Avatars/AvatarManager.cpp",
+ "Avatars/AvatarStorage.cpp",
+ "Chat/ChatStateTracker.cpp",
+ "Chat/ChatStateNotifier.cpp",
+ "Chat/ChatStateMessageSender.cpp",
+ "Client/Client.cpp",
+ "Client/ClientSession.cpp",
+ "Compress/ZLibCodecompressor.cpp",
+ "Disco/CapsInfoGenerator.cpp",
+ "Elements/DiscoInfo.cpp",
+ "Elements/Element.cpp",
+ "Elements/IQ.cpp",
+ "Elements/Payload.cpp",
+ "Elements/RosterPayload.cpp",
+ "Elements/Stanza.cpp",
+ "MUC/MUC.cpp",
+ "MUC/MUCOccupant.cpp",
+ "MUC/MUCRegistry.cpp",
+ "MUC/MUCBookmarkManager.cpp",
+ "Notifier/Notifier.cpp",
+ "Presence/PresenceOracle.cpp",
+ "Presence/PresenceSender.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",
+ "Serializer/AuthRequestSerializer.cpp",
+ "Serializer/AuthSuccessSerializer.cpp",
+ "Serializer/AuthChallengeSerializer.cpp",
+ "Serializer/AuthResponseSerializer.cpp",
+ "Serializer/CompressRequestSerializer.cpp",
+ "Serializer/ElementSerializer.cpp",
+ "Serializer/MessageSerializer.cpp",
+ "Serializer/PayloadSerializer.cpp",
+ "Serializer/PayloadSerializerCollection.cpp",
+ "Serializer/PayloadSerializers/CapsInfoSerializer.cpp",
+ "Serializer/PayloadSerializers/ChatStateSerializer.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/PayloadSerializers/StorageSerializer.cpp",
+ "Serializer/PayloadSerializers/PrivateStorageSerializer.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",
+ "Session/SessionStream.cpp",
+ "Session/BasicSessionStream.cpp",
+ "StringCodecs/Base64.cpp",
+ "StringCodecs/SHA1.cpp",
+ "StringCodecs/HMACSHA1.cpp",
+ "StringCodecs/MD5.cpp",
+ "StringCodecs/PBKDF2.cpp",
+ "StringCodecs/Hexify.cpp",
+ ]
+# "Notifier/GrowlNotifier.cpp",
+
+ if myenv.get("HAVE_OPENSSL", 0) :
+ sources += ["TLS/OpenSSL/OpenSSLContext.cpp"]
+
+ SConscript(dirs = [
+ "Base",
+ "StringPrep",
+ "SASL",
+ "Application",
+ "EventLoop",
+ "Parser",
+ "JID",
+ "Network",
+ "History",
+ "StreamStack",
+ "LinkLocal",
+ ])
+ SConscript(test_only = True, dirs = [
+ "QA",
+ ])
+ SConscript(dirs = [
+ "Examples"
+ ])
+
+ myenv.StaticLibrary("Swiften", sources + swiften_env["SWIFTEN_OBJECTS"])
+
+ env.Append(UNITTEST_SOURCES = [
+ File("Application/UnitTest/ApplicationTest.cpp"),
+ File("Avatars/UnitTest/MockAvatarManager.cpp"),
+ File("Base/UnitTest/IDGeneratorTest.cpp"),
+ File("Base/UnitTest/StringTest.cpp"),
+ File("Base/UnitTest/ByteArrayTest.cpp"),
+ File("Chat/UnitTest/ChatStateNotifierTest.cpp"),
+# File("Chat/UnitTest/ChatStateTrackerTest.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("Network/UnitTest/ConnectorTest.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/PrivateStorageParserTest.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("Presence/UnitTest/PresenceOracleTest.cpp"),
+ File("Presence/UnitTest/PresenceSenderTest.cpp"),
+ File("Queries/Requests/UnitTest/GetPrivateStorageRequestTest.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("Roster/UnitTest/XMPPRosterTest.cpp"),
+ File("SASL/UnitTest/PLAINMessageTest.cpp"),
+ File("SASL/UnitTest/PLAINClientAuthenticatorTest.cpp"),
+ File("SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PayloadsSerializer.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/PayloadSerializers/UnitTest/StorageSerializerTest.cpp"),
+ File("Serializer/PayloadSerializers/UnitTest/PrivateStorageSerializerTest.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"),
+ File("StringCodecs/UnitTest/MD5Test.cpp"),
+ File("StringCodecs/UnitTest/HexifyTest.cpp"),
+ File("StringCodecs/UnitTest/HMACSHA1Test.cpp"),
+ File("StringCodecs/UnitTest/PBKDF2Test.cpp"),
+ ])