diff options
author | Andrey Mokhov <andrey.mokhov@gmail.com> | 2019-04-16 02:22:30 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-04-16 15:46:44 -0400 |
commit | 894ec447955a5066faee1b87af9cc7785ae14cd8 (patch) | |
tree | 4b5ec5fccdaf9f0717ffd337fd7a1e214a587ac1 /hadrian/src/Rules.hs | |
parent | 57eb5bc61317e5cdf1fd5745036e443037a37451 (diff) | |
download | haskell-894ec447955a5066faee1b87af9cc7785ae14cd8.tar.gz |
Hadrian: Generate GHC wrapper scripts
This is a temporary workaround for #16534. We generate wrapper scripts
<build-root>/ghc-stage1 and <build-root>/ghc-stage2 that can be used to
run Stage1 and Stage2 GHCs with the right arguments.
See https://gitlab.haskell.org/ghc/ghc/issues/16534.
Diffstat (limited to 'hadrian/src/Rules.hs')
-rw-r--r-- | hadrian/src/Rules.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/hadrian/src/Rules.hs b/hadrian/src/Rules.hs index d9fa167b50..78e3790d48 100644 --- a/hadrian/src/Rules.hs +++ b/hadrian/src/Rules.hs @@ -83,7 +83,12 @@ topLevelTargets = action $ do targets <- concatForM buildStages $ \stage -> do packages <- stagePackages stage mapM (path stage) packages - need targets + + -- Why we need wrappers: https://gitlab.haskell.org/ghc/ghc/issues/16534. + root <- buildRoot + let wrappers = [ root -/- ("ghc-" ++ stageString s) | s <- [Stage1 ..] + , s < finalStage ] + need (targets ++ wrappers) where -- either the package database config file for libraries or -- the programPath for programs. However this still does |