diff options
author | Ian Lynagh <igloo@earth.li> | 2010-05-09 13:05:11 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2010-05-09 13:05:11 +0000 |
commit | c24af7168babfe2a7c231c1c7a61b74d952aee84 (patch) | |
tree | 632be3dc50e4acf5b1dab81af9a20896468f2640 | |
parent | 7eb456b97c5a9911981afa172acf9ef50b75f9fa (diff) | |
download | haskell-c24af7168babfe2a7c231c1c7a61b74d952aee84.tar.gz |
Don't include inter-package dependencies when compiling with stage 0; #4031
This fixes a problem when building with GHC 6.12 on Windows, where
dependencies on stage 0 (bootstrapping compiler) packages have absolute
paths c:/ghc/..., and make gets confused by the colon.
-rw-r--r-- | rts/ghc.mk | 2 | ||||
-rw-r--r-- | rules/build-dependencies.mk | 10 | ||||
-rw-r--r-- | rules/build-package.mk | 2 | ||||
-rw-r--r-- | rules/build-prog.mk | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/rts/ghc.mk b/rts/ghc.mk index a7a2c1145f..bf110faeb9 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -391,7 +391,7 @@ rts_dist_MKDEPENDC_OPTS += -Irts/dist/build endif -$(eval $(call build-dependencies,rts,dist)) +$(eval $(call build-dependencies,rts,dist,1)) $(rts_dist_depfile_c_asm) : libffi/dist-install/build/ffi.h $(DTRACEPROBES_H) diff --git a/rules/build-dependencies.mk b/rules/build-dependencies.mk index 7a058034b3..6ebc7ef711 100644 --- a/rules/build-dependencies.mk +++ b/rules/build-dependencies.mk @@ -10,14 +10,20 @@ # # ----------------------------------------------------------------------------- -define build-dependencies # args: $1 = dir, $2 = distdir +define build-dependencies +# $1 = dir +# $2 = distdir +# $3 = GHC stage to use (0 == bootstrapping compiler) $1_$2_depfile_haskell = $$($1_$2_depfile_base).haskell $1_$2_depfile_c_asm = $$($1_$2_depfile_base).c_asm $1_$2_C_FILES_DEPS = $$(filter-out $$($1_$2_C_FILES_NODEPS),$$($1_$2_C_FILES)) -$1_$2_MKDEPENDHS_FLAGS = -include-pkg-deps -dep-makefile $$($1_$2_depfile_haskell).tmp $$(foreach way,$$(filter-out v,$$($1_$2_WAYS)),-dep-suffix $$(way)) +$1_$2_MKDEPENDHS_FLAGS = -dep-makefile $$($1_$2_depfile_haskell).tmp $$(foreach way,$$(filter-out v,$$($1_$2_WAYS)),-dep-suffix $$(way)) +ifneq "$3" "0" +$1_$2_MKDEPENDHS_FLAGS += -include-pkg-deps +endif ifneq "$$($1_$2_NO_BUILD_DEPS)" "YES" diff --git a/rules/build-package.mk b/rules/build-package.mk index b4763b682f..5a589f456f 100644 --- a/rules/build-package.mk +++ b/rules/build-package.mk @@ -133,7 +133,7 @@ $(call includes-sources,$1,$2) $1_$2_WAYS_DASHED = $$(subst $$(space),,$$(patsubst %,-%,$$(strip $$($1_$2_WAYS)))) $1_$2_depfile_base = $1/$2/build/.depend$$($1_$2_WAYS_DASHED) -$(call build-dependencies,$1,$2) +$(call build-dependencies,$1,$2,$3) # --- BUILDING diff --git a/rules/build-prog.mk b/rules/build-prog.mk index 9674bf602b..e07290772b 100644 --- a/rules/build-prog.mk +++ b/rules/build-prog.mk @@ -92,7 +92,7 @@ $(call c-sources,$1,$2) $1_$2_depfile_base = $1/$2/build/.depend -$(call build-dependencies,$1,$2) +$(call build-dependencies,$1,$2,$3) # --- IMPLICIT RULES |