2022-04-27 09:29:49 +03:00
|
|
|
module Main where
|
|
|
|
|
|
|
|
import TestRunner (mainWith)
|
|
|
|
import BuildLib (Quickness(..))
|
|
|
|
import Control.Applicative ((<|>))
|
|
|
|
import Data.List (isInfixOf, isPrefixOf, isSuffixOf)
|
|
|
|
import Data.Map (Map)
|
|
|
|
|
|
|
|
import qualified Data.Map as Map
|
|
|
|
import Targets (targets)
|
|
|
|
|
|
|
|
rtsOpts :: Bool -> String -> String -> String
|
|
|
|
rtsOpts relaxMem exeName target =
|
|
|
|
|
|
|
|
if relaxMem
|
|
|
|
then "-K16M -M1024M"
|
|
|
|
else "-K8M -M64M " <> targetSpecific
|
|
|
|
|
|
|
|
where
|
|
|
|
|
|
|
|
targetSpecific =
|
|
|
|
case target of
|
|
|
|
-- XXX Data.Array.* heap requirement increased for GHC-8.10
|
2022-08-09 10:38:10 +03:00
|
|
|
"Data.Array.Unboxed" -> "-M128M"
|
2022-12-29 02:23:13 +03:00
|
|
|
"Data.Array.Generic" -> "-M128M"
|
2022-04-27 09:29:49 +03:00
|
|
|
"Prelude.Rate" -> "-M512M"
|
|
|
|
-- For -O0 case writeChunks test fails, maybe we should have a
|
|
|
|
-- separate flag for O0 case?
|
|
|
|
"FileSystem.Handle" -> "-K16M"
|
|
|
|
_ -> ""
|
|
|
|
|
|
|
|
main :: IO ()
|
|
|
|
main = mainWith targets rtsOpts
|