Sigh, a bug - recompilation checking was accidentally turned off.
Apply the following patch to fix:
*** fptools/ghc/driver/ghc.lprl 1997/09/03 23:48:25 1.35
--- fptools/ghc/driver/ghc.lprl 1997/10/05 20:13:24
***************
*** 2546,2550 ****
#---------- what phases are to be run ----------------------------------
! /^-(no-)?recomp/ && do { $Do_recomp_chkr = ($1 ne '') ? 1 : 0; next arg; };
/^-cpp$/ && do { $Cpp_flag_set = 1; next arg; };
--- 2546,2550 ----
#---------- what phases are to be run ----------------------------------
! /^-(no-)?recomp/ && do { $Do_recomp_chkr = ($1 eq '') ? 1 : 0; next arg; };
/^-cpp$/ && do { $Cpp_flag_set = 1; next arg; };
--Sigbjorn
Alex Ferguson writes:
>
> Further to my previous message: What it looks like is that I have a
> cycle of module deps, and whenever any of them are changed, -recomp
> gets very confused and recompiles them all. This seems to be because
> each of them becomes a new version because its usages
> because its predecessor in the chain's version changed, because its
> usages did... This is a Real Pain. Anyone else been stung by this?
>
> BTW, did there use to be/is there still an option to tell -recomp
> to be explicit about why it had to do a recompilation? I found
> -hi-diffs-with-usages, which was of some help, but I thought there
> was a more directly useful one too, but I couldn't lay my hands on it.
>
> Cyclically,
> Alex.