From 3f1e2ac44ddad59f6ef87285dc6e6aeea7ad0acb Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Mon, 25 Jul 2022 20:10:20 +0100 Subject: [PATCH] Use bigobj for release MSVC builds Previously it was used only on debug builds, but recent additions to variant_call.cpp have made that unit too large even in release_debug. It was originally set to debug only because using it breaks mingw, so this only reinstates it for MSVC where it shouldn't have any drawbacks (famous last words). Test-Information: Builds for me with scons -j 40 platform=windows target=release_debug and my game then runs from it. (cherry picked from commit d8900e0020b21d449069ef2a301253371fb70a21) --- platform/windows/detect.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/windows/detect.py b/platform/windows/detect.py index 131baf923..62a8d0ffc 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -195,7 +195,6 @@ def configure_msvc(env, manual_msvc_config): elif env["target"] == "debug": env.AppendUnique(CCFLAGS=["/Zi", "/FS", "/Od", "/EHsc"]) # Allow big objects. Only needed for debug, see MinGW branch for rationale. - env.AppendUnique(CCFLAGS=["/bigobj"]) env.Append(LINKFLAGS=["/DEBUG"]) if env["windows_subsystem"] == "gui": @@ -220,6 +219,10 @@ def configure_msvc(env, manual_msvc_config): env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"]) env.AppendUnique(CCFLAGS=["/utf-8"]) # Force to use Unicode encoding. env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++ + # Once it was thought that only debug builds would be too large, + # but this has recently stopped being true. See the mingw function + # for notes on why this shouldn't be enabled for gcc + env.AppendUnique(CCFLAGS=["/bigobj"]) if manual_msvc_config: # should be automatic if SCons found it if os.getenv("WindowsSdkDir") is not None: