I know there's been discussion on this before, I just want a definitive reference.
It looks like it would be relatively straight forward for DMD to be a cross-compiler. A few version() statements could be runtime if's, and that's pretty much it. When hacking on parts of DMD, I frequently make hacks that turn such versions into runtime if's to test multiple targets from the one dev workflow. It would be about 100 times more convenient to supply an arg, than make hacks all over the code... so, why not?