summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2021-11-10 16:02:02 +0100
committerRémi Verschelde <rverschelde@gmail.com>2021-11-10 16:06:39 +0100
commit11d1319afd3050862cb0a800e323278984742fb1 (patch)
tree7a8522930f87e82c18f58d2c12d37a511dded2d6
parente317e34c15cc0b2021198d6b53e515b29170c9f6 (diff)
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).
-rw-r--r--platform/windows/detect.py6
1 files 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"])])