summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Flavours/Development.hs
blob: 5919026cb0437e5447d1f2f4fc2c1f320fe0f885 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Settings.Flavours.Development (developmentFlavour) where

import Expression
import Flavour
import {-# SOURCE #-} Settings.Default

-- Please update doc/flavours.md when changing this file.
developmentFlavour :: Stage -> Flavour
developmentFlavour ghcStage = defaultFlavour
    { name = "devel" ++ show (fromEnum ghcStage)
    , args = defaultBuilderArgs <> developmentArgs ghcStage <> defaultPackageArgs }

developmentArgs :: Stage -> Args
developmentArgs ghcStage = do
    stage <- getStage
    sourceArgs SourceArgs
        { hsDefault  = pure ["-O", "-H64m"]
        , hsLibrary  = notStage0 ? arg "-dcore-lint"
        , hsCompiler = succ stage == ghcStage ? pure ["-O0", "-DDEBUG"]
        , hsGhc      = succ stage == ghcStage ? pure ["-O0", "-DDEBUG"] }