The new 'split_libmodules=yes' option is useful to work around linker
command line size limitations when linking a huge number of objects.
We're currently over 64k chars when linking libmodules.a on Windows
with MinGW, which triggers issues as seen in #30892.
Even on Linux, we can also reach linker command line size limitations
by adding more custom modules.
We force this option to True for MinGW on Windows, which fixes #30892.
Additional changes to lib splitting:
- Fix linking of the split module libs with interdependent symbols,
hacking our way into LINKCOM and SHLINKCOM to set the `--start-group`
and `--end-group` flags.
- Fix Python 3 compatibility in `methods.split_lib()`.
- Drop seemingly obsolete condition for 'msys' on 'posix'.
- Drop the unnecessary 'split_drivers' as the drivers lib is no longer
too big since we moved all thirdparty builds to modules.
Co-authored-by:
Hein-Pieter van Braam-Stewart <hp@tmm.cx>
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
export | Loading commit data... | |
SCsub | Loading commit data... | |
context_gl_windows.cpp | Loading commit data... | |
context_gl_windows.h | Loading commit data... | |
crash_handler_windows.cpp | Loading commit data... | |
crash_handler_windows.h | Loading commit data... | |
detect.py | Loading commit data... | |
godot.ico | Loading commit data... | |
godot.natvis | Loading commit data... | |
godot_res.rc | Loading commit data... | |
godot_windows.cpp | Loading commit data... | |
joypad_windows.cpp | Loading commit data... | |
joypad_windows.h | Loading commit data... | |
key_mapping_windows.cpp | Loading commit data... | |
key_mapping_windows.h | Loading commit data... | |
lang_table.h | Loading commit data... | |
logo.png | Loading commit data... | |
os_windows.cpp | Loading commit data... | |
os_windows.h | Loading commit data... | |
platform_config.h | Loading commit data... | |
platform_windows_builders.py | Loading commit data... | |
power_windows.cpp | Loading commit data... | |
power_windows.h | Loading commit data... | |
windows_terminal_logger.cpp | Loading commit data... | |
windows_terminal_logger.h | Loading commit data... |