diff options
Diffstat (limited to 'hadrian/src/Rules/Rts.hs')
-rw-r--r-- | hadrian/src/Rules/Rts.hs | 8 |
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 |