summaryrefslogtreecommitdiff
path: root/platform/windows
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-09-13 17:01:47 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-09-19 18:11:29 +0200
commit35a15e619161798820b2bd6ff46178c5b7ccebcf (patch)
treec22c80afb7f82aeaabca3c43cb6e8ff7a7c1cd05 /platform/windows
parent6f5704d86f95171ba8b6b2ac9f56e284c4d35d7a (diff)
SCons: Refactor handling of `production` flag and per-platform LTO defaults
Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
Diffstat (limited to 'platform/windows')
-rw-r--r--platform/windows/detect.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index e6e1874fc0..52a959b34a 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -448,6 +448,9 @@ def configure_msvc(env, vcvars_msvc_config):
## LTO
+ if env["lto"] == "auto": # No LTO by default for MSVC, doesn't help.
+ env["lto"] = "none"
+
if env["lto"] != "none":
if env["lto"] == "thin":
print("ThinLTO is only compatible with LLVM, use `use_llvm=yes` or `lto=full`.")
@@ -564,6 +567,11 @@ def configure_mingw(env):
if try_cmd("gcc-ranlib --version", env["mingw_prefix"], env["arch"]):
env["RANLIB"] = mingw_bin_prefix + "gcc-ranlib"
+ ## LTO
+
+ if env["lto"] == "auto": # Full LTO for production with MinGW.
+ env["lto"] = "full"
+
if env["lto"] != "none":
if env["lto"] == "thin":
if not env["use_llvm"]: