Currently mingw stage0 package does not contain mingw runtime libraries: libgcc_s_dw2-1.dll, libstdc++-6.dll, libpthread-2.dll.
However, mingw sometimes upgrades dll and the installer installs latest one as default. This makes a lot of problems and confusions.
Instead, we can bundle dlls with stage0 archive then we only depend on external g++ executable, not any runtime libraries.
This may also help upgrading mingw (#8598): currently, if you want to build rust with recent mingw or mingw-w64 (#8996), you have to copy old dlls at <builddir>/<triple>/stage0/bin/. It is really inconvenient.
Currently mingw stage0 package does not contain mingw runtime libraries: libgcc_s_dw2-1.dll, libstdc++-6.dll, libpthread-2.dll.
However, mingw sometimes upgrades dll and the installer installs latest one as default. This makes a lot of problems and confusions.
A portable Version of Rust Compiler for Windows #3459 suggests portable version of installer, but it cannot be done in near future since we rely on
g++linker.Instead, we can bundle dlls with stage0 archive then we only depend on external g++ executable, not any runtime libraries.
This may also help upgrading mingw (#8598): currently, if you want to build rust with recent mingw or mingw-w64 (#8996), you have to copy old dlls at
<builddir>/<triple>/stage0/bin/. It is really inconvenient.