Hi Serge, On 05 June 2005 11:58, Serge D. Mechveliani wrote:
for the first time compiles all the modules before Foo in 50 seconds. Then, I fix an error in Foo.hs and repeat "make dm".
The options are set so that ghc-6.2.2 gets to Foo.hs in less than 1 second when doing this repeated `make'. It does consider each module before Foo and each time decides that there is no need in recompilation. It keeps on going this way: -------- Considering whether compilation is required for Prelude0: Skipping Prelude0 ( ./Prelude0.hs, /foo/source/export/Prelude0.o ) -------- and so on, by the scheme "Considering ..XX -- {Checking usages .. --} Skipping XX".
The compiler applies this way: -------------------- /foo/ghc/6.2.2/inst/bin/ghc -fglasgow-exts -fallow-undecidable-instances -fallow-overlapping-instances -fno-warn-overlapping-patterns -fwarn-unused-binds -fwarn-unused-matches -fwarn-unused-imports -idemotest -odir /home/mechvel/dm/1.02/dm/source/export -hidir /home/mechvel/dm/1.02/dm/source/export -ddump-hi-diffs --make DExport -package-name dm --------------------
Now, when ghc-6.4 does such a repeated `make', it re-compiles all the `previous' modules under the above options:
I'm afraid I don't know what the problem might be. Probably GHC is looking in the wrong place for .hi files or .o files, or both.
--------- Chasing modules from: DExport Source file changed or recompilation check turned off Compiling Prelude0 ( ./Prelude0.hs, /.../source/export/Prelude0.o ^^^^^^^ in particul, that looks very strange! Did you edit that by hand, or is that the verbatim GHC output? (copying the verbatim output is usually better, to avoid confusion).
Cheers, Simon