<br><br><div class="gmail_quote"><div dir="ltr">On Sun, Dec 23, 2018, 00:31 Ben Gamari <<a href="mailto:ben@well-typed.com">ben@well-typed.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Moritz Angermann <<a href="mailto:moritz.angermann@gmail.com" target="_blank">moritz.angermann@gmail.com</a>> writes:<br>
<br>
> What prevents us in principle to cross compile ghc on Linux for<br>
> Windows? We’d still want to use the built artifacts and run the<br>
> testsuite on Windows I think, but building ghc?<br>
><br>
We currently cannot run the full testsuite on a binary distribution due to<br>
#13897 (essentially we don't ship a few utilities which the testsuite would<br>
require; Alp is looking at fixing this in Hadrian).<br>
<br>
Moreover, we can't run Haddock when cross-compiling which means that we<br>
would need to find a way to skip the haddock performance tests.<br>
<br>
However, in general I think it is important that Tier 1 platforms be<br>
tested in a non-cross-compiled environment. Afterall, this is the<br>
environment in which we need to build binary distributions (for the<br>
above-mentioned Haddock issue, among others).<br></blockquote></div><div><br></div><div>And a bootstrap is representative of real code. This catches more issues than a bunch of small tests. The resulting binaries won't be representative of the code we ship to users as the cross compiler won't contain the patch (or any other optimization in master) unless you build the cross first at which point you're increasing your Linux coverage while reducing Windows. </div><div><br></div><div>Secondly Windows is statically linked, this means you'll end up linking against library code from the cross tool chain instead of the native. The cross tool chains are often way older as they are just there to bootstrap builds. So you have a significant reduction in code coverage. </div><div><br></div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
<br>
- Ben<br>
<br>
</blockquote></div>