
On 2014-11-01 at 18:43:35 +0100, Ben Gamari wrote: [...]
This would mostly hurt if you cleaned up the tree later (e.g. 'make distclean'), which I do rather frequently in order to get a pristine build tree.
Ideally `make clean` would be a bit more complete so it could be used more often. Much of my use of `make distclean` comes from superstition after thinking `make clean` would be sufficient only to find out half-way through the build that there is still vestigal state hanging around.
I regularly run ./validate, which by definition has to reset everything to a zero-state. Moreover, I keep a few GHC source-trees around, and wouldn't want to have to keep redundant LLVM binaries around. So using 'make clean' isn't an option for everyone. I'd rather install the required LLVM version system-wide (or rather, reachable via PATH), and have ./configure try to pick that one up, before deciding it needs to build its own LLVM.