diff options
| author | Remko Tronçon <git@el-tramo.be> | 2012-11-03 16:22:42 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2012-11-03 16:35:21 (GMT) |
| commit | 2b65c91bcd2367f816658c82fc230e881bcb1084 (patch) | |
| tree | 210fd239ce980a747efa3b423e5fa6176fe55243 /Swiften/SConscript | |
| parent | b9e7c0033eb36ab1d24183be95d898f94cc487af (diff) | |
| download | swift-2b65c91bcd2367f816658c82fc230e881bcb1084.zip swift-2b65c91bcd2367f816658c82fc230e881bcb1084.tar.bz2 | |
Build 3rdParty libraries with SwiftenObject.
This ensures that they can be linked when building Swiften in DLL
mode.
Change-Id: I8a4ff9dab6003e60fab21aba2bbb4beccb26bef6
Diffstat (limited to 'Swiften/SConscript')
| -rw-r--r-- | Swiften/SConscript | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Swiften/SConscript b/Swiften/SConscript index db18cc3..2111d26 100644 --- a/Swiften/SConscript +++ b/Swiften/SConscript @@ -26,24 +26,29 @@ if env["SCONS_STAGE"] == "flags" : if env["SWIFTEN_DLL"] : if env["PLATFORM"] == "win32" : env["SWIFTEN_LIBRARY"] = env.subst("Swiften${SWIFTEN_VERSION_MAJOR}") env["SWIFTEN_LIBRARY_FILE"] = env.subst("${SWIFTEN_LIBRARY}.dll") elif env["PLATFORM"] == "darwin" : env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}") env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.dylib", env.subst("libSwiften.${SWIFTEN_VERSION_MAJOR}.dylib")] else : env["SWIFTEN_LIBRARY_FILE"] = env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}") env["SWIFTEN_LIBRARY_ALIASES"] = ["libSwiften.so", env.subst("libSwiften.so.${SWIFTEN_VERSION_MAJOR}")] + if env["SWIFTEN_DLL"] : + env.AddMethod(lambda e,s : e.SharedObject(s), "SwiftenObject") + else : + env.AddMethod(lambda e,s : e.StaticObject(s), "SwiftenObject") + swiften_env = env.Clone() swiften_env["LIBPATH"] = [Dir(".")] swiften_env["LIBRUNPATH"] = [Dir(".")] swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]] if not env["SWIFTEN_DLL"] : swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"]) dep_env = env.Clone() for module in swiften_dep_modules : module_flags = env.get(module + "_FLAGS", {}) if env.get(module + "_BUNDLED", False) : if module in external_swiften_dep_modules : swiften_env.UseFlags(module_flags) @@ -77,29 +82,27 @@ if env["SCONS_STAGE"] == "flags" : ################################################################################ if env["SCONS_STAGE"] == "build" : swiften_env = env.Clone() swiften_env.Append(CPPDEFINES = ["SWIFTEN_BUILDING"]) for module in swiften_dep_modules : swiften_env.UseFlags(swiften_env.get(module + "_FLAGS", {})) if env.get(module + "_BUNDLED", False) : swiften_env.Append(SWIFTEN_OBJECTS = env.get(module + "_OBJECTS", [])) swiften_env.UseFlags(swiften_env["PLATFORM_FLAGS"]) if swiften_env["SWIFTEN_DLL"] : - swiften_env.AddMethod(lambda e,s : e.SharedObject(s), "SwiftenObject") swiften_env.AddMethod(lambda e,l,o : e.SharedLibrary(l,o), "SwiftenLibrary") else : swiften_env.Append(CPPDEFINES = ["SWIFTEN_STATIC"]) - swiften_env.AddMethod(lambda e,s : e.StaticObject(s), "SwiftenObject") swiften_env.AddMethod(lambda e,l,o : e.StaticLibrary(l,o), "SwiftenLibrary") Export("swiften_env") # TODO: Move all this to a submodule SConscript sources = [ "Chat/ChatStateTracker.cpp", "Chat/ChatStateNotifier.cpp", "Client/ClientSessionStanzaChannel.cpp", "Client/CoreClient.cpp", "Client/Client.cpp", "Client/ClientXMLTracer.cpp", "Client/ClientSession.cpp", |
Swift