Add some missing dependencies; should fix make after re-configure
authorSimon Marlow <marlowsd@gmail.com>
Tue, 13 Sep 2011 12:49:15 +0000 (13:49 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 16 Sep 2011 13:03:12 +0000 (14:03 +0100)
Every Haskell compilation in a package should depend on the
package-data.mk file for that package.  Then, if a package's version
number is bumped, we will recompile all the modules in the package so
that their interface files get the new version number.

This should mean that a simple 'make' will succeed in a couple of
scenarios where it didn't before:

  1. re-configuring bumps the version number of GHC, so everything
     in the ghc package (stages 1 & 2) must be recompiled.

  2. bumping the version of one of the boot packages does not require
     a make clean any more.

I have tested (1) but not (2).

LAX_DEPENDENCIES=YES disabled these new dependencies too.

rules/build-package.mk
rules/hs-suffix-rules-srcdir.mk

index c15a8c5..3255657 100644 (file)
@@ -85,6 +85,10 @@ include $1/$2/package-data.mk
 else ifeq "$(phase)" "final"
 include $1/$2/package-data.mk
 endif
+# Each Haskell compilation in this package will depend on the
+# package-data.mk file because e.g. if the version of the package
+# changes we need to recompile everything in it.
+$1_$2_PKGDATA_DEP = $1/$2/package-data.mk
 endif
 
 # We don't bother splitting the bootstrap packages (built with stage 0)
index 00ad679..ce579c4 100644 (file)
@@ -34,16 +34,16 @@ $1/$2/build/%_hsc.c $1/$2/build/%_hsc.h $1/$2/build/%.hs : $1/$4/%.hsc $$(HSC2HS
 
 # Compiling Haskell source
 
-$1/$2/build/%.$$($3_osuf) : $1/$4/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_osuf) : $1/$4/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@
 
-$1/$2/build/%.$$($3_osuf) : $1/$4/%.lhs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_osuf) : $1/$4/%.lhs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@
 
-$1/$2/build/%.$$($3_hcsuf) : $1/$4/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_hcsuf) : $1/$4/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@
 
-$1/$2/build/%.$$($3_hcsuf) : $1/$4/%.lhs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_hcsuf) : $1/$4/%.lhs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@
 
 endif
@@ -74,10 +74,10 @@ $1/$2/build/%.hs-boot : $1/$4/%.hs-boot
 $1/$2/build/%.lhs-boot : $1/$4/%.lhs-boot
        "$$(CP)" $$< $$@
 
-$1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.hs-boot $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.hs-boot $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@
 
-$1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.lhs-boot $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.lhs-boot $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP)
        "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@
 
 ifneq "$$(BootingFromHc)" "YES"