simonpj at microsoft.com
Wed Sep 5 11:08:23 EDT 2007
I have tripped over several problems with validation today.
1. If you have lots of libraries in your tree, 'sh validate' will try to compile them. But they are not -Wall clean, so the -Werror kills the validation.
Solution: we should say what libraries validate will validate; and validate should make build.mk compile only them.
The easiest way to do this looks to be: make GhcBootLibs=YES work, and specify that those are the libs that are validated.
Incidentally are GhcBootLibs the same as "core libs"? Do we have this terminology Wiki'd somewhere?
2. 'sh validate' copies build.mk to build.mk.bak, but doesn't restore it (ever). The next time you run it, you lose even the backup.
Solution: make 'sh validate' use a different build.mk altogether, perhaps build.mk.validate. I'm not sure how to make the build system slurp in a different build.mk though!
3. On Windows I'm getting warnings from utils/genprimopcode/Lexer.hs which kill the validation. There's no -w at the top, and Simon and I aren't sure if there should be. But it's getting compiled with -Werror nevertheless. Dump below.
More information about the Cvs-ghc