summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hadrian/src/Flavour.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index 39ef49f11a..79eb18bed4 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -65,6 +65,7 @@ flavourTransformers = M.fromList
, "haddock" =: enableHaddock
, "hi_core" =: enableHiCore
, "late_ccs" =: enableLateCCS
+ , "boot_nonmoving_gc" =: enableBootNonmovingGc
]
where (=:) = (,)
@@ -283,6 +284,13 @@ enableAssertions flav = flav { ghcDebugAssertions = f }
f Stage2 = True
f st = ghcDebugAssertions flav st
+-- | Build the stage3 compiler using the non-moving GC.
+enableBootNonmovingGc :: Flavour -> Flavour
+enableBootNonmovingGc = addArgs $ mconcat
+ [ stage Stage2 ? builder Ghc
+ ? pure ["+RTS", "--nonmoving-gc", "-RTS"]
+ ]
+
-- | Produce fully statically-linked executables and build libraries suitable
-- for static linking.
fullyStatic :: Flavour -> Flavour