add an --hadrian mode to ./validate
When the '--hadrian' flag is passed to the validate script, we use hadrian to build GHC, package it up in a binary distribution and later on run GHC's testsuite against the said bindist, which gets installed locally in the process.
Along the way, this commit fixes a typo, an omission (build iserv binaries before producing the bindist archive) and moves the Makefile that enables 'make install' on those bindists from being a list of strings in the code to an actual file (it was becoming increasingly annoying to work with).
Finally, the Settings.Builders.Ghc part of this patch is necessary for being able to use the installed binary distribution, in 'validate'.
I suggest that we don't switch to using ./validate --hadrian
in CI right away, for two reasons:
- it works nicely on Linux, but the testsuite isn't green when executed with Hadrian, for now (we're working on it though), and that would make all Linux hadrian jobs fail;
- The
./Setup configure --with-ghc=...
bit of the script that tries to configure the build for the xhtml package with the freshly installed GHC bindist just fails miserably on Windows. The spaces in the installed GHC's path seem to be causing problems, resisting to all the escaping strategies that I've tried. I have to admit I'm not quite sure about how we can fix this.
I'm nonetheless suggesting that we merge this patch, therefore giving a chance for people to try out ./validate --hadrian
and perhaps help us spot new problems or fix the ones listed above.