| # Windows Split DLLs |
| |
| A build mode where chrome.dll is split into two separate DLLs. This was |
| undertaken as one possible workaround for toolchain limitations on Windows. |
| |
| ## How |
| |
| Split DLL is now default on Windows and controlled by the |
| `is_multi_dll_chrome` gn variable. |
| |
| `is_multi_dll_chrome` applies only to chrome.dll (and not test binaries). |
| |
| ## Details |
| |
| This forcible split is implemented by putting .lib files in either one DLL or |
| the other, and causing unresolved externals that result during linking to be |
| forcibly exported from the other DLL. This works relatively cleanly for function |
| import/export, however it cannot work for data export. |
| |
| Some more details can be found on the initial commit of the split_link script |
| https://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the |
| associated bugs: https://crbug.com/237249 https://crbug.com/237267. |