summaryrefslogtreecommitdiff
path: root/hadrian/src/Rules/Rts.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Rules/Rts.hs')
-rw-r--r--hadrian/src/Rules/Rts.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/hadrian/src/Rules/Rts.hs b/hadrian/src/Rules/Rts.hs
index 4e6b4f7532..a6cd0f15d2 100644
--- a/hadrian/src/Rules/Rts.hs
+++ b/hadrian/src/Rules/Rts.hs
@@ -1,5 +1,7 @@
module Rules.Rts (rtsRules, needRtsLibffiTargets, needRtsSymLinks) where
+import qualified Data.Set as Set
+
import Packages (rts, rtsBuildPath, libffiBuildPath, rtsContext)
import Rules.Libffi
import Hadrian.Utilities
@@ -136,15 +138,15 @@ needRtsLibffiTargets stage = do
staticLibffis <- do
ways <- interpretInContext (stageContext stage)
(getLibraryWays <> getRtsWays)
- let staticWays = filter (not . wayUnit Dynamic) ways
+ let staticWays = Set.toList $ Set.filter (not . wayUnit Dynamic) ways
mapM (rtsLibffiLibrary stage) staticWays
return $ concat [ headers, dynLibffis, staticLibffis ]
-- Need symlinks generated by rtsRules.
-needRtsSymLinks :: Stage -> [Way] -> Action ()
+needRtsSymLinks :: Stage -> Set.Set Way -> Action ()
needRtsSymLinks stage rtsWays
- = forM_ (filter (wayUnit Dynamic) rtsWays) $ \ way -> do
+ = forM_ (Set.filter (wayUnit Dynamic) rtsWays) $ \ way -> do
let ctx = Context stage rts way
libPath <- libPath ctx
distDir <- distDir stage