diff options
-rw-r--r-- | Swiften/SConscript | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/Swiften/SConscript b/Swiften/SConscript index 645f1ce..9de71fb 100644 --- a/Swiften/SConscript +++ b/Swiften/SConscript @@ -12,33 +12,28 @@ if env["SCONS_STAGE"] == "flags" : env["SWIFTEN_VERSION"] = Version.getBuildVersion(env.Dir("#").abspath, "swift") version_match = re.match("(\d+)\.(\d+).*", env["SWIFTEN_VERSION"]) if version_match : env["SWIFTEN_VERSION_MAJOR"] = int(version_match.group(1)) env["SWIFTEN_VERSION_MINOR"] = int(version_match.group(2)) else : env["SWIFTEN_VERSION_MAJOR"] = 0 env["SWIFTEN_VERSION_MINOR"] = 0 env["SWIFTEN_VERSION_PATCH"] = 0 + env["SWIFTEN_LIBRARY"] = "Swiften" + env["SWIFTEN_LIBRARY_FILE"] = "Swiften" env["SWIFTEN_LIBRARY_ALIASES"] = [] - if env["PLATFORM"] == "win32" : - env["SWIFTEN_LIBRARY"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - env["SWIFTEN_LIBRARY_NAME"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - elif env["PLATFORM"] == "darwin" : - env["SWIFTEN_LIBRARY"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - env["SWIFTEN_LIBRARY_NAME"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - env["SWIFTEN_LIBRARY_FILE"] = env.subst("Swiften$SWIFTEN_VERSION_MAJOR") - else : - env["SWIFTEN_LIBRARY"] = "Swiften" - env["SWIFTEN_LIBRARY_NAME"] = "Swiften" - env["SWIFTEN_LIBRARY_FILE"] = "Swiften" - if ARGUMENTS.get("swiften_dll", False) : - env["SWIFTEN_LIBRARY_NAME"] = env.subst("libSwiften.so.$SWIFTEN_VERSION_MAJOR") + if ARGUMENTS.get("swiften_dll", False) : + if env["PLATFORM"] == "win32" : + pass + 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}")] swiften_env = env.Clone() swiften_env["LIBPATH"] = [Dir(".")] swiften_env["LIBS"] = [swiften_env["SWIFTEN_LIBRARY"]] dep_env = env.Clone() for module in swiften_dep_modules : if env.get(module + "_BUNDLED", False) : @@ -198,21 +193,24 @@ if env["SCONS_STAGE"] == "build" : ]) SConscript(test_only = True, dirs = [ "QA", ]) SConscript(dirs = [ "Examples" ]) myenv = swiften_env.Clone() - if ARGUMENTS.get("swiften_dll", False) and myenv["PLATFORM"] == "posix" : - myenv.Append(LINKFLAGS = ["-Wl,-soname,$SWIFTEN_LIBRARY_NAME"]) - myenv["SHLIBSUFFIX"] = "" + if ARGUMENTS.get("swiften_dll", False) : + if myenv["PLATFORM"] == "posix" : + myenv.Append(LINKFLAGS = ["-Wl,-soname,libSwiften.so.$SWIFTEN_VERSION_MAJOR"]) + myenv["SHLIBSUFFIX"] = "" + elif myenv["PLATFORM"] == "darwin" : + myenv.Append(LINKFLAGS = ["-Wl,-install_name,libSwiften.so.$SWIFTEN_VERSION_MAJOR", "-Wl,-compatibility_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}", "-Wl,-current_version,${SWIFTEN_VERSION_MAJOR}.${SWIFTEN_VERSION_MINOR}"]) swiften_lib = myenv.SwiftenLibrary(swiften_env["SWIFTEN_LIBRARY_FILE"], sources + swiften_env["SWIFTEN_OBJECTS"]) def symlink(env, target, source) : if os.path.exists(str(target[0])) : os.unlink(str(target[0])) os.symlink(source[0].get_contents(), str(target[0])) for alias in myenv["SWIFTEN_LIBRARY_ALIASES"] : myenv.Command(myenv.File(alias), [myenv.Value(swiften_lib[0].name), swiften_lib[0]], symlink) env.Append(UNITTEST_SOURCES = [ |