| OLD | NEW |
| 1 # Windows Split DLLs | 1 # Windows Split DLLs |
| 2 | 2 |
| 3 A build mode where chrome.dll is split into two separate DLLs. This was | 3 A build mode where chrome.dll is split into two separate DLLs. This was |
| 4 undertaken as one possible workaround for toolchain limitations on Windows. | 4 undertaken as one possible workaround for toolchain limitations on Windows. |
| 5 | 5 |
| 6 ## How | 6 ## How |
| 7 | 7 |
| 8 Normally, you probably don't need to worry about doing this build. If for some | 8 Normally, you probably don't need to worry about doing this build. If for some |
| 9 reason you need to build it locally: | 9 reason you need to build it locally: |
| 10 | 10 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 | 39 |
| 40 ## Details | 40 ## Details |
| 41 | 41 |
| 42 This forcible split is implemented by putting .lib files in either one DLL or | 42 This forcible split is implemented by putting .lib files in either one DLL or |
| 43 the other, and causing unresolved externals that result during linking to be | 43 the other, and causing unresolved externals that result during linking to be |
| 44 forcibly exported from the other DLL. This works relatively cleanly for function | 44 forcibly exported from the other DLL. This works relatively cleanly for function |
| 45 import/export, however it cannot work for data export. | 45 import/export, however it cannot work for data export. |
| 46 | 46 |
| 47 There are relatively few instances where data exports are required across the | 47 There are relatively few instances where data exports are required across the |
| 48 DLL boundary. The waterfall builder | 48 DLL boundary. The waterfall builder |
| 49 http://build.chromium.org/p/chromium/waterfall?show=Win%20Split will detect when | 49 https://build.chromium.org/p/chromium/waterfall?show=Win%20Split will detect whe
n |
| 50 new data exports are added, and these will need to be repaired. For constants, | 50 new data exports are added, and these will need to be repaired. For constants, |
| 51 the data can be duplicated to both DLLs, but for writeable data, a wrapping | 51 the data can be duplicated to both DLLs, but for writeable data, a wrapping |
| 52 set/get function will need to be added. | 52 set/get function will need to be added. |
| 53 | 53 |
| 54 http://build.chromium.org/p/chromium/waterfall?show=Win%20Split does not exist. | 54 https://build.chromium.org/p/chromium/waterfall?show=Win%20Split does not exist. |
| 55 | 55 |
| 56 Some more details can be found on the initial commit of the split_link script | 56 Some more details can be found on the initial commit of the split_link script |
| 57 http://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the | 57 https://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the |
| 58 associated bugs: http://crbug.com/237249 http://crbug.com/237267. | 58 associated bugs: https://crbug.com/237249 https://crbug.com/237267. |
| OLD | NEW |