Expression: Don't re-export Base
[hadrian.git] / src / Settings / Args.hs
1 module Settings.Args (getArgs) where
2
3 import Data.Monoid
4
5 import Expression
6 import Settings.Builders.Alex
7 import Settings.Builders.Ar
8 import Settings.Builders.DeriveConstants
9 import Settings.Builders.Gcc
10 import Settings.Builders.GenPrimopCode
11 import Settings.Builders.Ghc
12 import Settings.Builders.GhcCabal
13 import Settings.Builders.GhcPkg
14 import Settings.Builders.Haddock
15 import Settings.Builders.Happy
16 import Settings.Builders.Hsc2Hs
17 import Settings.Builders.HsCpp
18 import Settings.Builders.Ld
19 import Settings.User
20
21 getArgs :: Expr [String]
22 getArgs = fromDiffExpr $ defaultArgs <> userArgs
23
24 -- TODO: add all other settings
25 -- TODO: add src-hc-args = -H32m -O
26 -- TODO: GhcStage2HcOpts=-O2 unless GhcUnregisterised
27 -- TODO: compiler/stage1/build/Parser_HC_OPTS += -O0 -fno-ignore-interface-pragmas
28 -- TODO: compiler/main/GhcMake_HC_OPTS += -auto-all
29 -- TODO: compiler_stage2_HADDOCK_OPTS += --optghc=-DSTAGE=2
30 -- TODO: compiler/prelude/PrimOp_HC_OPTS += -fforce-recomp
31 -- TODO: is GhcHcOpts=-Rghc-timing needed?
32 defaultArgs :: Args
33 defaultArgs = mconcat
34 [ alexArgs
35 , arArgs
36 , cabalArgs
37 , customPackageArgs
38 , deriveConstantsArgs
39 , gccArgs
40 , gccMArgs
41 , genPrimopCodeArgs
42 , ghcArgs
43 , ghcCabalHsColourArgs
44 , ghcMArgs
45 , ghcPkgArgs
46 , haddockArgs
47 , happyArgs
48 , hsc2HsArgs
49 , hsCppArgs
50 , ldArgs ]