Lots of unnecessary recompilation
|Reported by:||selinger||Owned by:|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Revisions:|
The release notes for 7.4 state:
"The recompilation checker now takes into account what flags were used when compiling. For example, if you first run ghc -c Foo.hs, and then ghc -DBAR -c Foo.hs, then GHC will now recompile Foo.hs."
This has some undesired side effects. For example, I have a project with over 100 source files. Sometimes I like to try a different main function with -main-is, just for testing. This worked fine with 7.2, but ghc 7.4, in this situation, recompiles the whole world - including the 99 source files that are unaffected by this option.
Since this new behavior involves a - sometimes substantial - tradeoff between safety and efficiency, can there please be a command line option to turn it off? At least until someone figures out a way to do it smartly.
To reproduce: recompile any already compiled multi-module program with -main-is.
Thanks, -- Peter