Skip to content
  • Rémi Verschelde's avatar
    SCons: Add 'split_libmodules' option to workaround linker issue · c320a822
    Rémi Verschelde authored
    
    
    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: default avatarHein-Pieter van Braam-Stewart <hp@tmm.cx>
    c320a822