summaryrefslogtreecommitdiff
path: root/hadrian/src/Rules.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Rules.hs')
-rw-r--r--hadrian/src/Rules.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/hadrian/src/Rules.hs b/hadrian/src/Rules.hs
index 78e3790d48..9c8adec4d0 100644
--- a/hadrian/src/Rules.hs
+++ b/hadrian/src/Rules.hs
@@ -6,6 +6,7 @@ import qualified Hadrian.Oracles.Cabal.Rules
import qualified Hadrian.Oracles.DirectoryContents
import qualified Hadrian.Oracles.Path
import qualified Hadrian.Oracles.TextFile
+import Hadrian.Haskell.Cabal.Type
import Expression
import qualified Oracles.ModuleFiles
@@ -55,10 +56,16 @@ toolArgsTarget = do
need [ root <//> dir -/- "CmmParse.hs" ]
need [ root <//> dir -/- "CmmLex.hs" ]
+ let context = vanillaContext Stage0 compiler
+ cSrcs' <- interpretInContext (vanillaContext Stage0 compiler)
+ (getContextData cSrcs)
+ cObjs <- mapM (objectPath context) cSrcs'
+ need cObjs
+
-- Find out the arguments that are needed to load a module into the
-- session
arg_list <- interpret fake_target getArgs
- liftIO $ putStrLn (intercalate " " arg_list)
+ liftIO $ putStrLn (intercalate " " (arg_list ++ cObjs))
allStages :: [Stage]
allStages = [minBound .. maxBound]