summaryrefslogtreecommitdiffstats
path: root/platform/windows/detect.py
diff options
context:
space:
mode:
authorLyubomir Vasilev <lyubomirv@gmx.com>2020-11-26 23:19:23 +0200
committerLyubomir Vasilev <lyubomirv@gmx.com>2020-12-03 23:46:16 +0200
commite52c9c26fc43e93d6d4a86360189501368320f6e (patch)
treecac1422c5fc0e9a12c29ad9753c5d1e32147c569 /platform/windows/detect.py
parented2f84735b0fe6b75c823716426d62e6b80e7ae3 (diff)
downloadredot-engine-e52c9c26fc43e93d6d4a86360189501368320f6e.tar.gz
Add 'use_static_cpp' option for MinGW and MSVC builds
Diffstat (limited to 'platform/windows/detect.py')
-rw-r--r--platform/windows/detect.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index e0b2a52014..ee13e3c774 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -71,6 +71,7 @@ def get_opts():
BoolVariable("use_mingw", "Use the Mingw compiler, even if MSVC is installed. Only used on Windows.", False),
BoolVariable("use_llvm", "Use the LLVM compiler", False),
BoolVariable("use_thinlto", "Use ThinLTO", False),
+ BoolVariable("use_static_cpp", "Link MinGW/MSVC C++ runtime libraries statically", True),
]
@@ -221,7 +222,11 @@ def configure_msvc(env, manual_msvc_config):
## Compile/link flags
- env.AppendUnique(CCFLAGS=["/MT", "/Gd", "/GR", "/nologo"])
+ if env["use_static_cpp"]:
+ env.AppendUnique(CCFLAGS=["/MT"])
+ else:
+ env.AppendUnique(CCFLAGS=["/MD"])
+ env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"])
# Force to use Unicode encoding
env.AppendUnique(CCFLAGS=["/utf-8"])
env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++
@@ -373,12 +378,14 @@ def configure_mingw(env):
mingw_prefix = ""
if env["bits"] == "32":
- env.Append(LINKFLAGS=["-static"])
- env.Append(LINKFLAGS=["-static-libgcc"])
- env.Append(LINKFLAGS=["-static-libstdc++"])
+ if env["use_static_cpp"]:
+ env.Append(LINKFLAGS=["-static"])
+ env.Append(LINKFLAGS=["-static-libgcc"])
+ env.Append(LINKFLAGS=["-static-libstdc++"])
mingw_prefix = env["mingw_prefix_32"]
else:
- env.Append(LINKFLAGS=["-static"])
+ if env["use_static_cpp"]:
+ env.Append(LINKFLAGS=["-static"])
mingw_prefix = env["mingw_prefix_64"]
if env["use_llvm"]: