summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2018-10-01 10:11:31 (GMT)
committerTobias Markmann <tm@ayena.de>2018-10-01 12:11:25 (GMT)
commitd2f67c83aa40f2a273f17c13c6c3ea94f7f73c25 (patch)
treee21d86b747da42fc9214963e994f6767c472d7ee /BuildTools/SCons
parent78373f300882ebad10eda79eab7ee1e8a8d82b93 (diff)
downloadswift-d2f67c83aa40f2a273f17c13c6c3ea94f7f73c25.zip
swift-d2f67c83aa40f2a273f17c13c6c3ea94f7f73c25.tar.bz2
Add ability to specify MSVC runtime library
Test-Information: Builds in default configuration on Windows 10 with MSVS 2015. Change-Id: I82e6a317820168d471694c8ee1f33b652515c0d9
Diffstat (limited to 'BuildTools/SCons')
-rw-r--r--BuildTools/SCons/SConscript.boot7
1 files changed, 4 insertions, 3 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot
index 40f2425..80831a1 100644
--- a/BuildTools/SCons/SConscript.boot
+++ b/BuildTools/SCons/SConscript.boot
@@ -108,6 +108,7 @@ vars.Add(BoolVariable("enable_variants", "Build in a separate dir under build/,
vars.Add(BoolVariable("experimental_ft", "Build experimental file transfer", "yes"))
vars.Add(BoolVariable("experimental", "Build experimental features", "no"))
vars.Add(BoolVariable("set_iterator_debug_level", "Set _ITERATOR_DEBUG_LEVEL=0", "yes"))
+vars.Add(EnumVariable("msvc_runtime", "Choose MSVC runtime library", "MD", ["MT", "MTd", "MD", "MDd"]))
vars.Add(BoolVariable("unbound", "Build bundled ldns and unbound. Use them for DNS lookup.", "no"))
vars.Add(BoolVariable("check_headers", "Independently build compilation units for all Swiften headers for detecting missing dependencies.", "no"))
vars.Add("win_target_arch", "Target architecture for Windows builds. x86 for 32-bit (default) or x86_64 for 64-bit.", "x86")
@@ -276,11 +277,11 @@ if env["debug"] :
if env["set_iterator_debug_level"] :
env.Append(CPPDEFINES = ["_ITERATOR_DEBUG_LEVEL=0"])
env.Append(LINKFLAGS = ["/OPT:NOREF"])
- env.Append(CCFLAGS = ["/MD"])
else :
env.Append(CCFLAGS = ["-g"])
-elif env["PLATFORM"] == "win32" :
- env.Append(CCFLAGS = ["/MD"])
+
+if env["PLATFORM"] == "win32" :
+ env.AppendUnique(CCFLAGS = ["/{}".format(env.get("msvc_runtime"))])
if env.get("universal", 0) :
assert(env["PLATFORM"] == "darwin")