Lots of unnecessary recompilation
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
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |