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