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"), ])