cf5fde03e38b95bc161935c2a2da82e8145c023e
[ghc.git] / ghc / ghc-bin.cabal.in
1 -- WARNING: ghc-bin.cabal is automatically generated from ghc-bin.cabal.in by
2 -- ./configure.  Make sure you are editing ghc-bin.cabal.in, not ghc-bin.cabal.
3
4 Name: ghc-bin
5 Version: @ProjectVersion@
6 Copyright: XXX
7 -- License: XXX
8 -- License-File: XXX
9 Author: XXX
10 Maintainer: glasgow-haskell-users@haskell.org
11 Homepage: http://www.haskell.org/ghc/
12 Synopsis: The Glorious Glasgow Haskell Compiler.
13 Description:
14     This package contains the @ghc@ executable, the user facing front-end
15     to the Glasgow Haskell Compiler.
16 Category: Development
17 Data-Dir: ..
18 Data-Files: settings
19 Build-Type: Simple
20 Cabal-Version: >=1.10
21
22 Flag ghci
23     Description: Build GHCi support.
24     Default: False
25     Manual: True
26
27 Flag ext-interp
28     Description: Build external interpreter support
29     Default: True
30     Manual: True
31
32 Flag threaded
33     Description: Link the ghc executable against the threaded RTS
34     Default: True
35     Manual: True
36
37 Executable ghc
38     Default-Language: Haskell2010
39
40     Main-Is: Main.hs
41     Build-Depends: base       >= 4   && < 5,
42                    array      >= 0.1 && < 0.6,
43                    bytestring >= 0.9 && < 0.11,
44                    directory  >= 1   && < 1.4,
45                    process    >= 1   && < 1.7,
46                    filepath   >= 1   && < 1.5,
47                    ghc-boot   == @ProjectVersionMunged@,
48                    ghc        == @ProjectVersionMunged@
49
50     if os(windows)
51         Build-Depends: Win32  >= 2.3 && < 2.7
52     else
53         Build-Depends: unix   >= 2.7 && < 2.9
54
55     C-Sources: hschooks.c
56
57     GHC-Options: -Wall
58                  -Wnoncanonical-monad-instances
59                  -Wnoncanonical-monoid-instances
60
61     if flag(ghci)
62         -- NB: this is never built by the bootstrapping GHC+libraries
63         Build-depends:
64             containers     >= 0.5 && < 0.7,
65             deepseq        == 1.4.*,
66             ghc-prim       >= 0.5.0 && < 0.7,
67             ghci           == @ProjectVersionMunged@,
68             haskeline      == 0.7.*,
69             time           >= 1.8 && < 1.10,
70             transformers   == 0.5.*
71         CPP-Options: -DHAVE_INTERNAL_INTERPRETER
72         GHC-Options: -fno-warn-name-shadowing
73         Other-Modules:
74             GHCi.Leak
75             GHCi.UI
76             GHCi.UI.Info
77             GHCi.UI.Monad
78             GHCi.UI.Tags
79             GHCi.Util
80         Other-Extensions:
81             BangPatterns
82             FlexibleInstances
83             LambdaCase
84             MagicHash
85             MultiWayIf
86             OverloadedStrings
87             RankNTypes
88             RecordWildCards
89             ScopedTypeVariables
90             UnboxedTuples
91             ViewPatterns
92
93     -- The flag being True by default, this reflects the
94     -- mk/config.mk.in logic for GhcThreaded (which ends up
95     -- always being True as well). One can still opt out by
96     -- disabling this flag.
97     if flag(threaded)
98       ghc-options: -threaded
99
100     if flag(ext-interp)
101       cpp-options: -DHAVE_EXTERNAL_INTERPRETER
102
103     if flag(ghci) || flag(ext-interp)
104       cpp-options: -DHAVE_INTERPRETER
105
106     Other-Extensions:
107         CPP
108         NondecreasingIndentation
109         TupleSections
110
111     -- This should match the default-extensions used in 'ghc.cabal'. This way,
112     -- GHCi can be used to load it all at once.
113     Default-Extensions:
114         NoImplicitPrelude