diff options
Diffstat (limited to 'hadrian/src/Settings/Flavours/QuickCross.hs')
-rw-r--r-- | hadrian/src/Settings/Flavours/QuickCross.hs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/hadrian/src/Settings/Flavours/QuickCross.hs b/hadrian/src/Settings/Flavours/QuickCross.hs new file mode 100644 index 0000000000..7572be27d1 --- /dev/null +++ b/hadrian/src/Settings/Flavours/QuickCross.hs @@ -0,0 +1,37 @@ +module Settings.Flavours.QuickCross (quickCrossFlavour) where + +import Expression +import Flavour +import Oracles.Flag +import {-# SOURCE #-} Settings.Default +import Settings.Flavours.Common + +-- Please update doc/flavours.md when changing this file. +quickCrossFlavour :: Flavour +quickCrossFlavour = defaultFlavour + { name = "quick-cross" + , args = defaultBuilderArgs <> quickCrossArgs <> defaultPackageArgs + , dynamicGhcPrograms = pure False + , libraryWays = mconcat + [ pure [vanilla] + , notStage0 ? platformSupportsSharedLibs ? pure [dynamic] ] + , rtsWays = mconcat + [ pure + [ vanilla, threaded, logging, debug + , threadedDebug, threadedLogging, threaded ] + , notStage0 ? platformSupportsSharedLibs ? pure + [ dynamic, debugDynamic, threadedDynamic, loggingDynamic + , threadedDebugDynamic, threadedLoggingDynamic ] + ] } + +quickCrossArgs :: Args +quickCrossArgs = sourceArgs SourceArgs + { hsDefault = mconcat $ + [ pure ["-O0", "-H64m"] + , naturalInBaseFixArgs + ] + , hsLibrary = notStage0 ? mconcat [ arg "-O", arg "-fllvm" ] + , hsCompiler = stage0 ? arg "-O" + , hsGhc = mconcat + [ stage0 ? arg "-O" + , stage1 ? mconcat [ arg "-O0", arg "-fllvm" ] ] } |