hadrian.cabal 6.25 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
Andrey Mokhov's avatar
Andrey Mokhov committed
8
copyright:           Andrey Mokhov 2014-2016
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
Andrey Mokhov's avatar
Andrey Mokhov committed
23
                       , CmdLineFlag
24
                       , Context
25
                       , Environment
26
                       , Expression
Andrey Mokhov's avatar
Andrey Mokhov committed
27
                       , Flavour
28
                       , GHC
29
                       , Hadrian.Expression
30
                       , Hadrian.Oracles.ArgsHash
31
                       , Hadrian.Oracles.DirectoryContents
32
                       , Hadrian.Target
33
                       , Hadrian.Utilities
34 35 36 37 38 39
                       , Oracles.Config
                       , Oracles.Config.Flag
                       , Oracles.Config.Setting
                       , Oracles.Dependencies
                       , Oracles.ModuleFiles
                       , Oracles.PackageData
40
                       , Oracles.Path
41
                       , Package
42
                       , Predicate
43 44
                       , Rules
                       , Rules.Cabal
Andrey Mokhov's avatar
Andrey Mokhov committed
45
                       , Rules.Clean
46
                       , Rules.Compile
47
                       , Rules.Configure
48 49 50 51
                       , Rules.Data
                       , Rules.Dependencies
                       , Rules.Documentation
                       , Rules.Generate
52
                       , Rules.Generators.Common
53
                       , Rules.Generators.ConfigHs
54 55 56
                       , Rules.Generators.GhcAutoconfH
                       , Rules.Generators.GhcBootPlatformH
                       , Rules.Generators.GhcPlatformH
57
                       , Rules.Generators.GhcSplit
58
                       , Rules.Generators.GhcVersionH
59
                       , Rules.Generators.VersionHs
60
                       , Rules.Gmp
Zhen Zhang's avatar
Zhen Zhang committed
61
                       , Rules.Install
Andrey Mokhov's avatar
Andrey Mokhov committed
62
                       , Rules.Libffi
63 64
                       , Rules.Library
                       , Rules.Oracles
Moritz Angermann's avatar
Moritz Angermann committed
65
                       , Rules.Perl
66
                       , Rules.Program
67
                       , Rules.Register
68
                       , Rules.Selftest
kaiha's avatar
kaiha committed
69
                       , Rules.SourceDist
70
                       , Rules.Test
71
                       , Rules.Wrappers
72 73 74
                       , Settings
                       , Settings.Builders.Alex
                       , Settings.Builders.Ar
Andrey Mokhov's avatar
Andrey Mokhov committed
75
                       , Settings.Builders.Common
Andrey Mokhov's avatar
Andrey Mokhov committed
76
                       , Settings.Builders.Cc
Andrey Mokhov's avatar
Andrey Mokhov committed
77
                       , Settings.Builders.Configure
78
                       , Settings.Builders.DeriveConstants
79 80 81 82 83 84 85 86 87
                       , Settings.Builders.GenPrimopCode
                       , Settings.Builders.Ghc
                       , Settings.Builders.GhcCabal
                       , 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
Andrey Mokhov's avatar
Andrey Mokhov committed
89
                       , Settings.Builders.Tar
90
                       , Settings.Default
Andrey Mokhov's avatar
Andrey Mokhov committed
91
                       , Settings.Flavours.Development
Andrey Mokhov's avatar
Andrey Mokhov committed
92 93
                       , Settings.Flavours.Performance
                       , Settings.Flavours.Profiled
94
                       , Settings.Flavours.Quick
Andrey Mokhov's avatar
Andrey Mokhov committed
95
                       , Settings.Flavours.Quickest
96
                       , Settings.Packages.Base
97
                       , Settings.Packages.Cabal
Andrey Mokhov's avatar
Andrey Mokhov committed
98
                       , Settings.Packages.Compiler
99 100
                       , Settings.Packages.Ghc
                       , Settings.Packages.GhcCabal
101
                       , Settings.Packages.Ghci
102 103 104
                       , Settings.Packages.GhcPrim
                       , Settings.Packages.Haddock
                       , Settings.Packages.IntegerGmp
Andrey Mokhov's avatar
Andrey Mokhov committed
105
                       , Settings.Packages.Rts
106
                       , Settings.Packages.RunGhc
107
                       , Settings.Path
108
                       , Settings.Install
109 110
                       , Stage
                       , Target
111
                       , UserSettings
112
                       , Util
113 114
                       , Way

115
    default-language:    Haskell2010
116
    default-extensions:  RecordWildCards
117 118
    other-extensions:    DeriveFunctor
                       , DeriveGeneric
119
                       , FlexibleInstances
120 121
                       , GeneralizedNewtypeDeriving
                       , LambdaCase
122
                       , OverloadedStrings
123
                       , ScopedTypeVariables
124 125
    build-depends:       base >= 4.8 && < 5
                       , ansi-terminal        == 0.6.*
126
                       , Cabal                == 2.0.0.2
127
                       , containers           == 0.5.*
Andrey Mokhov's avatar
Andrey Mokhov committed
128
                       , directory            >= 1.2 && < 1.4
Andrey Mokhov's avatar
Andrey Mokhov committed
129
                       , extra                >= 1.4.7
130
                       , mtl                  == 2.2.*
Andrey Mokhov's avatar
Andrey Mokhov committed
131
                       , QuickCheck           >= 2.6 && < 2.10
Andrey Mokhov's avatar
Andrey Mokhov committed
132
                       , shake                >= 0.15.6
133 134
                       , transformers         >= 0.4 && < 0.6
                       , unordered-containers == 0.2.*
135 136
    build-tools:         alex  >= 3.1
                       , happy >= 1.19.4
Andrey Mokhov's avatar
Andrey Mokhov committed
137 138 139 140 141 142 143 144 145 146 147 148
    ghc-options:       -Wall
                       -Wincomplete-record-updates
                       -Wredundant-constraints
                       -fno-warn-name-shadowing
                       -rtsopts
                       -- Disable idle GC to avoid redundant GCs while waiting
                       -- for external processes
                       -with-rtsopts=-I0
                       -- Don't use parallel GC as the synchronization time tends to eat any
                       -- benefit.
                       -with-rtsopts=-qg0
                       -threaded