summaryrefslogtreecommitdiff
path: root/compiler/ghc.cabal.in
blob: d757925444328466a1def6d0ff5be3c80a464b0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
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
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
Cabal-Version: 2.2
-- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by
-- ./configure.  Make sure you are editing ghc.cabal.in, not ghc.cabal.

Name: ghc
Version: @ProjectVersionMunged@
License: BSD-3-Clause
License-File: LICENSE
Author: The GHC Team
Maintainer: glasgow-haskell-users@haskell.org
Homepage: http://www.haskell.org/ghc/
Synopsis: The GHC API
Description:
    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.
    .
    See <https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler>
    for more information.
Category: Development
Build-Type: Custom

extra-source-files:
    GHC/Builtin/primops.txt.pp
    GHC/Builtin/bytearray-ops.txt.pp
    Unique.h
    CodeGen.Platform.h
    -- Shared with rts via hard-link at configure time. This is safer
    -- for Windows, where symlinks don't work out of the box, so we
    -- can't just commit some in git.
    Bytecodes.h
    ClosureTypes.h
    FunTypes.h
    MachRegs.h
    ghc-llvm-version.h


custom-setup
    setup-depends: base >= 3 && < 5, Cabal >= 1.6 && <3.8, directory, process, filepath

Flag internal-interpreter
    Description: Build with internal interpreter support.
    Default: False
    Manual: True

Flag terminfo
    Description: Build GHC with terminfo support on non-Windows platforms.
    Default: True
    Manual: True

Flag dynamic-system-linker
    Description: The system can load dynamic code. This is not the case for musl.
    Default: True
    Manual: True

-- hadrian disables this flag because the user may be building from a source
-- distribution where the parser has already been generated.
Flag build-tool-depends
    Description: Use build-tool-depends
    Default: True

Library
    Default-Language: Haskell2010
    Exposed: False
    Includes: Unique.h
              -- CodeGen.Platform.h -- invalid as C, skip
              -- shared with rts via symlink
              Bytecodes.h
              ClosureTypes.h
              FunTypes.h
              ghc-llvm-version.h

    if flag(build-tool-depends)
      build-tool-depends: alex:alex >= 3.2.6, happy:happy >= 1.20.0, genprimopcode:genprimopcode, deriveConstants:deriveConstants

    Build-Depends: base       >= 4.11 && < 4.17,
                   deepseq    >= 1.4 && < 1.5,
                   directory  >= 1   && < 1.4,
                   process    >= 1   && < 1.7,
                   bytestring >= 0.9 && < 0.12,
                   binary     == 0.8.*,
                   time       >= 1.4 && < 1.13,
                   containers >= 0.6.2.1 && < 0.7,
                   array      >= 0.1 && < 0.6,
                   filepath   >= 1   && < 1.5,
                   template-haskell == 2.18.*,
                   hpc        == 0.6.*,
                   transformers == 0.5.*,
                   exceptions == 0.10.*,
                   stm,
                   ghc-boot   == @ProjectVersionMunged@,
                   ghc-heap   == @ProjectVersionMunged@,
                   ghci == @ProjectVersionMunged@

    if os(windows)
        Build-Depends: Win32  >= 2.3 && < 2.13
    else
        if flag(terminfo)
            Build-Depends: terminfo == 0.4.*
        Build-Depends: unix   >= 2.7 && < 2.9

    GHC-Options: -Wall
                 -Wno-name-shadowing
                 -Wnoncanonical-monad-instances
                 -Wnoncanonical-monoid-instances

    if flag(internal-interpreter)
        CPP-Options: -DHAVE_INTERNAL_INTERPRETER

    -- if no dynamic system linker is available, don't try DLLs.
    if flag(dynamic-system-linker)
        CPP-Options: -DCAN_LOAD_DLL

    Other-Extensions:
        CPP
        DataKinds
        DeriveDataTypeable
        DeriveFoldable
        DeriveFunctor
        DeriveTraversable
        DisambiguateRecordFields
        ExplicitForAll
        FlexibleContexts
        FlexibleInstances
        GADTs
        GeneralizedNewtypeDeriving
        MagicHash
        MultiParamTypeClasses
        NamedFieldPuns
        NondecreasingIndentation
        RankNTypes
        RecordWildCards
        StandaloneDeriving
        Trustworthy
        TupleSections
        TypeFamilies
        TypeSynonymInstances
        UnboxedTuples
        UndecidableInstances

    Include-Dirs: .

    -- We need to set the unit id to ghc (without a version number)
    -- as it's magic.
    GHC-Options: -this-unit-id ghc

    c-sources:
        cbits/cutils.c
        cbits/genSym.c
        cbits/keepCAFsForGHCi.c

    hs-source-dirs:
        .

    -- we use an explicit Prelude
    Default-Extensions:
        NoImplicitPrelude
       ,BangPatterns
       ,ScopedTypeVariables
       ,MonoLocalBinds
       ,TypeOperators

    Exposed-Modules:
        GHC
        GHC.Builtin.Names
        GHC.Builtin.Names.TH
        GHC.Builtin.PrimOps
        GHC.Builtin.PrimOps.Ids
        GHC.Builtin.Types
        GHC.Builtin.Types.Literals
        GHC.Builtin.Types.Prim
        GHC.Builtin.Uniques
        GHC.Builtin.Utils
        GHC.ByteCode.Asm
        GHC.ByteCode.InfoTable
        GHC.ByteCode.Instr
        GHC.ByteCode.Linker
        GHC.ByteCode.Types
        GHC.Cmm
        GHC.Cmm.BlockId
        GHC.Cmm.CallConv
        GHC.Cmm.CLabel
        GHC.Cmm.CommonBlockElim
        GHC.Cmm.Config
        GHC.Cmm.ContFlowOpt
        GHC.Cmm.Dataflow
        GHC.Cmm.Dataflow.Block
        GHC.Cmm.Dataflow.Collections
        GHC.Cmm.Dataflow.Graph
        GHC.Cmm.Dataflow.Label
        GHC.Cmm.DebugBlock
        GHC.Cmm.Expr
        GHC.Cmm.Graph
        GHC.Cmm.Info
        GHC.Cmm.Info.Build
        GHC.Cmm.InitFini
        GHC.Cmm.LayoutStack
        GHC.Cmm.Lexer
        GHC.Cmm.Lint
        GHC.Cmm.Liveness
        GHC.Cmm.MachOp
        GHC.Cmm.Node
        GHC.Cmm.Opt
        GHC.Cmm.Parser
        GHC.Cmm.Parser.Config
        GHC.Cmm.Parser.Monad
        GHC.Cmm.Pipeline
        GHC.Cmm.Ppr
        GHC.Cmm.Ppr.Decl
        GHC.Cmm.Ppr.Expr
        GHC.Cmm.ProcPoint
        GHC.Cmm.Sink
        GHC.Cmm.Switch
        GHC.Cmm.Switch.Implement
        GHC.CmmToAsm
        GHC.Cmm.LRegSet
        GHC.CmmToAsm.AArch64
        GHC.CmmToAsm.AArch64.CodeGen
        GHC.CmmToAsm.AArch64.Cond
        GHC.CmmToAsm.AArch64.Instr
        GHC.CmmToAsm.AArch64.Ppr
        GHC.CmmToAsm.AArch64.RegInfo
        GHC.CmmToAsm.AArch64.Regs
        GHC.CmmToAsm.BlockLayout
        GHC.CmmToAsm.CFG
        GHC.CmmToAsm.CFG.Dominators
        GHC.CmmToAsm.CFG.Weight
        GHC.CmmToAsm.Config
        GHC.CmmToAsm.CPrim
        GHC.CmmToAsm.Dwarf
        GHC.CmmToAsm.Dwarf.Constants
        GHC.CmmToAsm.Dwarf.Types
        GHC.CmmToAsm.Format
        GHC.CmmToAsm.Instr
        GHC.CmmToAsm.Monad
        GHC.CmmToAsm.PIC
        GHC.CmmToAsm.PPC
        GHC.CmmToAsm.PPC.CodeGen
        GHC.CmmToAsm.PPC.Cond
        GHC.CmmToAsm.PPC.Instr
        GHC.CmmToAsm.PPC.Ppr
        GHC.CmmToAsm.PPC.RegInfo
        GHC.CmmToAsm.PPC.Regs
        GHC.CmmToAsm.Ppr
        GHC.CmmToAsm.Reg.Graph
        GHC.CmmToAsm.Reg.Graph.Base
        GHC.CmmToAsm.Reg.Graph.Coalesce
        GHC.CmmToAsm.Reg.Graph.Spill
        GHC.CmmToAsm.Reg.Graph.SpillClean
        GHC.CmmToAsm.Reg.Graph.SpillCost
        GHC.CmmToAsm.Reg.Graph.Stats
        GHC.CmmToAsm.Reg.Graph.TrivColorable
        GHC.CmmToAsm.Reg.Graph.X86
        GHC.CmmToAsm.Reg.Linear
        GHC.CmmToAsm.Reg.Linear.AArch64
        GHC.CmmToAsm.Reg.Linear.Base
        GHC.CmmToAsm.Reg.Linear.FreeRegs
        GHC.CmmToAsm.Reg.Linear.JoinToTargets
        GHC.CmmToAsm.Reg.Linear.PPC
        GHC.CmmToAsm.Reg.Linear.StackMap
        GHC.CmmToAsm.Reg.Linear.State
        GHC.CmmToAsm.Reg.Linear.Stats
        GHC.CmmToAsm.Reg.Linear.X86
        GHC.CmmToAsm.Reg.Linear.X86_64
        GHC.CmmToAsm.Reg.Liveness
        GHC.CmmToAsm.Reg.Target
        GHC.CmmToAsm.Reg.Utils
        GHC.CmmToAsm.Types
        GHC.CmmToAsm.Utils
        GHC.CmmToAsm.X86
        GHC.CmmToAsm.X86.CodeGen
        GHC.CmmToAsm.X86.Cond
        GHC.CmmToAsm.X86.Instr
        GHC.CmmToAsm.X86.Ppr
        GHC.CmmToAsm.X86.RegInfo
        GHC.CmmToAsm.X86.Regs
        GHC.CmmToC
        GHC.CmmToLlvm
        GHC.CmmToLlvm.Base
        GHC.CmmToLlvm.CodeGen
        GHC.CmmToLlvm.Config
        GHC.CmmToLlvm.Data
        GHC.CmmToLlvm.Mangler
        GHC.CmmToLlvm.Ppr
        GHC.CmmToLlvm.Regs
        GHC.Cmm.Dominators
        GHC.Cmm.Type
        GHC.Cmm.Utils
        GHC.Core
        GHC.Core.Class
        GHC.Core.Coercion
        GHC.Core.Coercion.Axiom
        GHC.Core.Coercion.Opt
        GHC.Core.ConLike
        GHC.Core.DataCon
        GHC.Core.FamInstEnv
        GHC.Core.FVs
        GHC.Core.InstEnv
        GHC.Core.Lint
        GHC.Core.LateCC
        GHC.Core.Make
        GHC.Core.Map.Expr
        GHC.Core.Map.Type
        GHC.Core.Multiplicity
        GHC.Core.Opt.Arity
        GHC.Core.Opt.CallArity
        GHC.Core.Opt.CallerCC
        GHC.Core.Opt.ConstantFold
        GHC.Core.Opt.CprAnal
        GHC.Core.Opt.CSE
        GHC.Core.Opt.DmdAnal
        GHC.Core.Opt.Exitify
        GHC.Core.Opt.FloatIn
        GHC.Core.Opt.FloatOut
        GHC.Core.Opt.LiberateCase
        GHC.Core.Opt.Monad
        GHC.Core.Opt.OccurAnal
        GHC.Core.Opt.Pipeline
        GHC.Core.Opt.SetLevels
        GHC.Core.Opt.Simplify
        GHC.Core.Opt.Simplify.Env
        GHC.Core.Opt.Simplify.Monad
        GHC.Core.Opt.Simplify.Utils
        GHC.Core.Opt.SpecConstr
        GHC.Core.Opt.Specialise
        GHC.Core.Opt.StaticArgs
        GHC.Core.Opt.WorkWrap
        GHC.Core.Opt.WorkWrap.Utils
        GHC.Core.PatSyn
        GHC.Core.Ppr
        GHC.Types.TyThing.Ppr
        GHC.Core.Predicate
        GHC.Core.Reduction
        GHC.Core.Rules
        GHC.Core.Rules.Config
        GHC.Core.Seq
        GHC.Core.SimpleOpt
        GHC.Core.Stats
        GHC.Core.Subst
        GHC.Core.Tidy
        GHC.CoreToIface
        GHC.CoreToStg
        GHC.CoreToStg.Prep
        GHC.Core.TyCo.FVs
        GHC.Core.TyCon
        GHC.Core.TyCon.Env
        GHC.Core.TyCon.RecWalk
        GHC.Core.TyCon.Set
        GHC.Core.TyCo.Ppr
        GHC.Core.TyCo.Rep
        GHC.Core.TyCo.Subst
        GHC.Core.TyCo.Tidy
        GHC.Core.Type
        GHC.Core.RoughMap
        GHC.Core.Unfold
        GHC.Core.Unfold.Make
        GHC.Core.Unify
        GHC.Core.UsageEnv
        GHC.Core.Utils
        GHC.Data.Bag
        GHC.Data.Bitmap
        GHC.Data.Bool
        GHC.Data.BooleanFormula
        GHC.Data.EnumSet
        GHC.Data.FastMutInt
        GHC.Data.FastString
        GHC.Data.FastString.Env
        GHC.Data.FiniteMap
        GHC.Data.Graph.Base
        GHC.Data.Graph.Color
        GHC.Data.Graph.Directed
        GHC.Data.Graph.Ops
        GHC.Data.Graph.Ppr
        GHC.Data.Graph.UnVar
        GHC.Data.IOEnv
        GHC.Data.List.SetOps
        GHC.Data.Maybe
        GHC.Data.OrdList
        GHC.Data.Pair
        GHC.Data.SmallArray
        GHC.Data.Stream
        GHC.Data.Strict
        GHC.Data.StringBuffer
        GHC.Data.TrieMap
        GHC.Data.UnionFind
        GHC.Driver.Backend
        GHC.Driver.Backend.Internal
        GHC.Driver.Backpack
        GHC.Driver.Backpack.Syntax
        GHC.Driver.CmdLine
        GHC.Driver.CodeOutput
        GHC.Driver.Config
        GHC.Driver.Config.Cmm
        GHC.Driver.Config.Cmm.Parser
        GHC.Driver.Config.CmmToAsm
        GHC.Driver.Config.CmmToLlvm
        GHC.Driver.Config.Core.Opt.Arity
        GHC.Driver.Config.Core.Opt.LiberateCase
        GHC.Driver.Config.Core.Opt.WorkWrap
        GHC.Driver.Config.Core.Rules
        GHC.Driver.Config.Diagnostic
        GHC.Driver.Config.Finder
        GHC.Driver.Config.HsToCore
        GHC.Driver.Config.HsToCore.Usage
        GHC.Driver.Config.Logger
        GHC.Driver.Config.Parser
        GHC.Driver.Config.Stg.Debug
        GHC.Driver.Config.Stg.Lift
        GHC.Driver.Config.Stg.Pipeline
        GHC.Driver.Config.Stg.Ppr
        GHC.Driver.Config.StgToCmm
        GHC.Driver.Config.Tidy
        GHC.Driver.Env
        GHC.Driver.Env.KnotVars
        GHC.Driver.Env.Types
        GHC.Driver.Errors
        GHC.Driver.Errors.Ppr
        GHC.Driver.Errors.Types
        GHC.Driver.Flags
        GHC.Driver.GenerateCgIPEStub
        GHC.Driver.Hooks
        GHC.Driver.LlvmConfigCache
        GHC.Driver.Main
        GHC.Driver.Make
        GHC.Driver.MakeFile
        GHC.Driver.Monad
        GHC.Driver.Phases
        GHC.Driver.Pipeline
        GHC.Driver.Pipeline.Execute
        GHC.Driver.Pipeline.LogQueue
        GHC.Driver.Pipeline.Phases
        GHC.Driver.Pipeline.Monad
        GHC.Driver.Plugins
        GHC.Driver.Ppr
        GHC.Driver.Session
        GHC.Hs
        GHC.Hs.Binds
        GHC.Hs.Decls
        GHC.Hs.Doc
        GHC.Hs.DocString
        GHC.Hs.Dump
        GHC.Hs.Expr
        GHC.Hs.Syn.Type
        GHC.Hs.Extension
        GHC.Hs.ImpExp
        GHC.Hs.Instances
        GHC.Hs.Lit
        GHC.Hs.Pat
        GHC.Hs.Stats
        GHC.HsToCore
        GHC.HsToCore.Arrows
        GHC.HsToCore.Binds
        GHC.HsToCore.Coverage
        GHC.HsToCore.Docs
        GHC.HsToCore.Errors.Ppr
        GHC.HsToCore.Errors.Types
        GHC.HsToCore.Expr
        GHC.HsToCore.Foreign.C
        GHC.HsToCore.Foreign.Call
        GHC.HsToCore.Foreign.Decl
        GHC.HsToCore.Foreign.Prim
        GHC.HsToCore.Foreign.Utils
        GHC.HsToCore.GuardedRHSs
        GHC.HsToCore.ListComp
        GHC.HsToCore.Match
        GHC.HsToCore.Match.Constructor
        GHC.HsToCore.Match.Literal
        GHC.HsToCore.Monad
        GHC.HsToCore.Pmc
        GHC.HsToCore.Pmc.Check
        GHC.HsToCore.Pmc.Desugar
        GHC.HsToCore.Pmc.Ppr
        GHC.HsToCore.Pmc.Solver
        GHC.HsToCore.Pmc.Solver.Types
        GHC.HsToCore.Pmc.Types
        GHC.HsToCore.Pmc.Utils
        GHC.HsToCore.Quote
        GHC.HsToCore.Types
        GHC.HsToCore.Usage
        GHC.HsToCore.Utils
        GHC.Hs.Type
        GHC.Hs.Utils
        GHC.Iface.Binary
        GHC.Iface.Env
        GHC.Iface.Errors
        GHC.Iface.Ext.Ast
        GHC.Iface.Ext.Binary
        GHC.Iface.Ext.Debug
        GHC.Iface.Ext.Fields
        GHC.Iface.Ext.Types
        GHC.Iface.Ext.Utils
        GHC.Iface.Load
        GHC.Iface.Make
        GHC.Iface.Recomp
        GHC.Iface.Recomp.Binary
        GHC.Iface.Recomp.Flags
        GHC.Iface.Rename
        GHC.Iface.Syntax
        GHC.Iface.Tidy
        GHC.Iface.Tidy.StaticPtrTable
        GHC.IfaceToCore
        GHC.Iface.Type
        GHC.Linker
        GHC.Linker.Dynamic
        GHC.Linker.ExtraObj
        GHC.Linker.Loader
        GHC.Linker.MacOS
        GHC.Linker.Static
        GHC.Linker.Static.Utils
        GHC.Linker.Types
        GHC.Linker.Unit
        GHC.Linker.Windows
        GHC.Llvm
        GHC.Llvm.MetaData
        GHC.Llvm.Ppr
        GHC.Llvm.Syntax
        GHC.Llvm.Types
        GHC.Parser
        GHC.Parser.Annotation
        GHC.Parser.CharClass
        GHC.Parser.Errors.Basic
        GHC.Parser.Errors.Ppr
        GHC.Parser.Errors.Types
        GHC.Parser.Header
        GHC.Parser.Lexer
        GHC.Parser.HaddockLex
        GHC.Parser.PostProcess
        GHC.Parser.PostProcess.Haddock
        GHC.Parser.Types
        GHC.Parser.Utils
        GHC.Platform
        GHC.Platform.ARM
        GHC.Platform.AArch64
        GHC.Platform.Constants
        GHC.Platform.NoRegs
        GHC.Platform.PPC
        GHC.Platform.Profile
        GHC.Platform.Reg
        GHC.Platform.Reg.Class
        GHC.Platform.Regs
        GHC.Platform.RISCV64
        GHC.Platform.S390X
        GHC.Platform.Ways
        GHC.Platform.X86
        GHC.Platform.X86_64
        GHC.Plugins
        GHC.Prelude
        GHC.Rename.Bind
        GHC.Rename.Doc
        GHC.Rename.Env
        GHC.Rename.Expr
        GHC.Rename.Fixity
        GHC.Rename.HsType
        GHC.Rename.Module
        GHC.Rename.Names
        GHC.Rename.Pat
        GHC.Rename.Splice
        GHC.Rename.Unbound
        GHC.Rename.Utils
        GHC.Runtime.Context
        GHC.Runtime.Debugger
        GHC.Runtime.Eval
        GHC.Runtime.Eval.Types
        GHC.Runtime.Heap.Inspect
        GHC.Runtime.Heap.Layout
        GHC.Runtime.Interpreter
        GHC.Runtime.Interpreter.Types
        GHC.Runtime.Loader
        GHC.Settings
        GHC.Settings.Config
        GHC.Settings.Constants
        GHC.Settings.IO
        GHC.Stg.BcPrep
        GHC.Stg.CSE
        GHC.Stg.Debug
        GHC.Stg.FVs
        GHC.Stg.Lift
        GHC.Stg.Lift.Analysis
        GHC.Stg.Lift.Config
        GHC.Stg.Lift.Monad
        GHC.Stg.Lint
        GHC.Stg.InferTags
        GHC.Stg.InferTags.Rewrite
        GHC.Stg.InferTags.TagSig
        GHC.Stg.InferTags.Types
        GHC.Stg.Pipeline
        GHC.Stg.Stats
        GHC.Stg.Subst
        GHC.Stg.Syntax
        GHC.Stg.Utils
        GHC.StgToByteCode
        GHC.StgToCmm
        GHC.StgToCmm.ArgRep
        GHC.StgToCmm.Bind
        GHC.StgToCmm.CgUtils
        GHC.StgToCmm.Closure
        GHC.StgToCmm.Config
        GHC.StgToCmm.DataCon
        GHC.StgToCmm.Env
        GHC.StgToCmm.Expr
        GHC.StgToCmm.ExtCode
        GHC.StgToCmm.Foreign
        GHC.StgToCmm.Heap
        GHC.StgToCmm.Hpc
        GHC.StgToCmm.Layout
        GHC.StgToCmm.Lit
        GHC.StgToCmm.Monad
        GHC.StgToCmm.Prim
        GHC.StgToCmm.Prof
        GHC.StgToCmm.Sequel
        GHC.StgToCmm.TagCheck
        GHC.StgToCmm.Ticky
        GHC.StgToCmm.Types
        GHC.StgToCmm.Utils
        GHC.Stg.Unarise
        GHC.SysTools
        GHC.SysTools.Ar
        GHC.SysTools.BaseDir
        GHC.SysTools.Elf
        GHC.SysTools.Info
        GHC.SysTools.Process
        GHC.SysTools.Tasks
        GHC.SysTools.Terminal
        GHC.Tc.Deriv
        GHC.Tc.Deriv.Functor
        GHC.Tc.Deriv.Generate
        GHC.Tc.Deriv.Generics
        GHC.Tc.Deriv.Infer
        GHC.Tc.Deriv.Utils
        GHC.Tc.Errors
        GHC.Tc.Errors.Hole
        GHC.Tc.Errors.Hole.FitTypes
        GHC.Tc.Errors.Ppr
        GHC.Tc.Errors.Types
        GHC.Tc.Gen.Annotation
        GHC.Tc.Gen.App
        GHC.Tc.Gen.Arrow
        GHC.Tc.Gen.Bind
        GHC.Tc.Gen.Default
        GHC.Tc.Gen.Export
        GHC.Tc.Gen.Expr
        GHC.Tc.Gen.Foreign
        GHC.Tc.Gen.Head
        GHC.Tc.Gen.HsType
        GHC.Tc.Gen.Match
        GHC.Tc.Gen.Pat
        GHC.Tc.Gen.Rule
        GHC.Tc.Gen.Sig
        GHC.Tc.Gen.Splice
        GHC.Tc.Instance.Class
        GHC.Tc.Instance.Family
        GHC.Tc.Instance.FunDeps
        GHC.Tc.Instance.Typeable
        GHC.Tc.Module
        GHC.Tc.Plugin
        GHC.Tc.Solver
        GHC.Tc.Solver.Canonical
        GHC.Tc.Solver.Rewrite
        GHC.Tc.Solver.InertSet
        GHC.Tc.Solver.Interact
        GHC.Tc.Solver.Monad
        GHC.Tc.Solver.Types
        GHC.Tc.TyCl
        GHC.Tc.TyCl.Build
        GHC.Tc.TyCl.Class
        GHC.Tc.TyCl.Instance
        GHC.Tc.TyCl.PatSyn
        GHC.Tc.TyCl.Utils
        GHC.Tc.Types
        GHC.Tc.Types.Constraint
        GHC.Tc.Types.Evidence
        GHC.Tc.Types.EvTerm
        GHC.Tc.Types.Origin
        GHC.Tc.Types.Rank
        GHC.Tc.Utils.Backpack
        GHC.Tc.Utils.Concrete
        GHC.Tc.Utils.Env
        GHC.Tc.Utils.Instantiate
        GHC.Tc.Utils.Monad
        GHC.Tc.Utils.TcMType
        GHC.Tc.Utils.TcType
        GHC.Tc.Utils.Unify
        GHC.Tc.Utils.Zonk
        GHC.Tc.Validity
        GHC.ThToHs
        GHC.Types.Annotations
        GHC.Types.Avail
        GHC.Types.Basic
        GHC.Types.BreakInfo
        GHC.Types.CompleteMatch
        GHC.Types.CostCentre
        GHC.Types.CostCentre.State
        GHC.Types.Cpr
        GHC.Types.Demand
        GHC.Types.Error
        GHC.Types.FieldLabel
        GHC.Types.Fixity
        GHC.Types.Fixity.Env
        GHC.Types.ForeignCall
        GHC.Types.ForeignStubs
        GHC.Types.Hint
        GHC.Types.Hint.Ppr
        GHC.Types.HpcInfo
        GHC.Types.Id
        GHC.Types.IPE
        GHC.Types.Id.Info
        GHC.Types.Id.Make
        GHC.Types.Literal
        GHC.Types.Meta
        GHC.Types.Name
        GHC.Types.Name.Cache
        GHC.Types.Name.Env
        GHC.Types.Name.Occurrence
        GHC.Types.Name.Reader
        GHC.Types.Name.Set
        GHC.Types.Name.Shape
        GHC.Types.Name.Ppr
        GHC.Types.PkgQual
        GHC.Types.RepType
        GHC.Types.SafeHaskell
        GHC.Types.SourceError
        GHC.Types.SourceFile
        GHC.Types.SourceText
        GHC.Types.SrcLoc
        GHC.Types.Target
        GHC.Types.Tickish
        GHC.Types.TypeEnv
        GHC.Types.TyThing
        GHC.Types.Unique
        GHC.Types.Unique.DFM
        GHC.Types.Unique.DSet
        GHC.Types.Unique.FM
        GHC.Types.Unique.Map
        GHC.Types.Unique.MemoFun
        GHC.Types.Unique.SDFM
        GHC.Types.Unique.Set
        GHC.Types.Unique.Supply
        GHC.Types.Var
        GHC.Types.Var.Env
        GHC.Types.Var.Set
        GHC.Unit
        GHC.Unit.Env
        GHC.Unit.External
        GHC.Unit.Finder
        GHC.Unit.Finder.Types
        GHC.Unit.Home
        GHC.Unit.Home.ModInfo
        GHC.Unit.Info
        GHC.Unit.Module
        GHC.Unit.Module.Deps
        GHC.Unit.Module.Env
        GHC.Unit.Module.Graph
        GHC.Unit.Module.Imported
        GHC.Unit.Module.Location
        GHC.Unit.Module.ModDetails
        GHC.Unit.Module.ModGuts
        GHC.Unit.Module.ModIface
        GHC.Unit.Module.ModSummary
        GHC.Unit.Module.Name
        GHC.Unit.Module.Status
        GHC.Unit.Module.Warnings
        GHC.Unit.Parser
        GHC.Unit.Ppr
        GHC.Unit.State
        GHC.Unit.Types
        GHC.Utils.Asm
        GHC.Utils.Binary
        GHC.Utils.Binary.Typeable
        GHC.Utils.BufHandle
        GHC.Utils.CliOption
        GHC.Utils.Constants
        GHC.Utils.Error
        GHC.Utils.Exception
        GHC.Utils.Fingerprint
        GHC.Utils.FV
        GHC.Utils.GlobalVars
        GHC.Utils.IO.Unsafe
        GHC.Utils.Json
        GHC.Utils.Lexeme
        GHC.Utils.Logger
        GHC.Utils.Misc
        GHC.Utils.Monad
        GHC.Utils.Monad.State.Strict
        GHC.Utils.Monad.State.Lazy
        GHC.Utils.Outputable
        GHC.Utils.Panic
        GHC.Utils.Panic.Plain
        GHC.Utils.Ppr
        GHC.Utils.Ppr.Colour
        GHC.Utils.TmpFs
        GHC.Utils.Trace

        Language.Haskell.Syntax
        Language.Haskell.Syntax.Binds
        Language.Haskell.Syntax.Decls
        Language.Haskell.Syntax.Expr
        Language.Haskell.Syntax.Extension
        Language.Haskell.Syntax.Lit
        Language.Haskell.Syntax.Pat
        Language.Haskell.Syntax.Type

    autogen-modules: GHC.Platform.Constants
                     GHC.Settings.Config

    reexported-modules:
          GHC.Platform.ArchOS
        , GHC.Platform.Host