If we were to ship everything in one binary I’d actually prefer to take the rustup route of shipping the same binary hard linked into two locations, and then we change the behavior on how it’s invoked. In any case though the compiler supports plugins today which ties our hands in terms of how we ship these libraries.
Because any plugin can link to any subset of compiler libraries, we basically have to ship dlls for all of them