diff options
author | Remko Tronçon <git@el-tramo.be> | 2012-07-14 08:13:57 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2012-07-14 13:08:36 (GMT) |
commit | 003381f417caaae9918cd81fa53bcc0547caa4c9 (patch) | |
tree | c0571987e87a115e5a7ad03eca55db972f6686c6 /Swiften/SConscript | |
parent | 075c1f08245055e0060df2695e75bba54e697d36 (diff) | |
download | swift-contrib-003381f417caaae9918cd81fa53bcc0547caa4c9.zip swift-contrib-003381f417caaae9918cd81fa53bcc0547caa4c9.tar.bz2 |
Initial DLL support for Swiften.
All applications succesfully link against Swiften.dll.
Diffstat (limited to 'Swiften/SConscript')
-rw-r--r-- | Swiften/SConscript | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Swiften/SConscript b/Swiften/SConscript index de67983..105a7f4 100644 --- a/Swiften/SConscript +++ b/Swiften/SConscript @@ -9,6 +9,7 @@ Import("env") swiften_dep_modules = ["BOOST", "GCONF", "ICU", "LIBIDN", "ZLIB", "OPENSSL", "LIBXML", "EXPAT", "AVAHI", "LIBMINIUPNPC", "LIBNATPMP"] if env["SCONS_STAGE"] == "flags" : + env["SWIFTEN_DLL"] = ARGUMENTS.get("swiften_dll") env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift") version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"]) if version_match : @@ -22,9 +23,9 @@ if env["SCONS_STAGE"] == "flags" : env["SWIFTEN_LIBRARY_FILE"] = "Swiften" env["SWIFTEN_LIBRARY_ALIASES"] = [] - if ARGUMENTS.get("swiften_dll", False) : + if env["SWIFTEN_DLL"] : if env["PLATFORM"] == "win32" : - pass + env["SWIFTEN_LIBRARY_FILE"] = "Swiften.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")] @@ -35,6 +36,8 @@ if env["SCONS_STAGE"] == "flags" : swiften_env = env.Clone() swiften_env["LIBPATH"] = [Dir(".")] swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]] + if not env["SWIFTEN_DLL"] : + swiften_env["CPPDEFINES"] = ["SWIFTEN_STATIC"] dep_env = env.Clone() for module in swiften_dep_modules : if env.get(module + "_BUNDLED", False) : @@ -63,11 +66,12 @@ 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", {})) swiften_env.UseFlags(swiften_env["PLATFORM_FLAGS"]) - if ARGUMENTS.get("swiften_dll", False) : + 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 : @@ -233,7 +237,6 @@ if env["SCONS_STAGE"] == "build" : "QA", ]) - myenv = swiften_env.Clone() if myenv["PLATFORM"] == "win32": sources.append("StringCodecs/SHA1_Windows.cpp") @@ -242,7 +245,7 @@ if env["SCONS_STAGE"] == "build" : if myenv["PLATFORM"] != "darwin" and myenv["PLATFORM"] != "win32" and myenv.get("HAVE_GCONF", 0) : env.MergeFlags(env["GCONF_FLAGS"]) - if ARGUMENTS.get("swiften_dll", False) : + if myenv["SWIFTEN_DLL"] : if myenv["PLATFORM"] == "posix" : myenv.Append(LINKFLAGS = ["-Wl,-soname,libSwiften.so.$SWIFTEN_VERSION_MAJOR"]) myenv["SHLIBSUFFIX"] = "" |