hadrian.cabal 6.01 KB
Newer Older
Andrey Mokhov's avatar
Andrey Mokhov committed
1
name:                hadrian
2 3 4 5
version:             0.1.0.0
synopsis:            GHC build system
license:             BSD3
license-file:        LICENSE
Andrey Mokhov's avatar
Andrey Mokhov committed
6 7
author:              Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
maintainer:          Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
8
copyright:           Andrey Mokhov 2014-2017
9 10 11 12 13 14
category:            Development
build-type:          Simple
cabal-version:       >=1.10

source-repository head
    type:     git
Andrey Mokhov's avatar
Andrey Mokhov committed
15
    location: https://github.com/snowleopard/hadrian
16

17
executable hadrian
18
    main-is:             Main.hs
kaiha's avatar
kaiha committed
19 20
    hs-source-dirs:      .
                       , src
21 22
    other-modules:       Base
                       , Builder
23
                       , CommandLine
24
                       , Context
25
                       , Context.Path
26
                       , Context.Type
27
                       , Environment
28
                       , Expression
29
                       , Expression.Type
Andrey Mokhov's avatar
Andrey Mokhov committed
30
                       , Flavour
31
                       , GHC
32
                       , GHC.Packages
33
                       , Hadrian.Builder
34
                       , Hadrian.Builder.Ar
35
                       , Hadrian.Builder.Sphinx
36
                       , Hadrian.Builder.Tar
37
                       , Hadrian.Expression
38
                       , Hadrian.Haskell.Cabal
39
                       , Hadrian.Haskell.Cabal.CabalData
40
                       , Hadrian.Haskell.Cabal.PackageData
41
                       , Hadrian.Haskell.Cabal.Parse
42
                       , Hadrian.Oracles.ArgsHash
43
                       , Hadrian.Oracles.DirectoryContents
44
                       , Hadrian.Oracles.Path
45
                       , Hadrian.Oracles.TextFile
46 47
                       , Hadrian.Oracles.TextFile.Rules
                       , Hadrian.Oracles.TextFile.Type
48
                       , Hadrian.Package
49
                       , Hadrian.Package.Type
50
                       , Hadrian.Target
51
                       , Hadrian.Utilities
52 53
                       , Oracles.Flag
                       , Oracles.Setting
54
                       , Oracles.ModuleFiles
55
                       , Oracles.TestSettings
56
                       , Rules
57
                       , Rules.BinaryDist
Andrey Mokhov's avatar
Andrey Mokhov committed
58
                       , Rules.Clean
59
                       , Rules.Compile
60
                       , Rules.Configure
61 62 63
                       , Rules.Dependencies
                       , Rules.Documentation
                       , Rules.Generate
64
                       , Rules.Gmp
Andrey Mokhov's avatar
Andrey Mokhov committed
65
                       , Rules.Libffi
66
                       , Rules.Library
67
                       , Rules.Nofib
68
                       , Rules.Program
69
                       , Rules.Register
70
                       , Rules.Selftest
kaiha's avatar
kaiha committed
71
                       , Rules.SourceDist
72
                       , Rules.Test
73 74
                       , Settings
                       , Settings.Builders.Alex
75
                       , Settings.Builders.Cabal
Andrey Mokhov's avatar
Andrey Mokhov committed
76
                       , Settings.Builders.Common
Andrey Mokhov's avatar
Andrey Mokhov committed
77
                       , Settings.Builders.Cc
Andrey Mokhov's avatar
Andrey Mokhov committed
78
                       , Settings.Builders.Configure
79
                       , Settings.Builders.DeriveConstants
80 81 82 83 84 85 86 87
                       , Settings.Builders.GenPrimopCode
                       , Settings.Builders.Ghc
                       , Settings.Builders.GhcPkg
                       , Settings.Builders.Haddock
                       , Settings.Builders.Happy
                       , Settings.Builders.Hsc2Hs
                       , Settings.Builders.HsCpp
                       , Settings.Builders.Ld
Andrey Mokhov's avatar
Andrey Mokhov committed
88
                       , Settings.Builders.Make
89
                       , Settings.Builders.RunTest
90
                       , Settings.Builders.Xelatex
91
                       , Settings.Default
Andrey Mokhov's avatar
Andrey Mokhov committed
92
                       , Settings.Flavours.Development
Andrey Mokhov's avatar
Andrey Mokhov committed
93 94
                       , Settings.Flavours.Performance
                       , Settings.Flavours.Profiled
95
                       , Settings.Flavours.Quick
96
                       , Settings.Flavours.QuickCross
Andrey Mokhov's avatar
Andrey Mokhov committed
97
                       , Settings.Flavours.Quickest
98
                       , Settings.Packages
99
                       , Settings.Warnings
100 101
                       , Stage
                       , Target
102
                       , UserSettings
103
                       , Utilities
104
                       , Way
105
                       , Way.Type
106
    default-language:    Haskell2010
107
    default-extensions:  DeriveFunctor
108
                       , DeriveGeneric
109
                       , FlexibleInstances
110 111
                       , GeneralizedNewtypeDeriving
                       , LambdaCase
112
                       , RecordWildCards
113
                       , ScopedTypeVariables
114 115
                       , TupleSections
    other-extensions:    MultiParamTypeClasses
116
                       , TypeFamilies
117
    build-depends:       base                 >= 4.8     && < 5
Ben Gamari's avatar
Ben Gamari committed
118
                       , Cabal                >= 2.4     && < 2.5
119
                       , containers           == 0.5.*
120
                       , directory            >= 1.2     && < 1.4
Andrey Mokhov's avatar
Andrey Mokhov committed
121
                       , extra                >= 1.4.7
Andrey Mokhov's avatar
Andrey Mokhov committed
122
                       , mtl                  == 2.2.*
123
                       , parsec               >= 3.1     && < 3.2
124
                       , QuickCheck           >= 2.6     && < 2.11
Tao He's avatar
Tao He committed
125
                       , shake                >= 0.16.1
126 127
                       , transformers         >= 0.4     && < 0.6
                       , unordered-containers >= 0.2.1   && < 0.3
128 129
    build-tools:         alex  >= 3.1
                       , happy >= 1.19.4
Andrey Mokhov's avatar
Andrey Mokhov committed
130 131 132 133 134
    ghc-options:       -Wall
                       -Wincomplete-record-updates
                       -Wredundant-constraints
                       -fno-warn-name-shadowing
                       -rtsopts
Ben Gamari's avatar
Ben Gamari committed
135 136 137 138 139
                       -- * -I0: Disable idle GC to avoid redundant GCs while
                       --        waiting for external processes
                       -- * -qg: Don't use parallel GC as the synchronization
                       --        time tends to eat any benefit.
                       "-with-rtsopts=-I0 -qg"
Andrey Mokhov's avatar
Andrey Mokhov committed
140
                       -threaded