summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Packages.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Settings/Packages.hs')
-rw-r--r--hadrian/src/Settings/Packages.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs
index 517c36ebaf..70bec0ecdc 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -17,6 +17,8 @@ packageArgs = do
intLib <- getIntegerPackage
compilerPath <- expr $ buildPath (vanillaContext stage compiler)
gmpBuildPath <- expr gmpBuildPath
+ win <- expr windowsHost
+ cross <- expr (flag CrossCompiling)
let includeGmp = "-I" ++ gmpBuildPath -/- "include"
mconcat
@@ -70,6 +72,7 @@ packageArgs = do
, builder (Cabal Flags) ? mconcat
[ ghcWithNativeCodeGen ? arg "ncg"
, ghcWithInterpreter ? notStage0 ? arg "ghci"
+ , notStage0 ? (not win && not cross) ? arg "ext-interp"
, flag CrossCompiling ? arg "-terminfo"
, notStage0 ? intLib == integerGmp ?
arg "integer-gmp"
@@ -84,6 +87,7 @@ packageArgs = do
, builder (Cabal Flags) ? mconcat
[ ghcWithInterpreter ? notStage0 ? arg "ghci"
+ , notStage0 ? (not win && not cross) ? arg "ext-interp"
, flag CrossCompiling ? arg "-terminfo"
-- the 'threaded' flag is True by default, but
-- let's record explicitly that we link all ghc
@@ -117,6 +121,8 @@ packageArgs = do
-- behind the @-fghci@ flag.
, package ghci ? mconcat
[ notStage0 ? builder (Cabal Flags) ? arg "ghci"
+ , notStage0 ? builder (Cabal Flags) ? (not win && not cross)
+ ? arg "ext-interp"
, flag CrossCompiling ? stage0 ? builder (Cabal Flags) ? arg "ghci" ]
-------------------------------- haddock -------------------------------