diff options
author | Ben Gamari <ben@smart-cactus.org> | 2016-05-17 18:05:24 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-05-17 18:29:50 +0200 |
commit | 5d80d14196ef048ffe037b2d92af2e9af0cb9e19 (patch) | |
tree | 78cdabfea186067c85d9781cd633caef1e9e0d44 /rules | |
parent | a54d87a9e69746446adfe84a38d888861b3ec02b (diff) | |
download | haskell-5d80d14196ef048ffe037b2d92af2e9af0cb9e19.tar.gz |
rules/build-prog: Ensure programs depend upon their transitive deps
Previously programs only depended upon the direct dependencies; while I
would have thought that this would be sufficient, somehow we were
getting to the link step of building `ghc-pkg` before `ghc-boot-th` was
built (despite the fact that `ghc-boot` has a direct dependency on
`ghc-boot-th`).
See #12078.
Diffstat (limited to 'rules')
-rw-r--r-- | rules/build-prog.mk | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rules/build-prog.mk b/rules/build-prog.mk index 74bcc4a367..82c55a70e1 100644 --- a/rules/build-prog.mk +++ b/rules/build-prog.mk @@ -197,8 +197,10 @@ ifneq "$$(BINDIST)" "YES" # The quadrupled $'s here are because the _<way>_LIB variables aren't # necessarily set when this part of the makefile is read $1/$2/build/tmp/$$($1_$2_PROG) $1/$2/build/tmp/$$($1_$2_PROG).dll : \ - $$(foreach dep,$$($1_$2_DEP_COMPONENT_IDS),\ + $$(foreach dep,$$($1_$2_TRANSITIVE_DEP_COMPONENT_IDS),\ $$$$($$(dep)_dist-$(if $(filter 0,$3),boot,install)_PROGRAM_DEP_LIB)) +# Workaround: We use TRANSITIVE_DEP_COMPONENT_IDS here as a workaround for +# Trac #12078. $1_$2_PROG_NEEDS_C_WRAPPER = NO $1_$2_PROG_INPLACE = $$($1_$2_PROG) |