From 11d1319afd3050862cb0a800e323278984742fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Wed, 10 Nov 2021 16:02:02 +0100 Subject: [PATCH] Windows: Enable `/bigobj` to increase max size for obj files Equivalent `-Wa,-mbig-obj` for GCC/Clang. This started being needed to compile harfbuzz in `target=debug` with MinGW/GCC, but there doesn't seem to be any drawback to enabling `/bigobj` (aside from losing support for pre-VS 2005 linkers, which we don't support). --- platform/windows/detect.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platform/windows/detect.py b/platform/windows/detect.py index 22fbbeb74f..20deb35089 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -226,9 +226,10 @@ def configure_msvc(env, manual_msvc_config): env.AppendUnique(CCFLAGS=["/MD"]) env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"]) - # Force to use Unicode encoding - env.AppendUnique(CCFLAGS=["/utf-8"]) + env.AppendUnique(CCFLAGS=["/utf-8"]) # Force to use Unicode encoding. + env.AppendUnique(CCFLAGS=["/bigobj"]) # Allow big objects, no drawbacks. env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++ + if manual_msvc_config: # should be automatic if SCons found it if os.getenv("WindowsSdkDir") is not None: env.Prepend(CPPPATH=[os.getenv("WindowsSdkDir") + "/Include"]) @@ -421,6 +422,7 @@ def configure_mingw(env): ## Compile flags env.Append(CCFLAGS=["-mwindows"]) + env.Append(CCFLAGS=["-Wa,-mbig-obj"]) # Allow big objects, no drawbacks. env.Append(CPPDEFINES=["WINDOWS_ENABLED", "WASAPI_ENABLED", "WINMIDI_ENABLED"]) env.Append(CPPDEFINES=[("WINVER", env["target_win_version"]), ("_WIN32_WINNT", env["target_win_version"])])