Merge commit '7b0b9f603bb1215e2b7af23c2404d637b95a4988' as 'hadrian'
[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://github.com/snowleopard/hadrian
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                        , Environment
26                        , Expression
27                        , Flavour
28                        , GHC
29                        , Hadrian.Builder
30                        , Hadrian.Builder.Ar
31                        , Hadrian.Builder.Sphinx
32                        , Hadrian.Builder.Tar
33                        , Hadrian.Expression
34                        , Hadrian.Haskell.Cabal
35                        , Hadrian.Haskell.Cabal.Parse
36                        , Hadrian.Oracles.ArgsHash
37                        , Hadrian.Oracles.DirectoryContents
38                        , Hadrian.Oracles.Path
39                        , Hadrian.Oracles.TextFile
40                        , Hadrian.Package
41                        , Hadrian.Target
42                        , Hadrian.Utilities
43                        , Oracles.Flag
44                        , Oracles.Setting
45                        , Oracles.ModuleFiles
46                        , Oracles.PackageData
47                        , Rules
48                        , Rules.Clean
49                        , Rules.Compile
50                        , Rules.Configure
51                        , Rules.PackageData
52                        , Rules.Dependencies
53                        , Rules.Documentation
54                        , Rules.Generate
55                        , Rules.Gmp
56                        , Rules.Install
57                        , Rules.Libffi
58                        , Rules.Library
59                        , Rules.Program
60                        , Rules.Register
61                        , Rules.Selftest
62                        , Rules.SourceDist
63                        , Rules.Test
64                        , Rules.Wrappers
65                        , Settings
66                        , Settings.Builders.Alex
67                        , Settings.Builders.Common
68                        , Settings.Builders.Cc
69                        , Settings.Builders.Configure
70                        , Settings.Builders.DeriveConstants
71                        , Settings.Builders.GenPrimopCode
72                        , Settings.Builders.Ghc
73                        , Settings.Builders.GhcCabal
74                        , Settings.Builders.GhcPkg
75                        , Settings.Builders.Haddock
76                        , Settings.Builders.Happy
77                        , Settings.Builders.Hsc2Hs
78                        , Settings.Builders.HsCpp
79                        , Settings.Builders.Ld
80                        , Settings.Builders.Make
81                        , Settings.Builders.Xelatex
82                        , Settings.Default
83                        , Settings.Flavours.Development
84                        , Settings.Flavours.Performance
85                        , Settings.Flavours.Profiled
86                        , Settings.Flavours.Quick
87                        , Settings.Flavours.QuickCross
88                        , Settings.Flavours.Quickest
89                        , Settings.Packages.Base
90                        , Settings.Packages.Cabal
91                        , Settings.Packages.Compiler
92                        , Settings.Packages.Ghc
93                        , Settings.Packages.GhcCabal
94                        , Settings.Packages.Ghci
95                        , Settings.Packages.GhcPkg
96                        , Settings.Packages.GhcPrim
97                        , Settings.Packages.Haddock
98                        , Settings.Packages.Haskeline
99                        , Settings.Packages.IntegerGmp
100                        , Settings.Packages.Rts
101                        , Settings.Packages.RunGhc
102                        , Settings.Warnings
103                        , Stage
104                        , Target
105                        , UserSettings
106                        , Utilities
107                        , Way
108     default-language:    Haskell2010
109     default-extensions:  DeriveFunctor
110                        , DeriveGeneric
111                        , FlexibleInstances
112                        , GeneralizedNewtypeDeriving
113                        , LambdaCase
114                        , RecordWildCards
115                        , ScopedTypeVariables
116                        , TupleSections
117     other-extensions:    MultiParamTypeClasses
118                        , TypeFamilies
119     build-depends:       base >= 4.8 && < 5
120                        , ansi-terminal        == 0.6.*
121                        , Cabal                == 2.0.0.2
122                        , containers           == 0.5.*
123                        , directory            >= 1.2 && < 1.4
124                        , extra                >= 1.4.7
125                        , mtl                  == 2.2.*
126                        , QuickCheck           >= 2.6 && < 2.10
127                        , shake                == 0.16.*
128                        , transformers         >= 0.4 && < 0.6
129                        , unordered-containers == 0.2.*
130     build-tools:         alex  >= 3.1
131                        , happy >= 1.19.4
132     ghc-options:       -Wall
133                        -Wincomplete-record-updates
134                        -Wredundant-constraints
135                        -fno-warn-name-shadowing
136                        -rtsopts
137                        -- * -I0: Disable idle GC to avoid redundant GCs while
138                        --        waiting for external processes
139                        -- * -qg: Don't use parallel GC as the synchronization
140                        --        time tends to eat any benefit.
141                        "-with-rtsopts=-I0 -qg"
142                        -threaded