ghc.cabal.in 11.3 KB
Newer Older
Ian Lynagh's avatar
Ian Lynagh committed
1 2 3
-- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by
-- ./configure.  Make sure you are editing ghc.cabal.in, not ghc.cabal.

4
Name: ghc
5
Version: @ProjectVersion@
6
License: BSD3
7
License-File: ../LICENSE
8
Author: The GHC Team
9 10
Maintainer: glasgow-haskell-users@haskell.org
Homepage: http://www.haskell.org/ghc/
11
Synopsis: The GHC API
12
Description:
13 14 15 16 17 18 19
    GHC's functionality can be useful for more things than just
    compiling Haskell programs. Important use cases are programs
    that analyse (and perhaps transform) Haskell code. Others
    include loading Haskell code dynamically in a GHCi-like manner.
    For this reason, a lot of GHC's functionality is made available
    through this package.
Category: Development
20
Build-Type: Simple
Ian Lynagh's avatar
Ian Lynagh committed
21
Cabal-Version: >= 1.2.3
22 23 24

Flag ghci
    Description: Build GHCi support.
25 26
    Default: False
    Manual: True
27 28 29

Flag stage1
    Description: Is this stage 1?
Ian Lynagh's avatar
Ian Lynagh committed
30
    Default: False
31
    Manual: True
Ian Lynagh's avatar
Ian Lynagh committed
32 33 34 35

Flag stage2
    Description: Is this stage 2?
    Default: False
36
    Manual: True
Ian Lynagh's avatar
Ian Lynagh committed
37 38 39 40

Flag stage3
    Description: Is this stage 3?
    Default: False
41
    Manual: True
42 43

Library
44 45
    Exposed: False

Ian Lynagh's avatar
Ian Lynagh committed
46
    Build-Depends: base       >= 4   && < 5,
pcapriotti's avatar
pcapriotti committed
47
                   directory  >= 1   && < 1.3,
ian@well-typed.com's avatar
ian@well-typed.com committed
48
                   process    >= 1   && < 1.3,
Ian Lynagh's avatar
Ian Lynagh committed
49 50 51 52 53 54
                   bytestring >= 0.9 && < 0.11,
                   time                 < 1.5,
                   containers >= 0.1 && < 0.6,
                   array      >= 0.1 && < 0.5,
                   filepath   >= 1   && < 1.4,
                   Cabal,
55 56
                   hpc,
                   transformers
Ian Lynagh's avatar
Ian Lynagh committed
57

58
    if flag(stage1) && impl(ghc < 7.5)
59
        Build-Depends: old-time   >= 1   && < 1.2
60

61
    if os(windows)
62 63 64 65
        Build-Depends: Win32
    else
        Build-Depends: unix

66
    GHC-Options: -Wall -fno-warn-name-shadowing
67 68 69 70

    if flag(ghci)
        Build-Depends: template-haskell
        CPP-Options: -DGHCI
71
        Include-Dirs: ../rts/dist/build @FFIIncludeDir@
72

73
    Build-Depends: bin-package-db
74
    Build-Depends: hoopl
75

76 77 78
    Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
                ForeignFunctionInterface, EmptyDataDecls,
                TypeSynonymInstances, MultiParamTypeClasses,
79
                FlexibleInstances, RankNTypes, ScopedTypeVariables,
80
                DeriveDataTypeable, BangPatterns
81 82
    if impl(ghc >= 7.1)
        Extensions: NondecreasingIndentation
83 84 85 86 87 88

    Include-Dirs: . parser utils

    if flag(stage1)
        Include-Dirs: stage1
    else
Ian Lynagh's avatar
Ian Lynagh committed
89 90 91 92 93 94
        if flag(stage2)
            Include-Dirs: stage2
        else
            if flag(stage3)
                Include-Dirs: stage2

95 96 97 98 99
    Install-Includes: HsVersions.h, ghc_boot_platform.h

    c-sources:
        parser/cutils.c

100 101
    c-sources:
        ghci/keepCAFsForGHCi.c
102
        cbits/genSym.c
103 104 105 106 107 108 109 110 111 112

    hs-source-dirs:
        basicTypes
        cmm
        codeGen
        coreSyn
        deSugar
        ghci
        hsSyn
        iface
113
        llvmGen
114
        main
115
        nativeGen
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
        parser
        prelude
        profiling
        rename
        simplCore
        simplStg
        specialise
        stgSyn
        stranal
        typecheck
        types
        utils
        vectorise

    Exposed-Modules:
131
        Avail
132 133 134
        BasicTypes
        DataCon
        Demand
135
        Exception
136
        GhcMonad
137 138 139
        Id
        IdInfo
        Literal
140 141
        Llvm
        Llvm.AbsSyn
142
        Llvm.MetaData
143 144 145 146 147 148 149 150
        Llvm.PpLlvm
        Llvm.Types
        LlvmCodeGen
        LlvmCodeGen.Base
        LlvmCodeGen.CodeGen
        LlvmCodeGen.Data
        LlvmCodeGen.Ppr
        LlvmCodeGen.Regs
151
        LlvmMangler
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
        MkId
        Module
        Name
        NameEnv
        NameSet
        OccName
        RdrName
        SrcLoc
        UniqSupply
        Unique
        Var
        VarEnv
        VarSet
        BlockId
        CLabel
        Cmm
168
        CmmBuildInfoTables
Edward Z. Yang's avatar
Edward Z. Yang committed
169
        CmmPipeline
170
        CmmCallConv
171
        CmmCommonBlockElim
172 173 174 175 176 177
        CmmContFlowOpt
        CmmExpr
        CmmInfo
        CmmLex
        CmmLint
        CmmLive
178 179
        CmmMachOp
        CmmNode
180 181 182
        CmmOpt
        CmmParse
        CmmProcPoint
183
        CmmRewriteAssignments
184
        CmmSink
185
        CmmType
186
        CmmUtils
Simon Marlow's avatar
Simon Marlow committed
187
        CmmLayoutStack
188
        MkGraph
189
        PprBase
190 191
        PprC
        PprCmm
192 193
        PprCmmDecl
        PprCmmExpr
194
        Bitmap
195
        CodeGen.Platform
196 197 198 199 200 201 202
        CodeGen.Platform.ARM
        CodeGen.Platform.NoRegs
        CodeGen.Platform.PPC
        CodeGen.Platform.PPC_Darwin
        CodeGen.Platform.SPARC
        CodeGen.Platform.X86
        CodeGen.Platform.X86_64
203
        CgUtils
204 205 206 207 208 209 210 211 212
        StgCmm
        StgCmmBind
        StgCmmClosure
        StgCmmCon
        StgCmmEnv
        StgCmmExpr
        StgCmmForeign
        StgCmmHeap
        StgCmmHpc
nfrisby's avatar
nfrisby committed
213
        StgCmmArgRep
214 215 216 217 218 219
        StgCmmLayout
        StgCmmMonad
        StgCmmPrim
        StgCmmProf
        StgCmmTicky
        StgCmmUtils
220
        StgCmmExtCode
221
        SMRep
222
        CoreArity
223 224 225 226 227
        CoreFVs
        CoreLint
        CorePrep
        CoreSubst
        CoreSyn
Simon Peyton Jones's avatar
Simon Peyton Jones committed
228
        TrieMap
229 230 231 232
        CoreTidy
        CoreUnfold
        CoreUtils
        ExternalCore
233
        MkCore
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
        MkExternalCore
        PprCore
        PprExternalCore
        Check
        Coverage
        Desugar
        DsArrows
        DsBinds
        DsCCall
        DsExpr
        DsForeign
        DsGRHSs
        DsListComp
        DsMonad
        DsUtils
        Match
        MatchCon
        MatchLit
        HsBinds
        HsDecls
        HsDoc
        HsExpr
        HsImpExp
        HsLit
        HsPat
        HsSyn
        HsTypes
        HsUtils
        BinIface
        BuildTyCl
        IfaceEnv
        IfaceSyn
        IfaceType
        LoadIface
        MkIface
        TcIface
270
        FlagChecker
271
        Annotations
272 273 274 275 276 277 278 279 280 281 282 283
        BreakArray
        CmdLineParser
        CodeOutput
        Config
        Constants
        DriverMkDepend
        DriverPhases
        DriverPipeline
        DynFlags
        ErrUtils
        Finder
        GHC
284
        GhcMake
285 286
        GhcPlugins
        DynamicLoading
287 288 289 290 291
        HeaderInfo
        HscMain
        HscStats
        HscTypes
        InteractiveEval
292
        InteractiveEvalTypes
293 294
        PackageConfig
        Packages
295
        PlatformConstants
296 297 298 299 300 301 302 303
        PprTyThing
        StaticFlags
        SysTools
        TidyPgm
        Ctype
        HaddockUtils
        LexCore
        Lexer
304
        OptCoercion
305 306 307 308 309 310 311 312 313 314 315 316
        Parser
        ParserCore
        ParserCoreUtils
        RdrHsSyn
        ForeignCall
        PrelInfo
        PrelNames
        PrelRules
        PrimOp
        TysPrim
        TysWiredIn
        CostCentre
317
        ProfInit
318 319 320 321 322 323 324 325 326
        SCCfinal
        RnBinds
        RnEnv
        RnExpr
        RnHsDoc
        RnNames
        RnPat
        RnSource
        RnTypes
327
        CoreMonad
328 329 330 331 332 333 334 335 336 337 338 339 340 341
        CSE
        FloatIn
        FloatOut
        LiberateCase
        OccurAnal
        SAT
        SetLevels
        SimplCore
        SimplEnv
        SimplMonad
        SimplUtils
        Simplify
        SimplStg
        StgStats
342
        UnariseStg
343 344 345 346 347 348 349 350 351 352 353
        Rules
        SpecConstr
        Specialise
        CoreToStg
        StgLint
        StgSyn
        DmdAnal
        WorkWrap
        WwLib
        FamInst
        Inst
354
        TcAnnotations
355 356 357 358 359 360 361 362 363
        TcArrows
        TcBinds
        TcClassDcl
        TcDefaults
        TcDeriv
        TcEnv
        TcExpr
        TcForeign
        TcGenDeriv
364
        TcGenGenerics
365 366 367 368
        TcHsSyn
        TcHsType
        TcInstDcls
        TcMType
369
        TcValidity
370 371 372 373 374 375 376
        TcMatches
        TcPat
        TcRnDriver
        TcRnMonad
        TcRnTypes
        TcRules
        TcSimplify
377
        TcErrors
378 379 380
        TcTyClsDecls
        TcTyDecls
        TcType
381
        TcEvidence
382
        TcUnify
383 384 385
        TcInteract
        TcCanonical
        TcSMonad
386 387 388 389 390 391
        Class
        Coercion
        FamInstEnv
        FunDeps
        InstEnv
        TyCon
392
        CoAxiom
393
        Kind
394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
        Type
        TypeRep
        Unify
        Bag
        Binary
        BufWrite
        Digraph
        Encoding
        FastBool
        FastFunctions
        FastMutInt
        FastString
        FastTypes
        Fingerprint
        FiniteMap
        GraphBase
        GraphColor
        GraphOps
        GraphPpr
        IOEnv
        ListSetOps
        Maybes
        MonadUtils
        OrdList
        Outputable
419
        Pair
420 421
        Panic
        Pretty
422
        Serialized
423
        State
424
        Stream
425 426 427 428
        StringBuffer
        UniqFM
        UniqSet
        Util
429
        Vectorise.Builtins.Base
430 431 432 433 434 435 436 437
        Vectorise.Builtins.Initialise
        Vectorise.Builtins
        Vectorise.Monad.Base
        Vectorise.Monad.Naming
        Vectorise.Monad.Local
        Vectorise.Monad.Global
        Vectorise.Monad.InstEnv
        Vectorise.Monad
438 439 440 441 442 443
        Vectorise.Utils.Base
        Vectorise.Utils.Closure
        Vectorise.Utils.Hoisting
        Vectorise.Utils.PADict
        Vectorise.Utils.Poly
        Vectorise.Utils
444 445 446
        Vectorise.Generic.Description
        Vectorise.Generic.PAMethods
        Vectorise.Generic.PADict
447
        Vectorise.Generic.PData
448 449 450 451 452 453 454 455 456
        Vectorise.Type.Env
        Vectorise.Type.Type
        Vectorise.Type.TyConDecl
        Vectorise.Type.Classify
        Vectorise.Convert
        Vectorise.Vect
        Vectorise.Var
        Vectorise.Env
        Vectorise.Exp
457
        Vectorise
Simon Marlow's avatar
Simon Marlow committed
458 459
        Hoopl.Dataflow
        Hoopl
460

Simon Marlow's avatar
Simon Marlow committed
461 462 463
--        CgInfoTbls used in ghci/DebuggerUtils
--        CgHeapery  mkVirtHeapOffsets used in ghci

464
    Exposed-Modules:
465
            AsmCodeGen
466 467 468 469 470 471 472 473
            TargetReg
            NCGMonad
            Instruction
            Size
            Reg
            RegClass
            PIC
            Platform
tibbe's avatar
tibbe committed
474
            CPrim
475
            X86.Regs
476
            X86.RegInfo
477
            X86.Instr
478
            X86.Cond
479
            X86.Ppr
480
            X86.CodeGen
481
            PPC.Regs
482
            PPC.RegInfo
483
            PPC.Instr
484
            PPC.Cond
485
            PPC.Ppr
486
            PPC.CodeGen
487
            SPARC.Base
488
            SPARC.Regs
489
            SPARC.Imm
Simon Marlow's avatar
Simon Marlow committed
490
            SPARC.AddrMode
491
            SPARC.Cond
492
            SPARC.Instr
Simon Marlow's avatar
Simon Marlow committed
493
            SPARC.Stack
494
            SPARC.ShortcutJump
495
            SPARC.Ppr
496
            SPARC.CodeGen
497 498 499 500 501
            SPARC.CodeGen.Amode
            SPARC.CodeGen.Base
            SPARC.CodeGen.CondCode
            SPARC.CodeGen.Gen32
            SPARC.CodeGen.Gen64
502
            SPARC.CodeGen.Sanity
503
            SPARC.CodeGen.Expand
504
            RegAlloc.Liveness
505 506 507 508 509 510 511 512
            RegAlloc.Graph.Main
            RegAlloc.Graph.Stats
            RegAlloc.Graph.ArchBase
            RegAlloc.Graph.ArchX86
            RegAlloc.Graph.Coalesce
            RegAlloc.Graph.Spill
            RegAlloc.Graph.SpillClean
            RegAlloc.Graph.SpillCost
513
            RegAlloc.Graph.TrivColorable
514 515 516 517 518 519 520 521
            RegAlloc.Linear.Main
            RegAlloc.Linear.JoinToTargets
            RegAlloc.Linear.State
            RegAlloc.Linear.Stats
            RegAlloc.Linear.FreeRegs
            RegAlloc.Linear.StackMap
            RegAlloc.Linear.Base
            RegAlloc.Linear.X86.FreeRegs
ian@well-typed.com's avatar
ian@well-typed.com committed
522
            RegAlloc.Linear.X86_64.FreeRegs
523 524
            RegAlloc.Linear.PPC.FreeRegs
            RegAlloc.Linear.SPARC.FreeRegs
525

526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
    if flag(ghci)
        Exposed-Modules:
            DsMeta
            TcSplice
            Convert
            ByteCodeAsm
            ByteCodeGen
            ByteCodeInstr
            ByteCodeItbls
            ByteCodeLink
            Debugger
            LibFFI
            Linker
            ObjLink
            RtClosureInspect
541
            DebuggerUtils