gitlab-ci: Move hadrian-ghc-in-ghci job first
[ghc.git] / hadrian / hadrian.cabal
1 name:                hadrian
2 version:             0.1.0.0
3 synopsis:            GHC build system
4 license:             BSD3
5 license-file:        LICENSE
6 author:              Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
7 maintainer:          Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
8 copyright:           Andrey Mokhov 2014-2017
9 category:            Development
10 build-type:          Simple
11 cabal-version:       >=1.10
12
13 source-repository head
14     type:     git
15     location: https://gitlab.haskell.org/ghc/ghc
16
17 executable hadrian
18     main-is:             Main.hs
19     hs-source-dirs:      .
20                        , src
21     other-modules:       Base
22                        , Builder
23                        , CommandLine
24                        , Context
25                        , Context.Path
26                        , Context.Type
27                        , Environment
28                        , Expression
29                        , Expression.Type
30                        , Flavour
31                        , Hadrian.Builder
32                        , Hadrian.Builder.Ar
33                        , Hadrian.Builder.Sphinx
34                        , Hadrian.Builder.Tar
35                        , Hadrian.BuildPath
36                        , Hadrian.Expression
37                        , Hadrian.Haskell.Cabal
38                        , Hadrian.Haskell.Cabal.Type
39                        , Hadrian.Haskell.Cabal.Parse
40                        , Hadrian.Oracles.ArgsHash
41                        , Hadrian.Oracles.Cabal
42                        , Hadrian.Oracles.Cabal.Rules
43                        , Hadrian.Oracles.Cabal.Type
44                        , Hadrian.Oracles.DirectoryContents
45                        , Hadrian.Oracles.Path
46                        , Hadrian.Oracles.TextFile
47                        , Hadrian.Package
48                        , Hadrian.Target
49                        , Hadrian.Utilities
50                        , Oracles.Flag
51                        , Oracles.Flavour
52                        , Oracles.Setting
53                        , Oracles.ModuleFiles
54                        , Oracles.TestSettings
55                        , Packages
56                        , Rules
57                        , Rules.BinaryDist
58                        , Rules.Clean
59                        , Rules.Compile
60                        , Rules.Configure
61                        , Rules.Dependencies
62                        , Rules.Documentation
63                        , Rules.Generate
64                        , Rules.Gmp
65                        , Rules.Libffi
66                        , Rules.Library
67                        , Rules.Nofib
68                        , Rules.Program
69                        , Rules.Register
70                        , Rules.Rts
71                        , Rules.Selftest
72                        , Rules.SimpleTargets
73                        , Rules.SourceDist
74                        , Rules.Test
75                        , Settings
76                        , Settings.Builders.Alex
77                        , Settings.Builders.Cabal
78                        , Settings.Builders.Common
79                        , Settings.Builders.Cc
80                        , Settings.Builders.Configure
81                        , Settings.Builders.DeriveConstants
82                        , Settings.Builders.GenPrimopCode
83                        , Settings.Builders.Ghc
84                        , Settings.Builders.GhcPkg
85                        , Settings.Builders.Haddock
86                        , Settings.Builders.Happy
87                        , Settings.Builders.Hsc2Hs
88                        , Settings.Builders.HsCpp
89                        , Settings.Builders.Ld
90                        , Settings.Builders.Make
91                        , Settings.Builders.RunTest
92                        , Settings.Builders.Xelatex
93                        , Settings.Default
94                        , Settings.Flavours.Benchmark
95                        , Settings.Flavours.Common
96                        , Settings.Flavours.Development
97                        , Settings.Flavours.Llvm
98                        , Settings.Flavours.Performance
99                        , Settings.Flavours.Profiled
100                        , Settings.Flavours.Quick
101                        , Settings.Flavours.QuickCross
102                        , Settings.Flavours.Quickest
103                        , Settings.Flavours.GhcInGhci
104                        , Settings.Flavours.Validate
105                        , Settings.Packages
106                        , Settings.Parser
107                        , Settings.Program
108                        , Settings.Warnings
109                        , Stage
110                        , Target
111                        , UserSettings
112                        , Utilities
113                        , Way
114                        , Way.Type
115     default-language:    Haskell2010
116     default-extensions:  DeriveFunctor
117                        , DeriveGeneric
118                        , FlexibleInstances
119                        , GeneralizedNewtypeDeriving
120                        , LambdaCase
121                        , RecordWildCards
122                        , ScopedTypeVariables
123                        , TupleSections
124     other-extensions:    MultiParamTypeClasses
125                        , TypeFamilies
126     build-depends:       base                 >= 4.8     && < 5
127                        , Cabal                >= 3.0     && < 3.1
128                        , containers           >= 0.5     && < 0.7
129                        , directory            >= 1.3.1.0 && < 1.4
130                        , extra                >= 1.4.7
131                        , filepath
132                        , mtl                  == 2.2.*
133                        , parsec               >= 3.1     && < 3.2
134                        , QuickCheck           >= 2.6     && < 2.14
135                        , shake                >= 0.18.3
136                        , transformers         >= 0.4     && < 0.6
137                        , unordered-containers >= 0.2.1   && < 0.3
138     build-tools:         alex  >= 3.1
139                        , happy >= 1.19.10
140     ghc-options:       -Wall
141                        -Wincomplete-record-updates
142                        -Wredundant-constraints
143                        -fno-warn-name-shadowing
144                        -rtsopts
145                        -- * -I0: Disable idle GC to avoid redundant GCs while
146                        --        waiting for external processes
147                        -- * -qg: Don't use parallel GC as the synchronization
148                        --        time tends to eat any benefit.
149                        "-with-rtsopts=-I0 -qg"
150                        -threaded