|
1 | | -package-dbs: clear, global |
| 1 | +allow-boot-library-installs: True |
| 2 | +benchmarks: False |
| 3 | +tests: False |
| 4 | + |
| 5 | +-- Disable Hackage, we explicitly include the packages we need. |
| 6 | +active-repositories: :none |
2 | 7 |
|
3 | 8 | -- Import configure/generated feature toggles (dynamic, etc.) if present. |
4 | 9 | -- A default file is kept in-tree; configure will overwrite with substituted values. |
5 | 10 | import: cabal.project.stage2.settings |
6 | 11 |
|
7 | 12 | packages: |
| 13 | + -- RTS |
8 | 14 | rts-headers |
9 | 15 | rts-fs |
10 | 16 | rts |
11 | 17 |
|
12 | | - libraries/ghc-prim |
13 | | - libraries/ghc-internal |
14 | | - libraries/ghc-experimental |
15 | | - libraries/base |
| 18 | + -- Compiler |
16 | 19 | compiler |
17 | 20 | ghc |
18 | | - libraries/ghc-platform |
19 | | - libraries/ghc-compact |
| 21 | + |
| 22 | + -- Internal libraries |
| 23 | + libraries/base |
20 | 24 | libraries/ghc-bignum |
21 | | - libraries/integer-gmp |
22 | 25 | libraries/ghc-boot |
23 | 26 | libraries/ghc-boot-th |
| 27 | + libraries/ghc-compact |
| 28 | + libraries/ghc-experimental |
24 | 29 | libraries/ghc-heap |
| 30 | + libraries/ghc-internal |
| 31 | + libraries/ghc-platform |
| 32 | + libraries/ghc-prim |
25 | 33 | libraries/ghci |
26 | | - libraries/stm |
27 | | - libraries/template-haskell |
28 | | - libraries/hpc |
| 34 | + libraries/integer-gmp |
29 | 35 | libraries/system-cxx-std-lib |
| 36 | + libraries/template-haskell |
| 37 | + |
| 38 | + -- Internal tools |
| 39 | + utils/deriveConstants |
| 40 | + utils/genapply |
| 41 | + utils/genprimopcode |
| 42 | + utils/ghc-iserv |
| 43 | + utils/ghc-pkg |
| 44 | + utils/ghc-toolchain |
| 45 | + utils/hp2ps |
| 46 | + utils/runghc |
| 47 | + utils/unlit |
| 48 | + |
| 49 | + -- The following are packages available on Hackage but included as submodules |
30 | 50 | libraries/array |
31 | 51 | libraries/binary |
32 | 52 | libraries/bytestring |
| 53 | + libraries/Cabal/Cabal |
| 54 | + libraries/Cabal/Cabal-syntax |
33 | 55 | libraries/containers/containers |
34 | 56 | libraries/deepseq |
35 | 57 | libraries/directory |
36 | 58 | libraries/exceptions |
37 | 59 | libraries/file-io |
38 | 60 | libraries/filepath |
| 61 | + libraries/haskeline |
| 62 | + libraries/hpc |
39 | 63 | libraries/mtl |
40 | 64 | libraries/os-string |
41 | 65 | libraries/parsec |
42 | 66 | libraries/pretty |
43 | 67 | libraries/process |
44 | 68 | libraries/semaphore-compat |
| 69 | + libraries/stm |
| 70 | + libraries/terminfo |
45 | 71 | libraries/text |
46 | 72 | libraries/time |
47 | 73 | libraries/transformers |
48 | 74 | libraries/unix |
49 | | - libraries/xhtml |
50 | 75 | libraries/Win32 |
| 76 | + libraries/xhtml |
| 77 | + utils/hpc |
| 78 | + utils/hsc2hs |
51 | 79 |
|
52 | | - libraries/Cabal/Cabal-syntax |
53 | | - libraries/Cabal/Cabal |
| 80 | + -- These would be on Hackage but we include them as direct URLs |
| 81 | + -- (Hackage is disabled by `active-repositories: :none`) |
54 | 82 | https://hackage.haskell.org/package/alex-3.5.2.0/alex-3.5.2.0.tar.gz |
55 | 83 | https://hackage.haskell.org/package/happy-2.1.5/happy-2.1.5.tar.gz |
56 | 84 | https://hackage.haskell.org/package/happy-lib-2.1.5/happy-lib-2.1.5.tar.gz |
57 | 85 |
|
58 | | - utils/genprimopcode |
59 | | - utils/deriveConstants |
60 | | - utils/ghc-pkg |
61 | | - utils/hsc2hs |
62 | | - utils/unlit |
63 | | - utils/ghc-toolchain |
64 | | - |
65 | | - libraries/haskeline |
66 | | - libraries/terminfo |
67 | | - utils/hp2ps |
68 | | - utils/hpc |
69 | | - utils/ghc-iserv |
70 | | - utils/genapply |
71 | | - utils/runghc |
72 | | - |
73 | | --- project-rts |
74 | | --- project-ghc |
75 | | -benchmarks: False |
76 | | -tests: False |
77 | | -allow-boot-library-installs: True |
78 | | -active-repositories: :none |
| 86 | +-- |
| 87 | +-- Constraints |
| 88 | +-- |
79 | 89 |
|
80 | 90 | constraints: |
81 | 91 | -- we do not want to use the rts-headers from stage1 |
82 | | - rts-headers source, rts-fs source |
83 | | - -- All build dependencies should be installed, i.e. from stage1. |
| 92 | + -- FIXME: these as listed in `packages:` so they are always used in source form |
| 93 | + rts-headers source, |
| 94 | + rts-fs source, |
| 95 | + |
84 | 96 | -- I cannot write build:* but ghc-internal is enough to do the job. |
85 | | - , build:any.ghc-internal installed |
| 97 | + -- FIXME: it should be possible to write build:* |
| 98 | + -- All build dependencies should be installed, i.e. from stage1. |
| 99 | + build:any.ghc-internal installed |
| 100 | + |
| 101 | +-- |
| 102 | +-- Package level configuration |
| 103 | +-- |
86 | 104 |
|
87 | 105 | package * |
88 | 106 | library-vanilla: True |
@@ -128,18 +146,6 @@ if os(darwin) |
128 | 146 | flags: +tables-next-to-code +leading-underscore |
129 | 147 | ld-options: -undefined warning |
130 | 148 |
|
131 | | - |
132 | | -program-options |
133 | | - ghc-options: -fhide-source-paths -j |
134 | | - |
135 | | --- project-boot-libs |
136 | | -benchmarks: False |
137 | | -tests: False |
138 | | -allow-boot-library-installs: True |
139 | | -active-repositories: :none |
140 | | - |
141 | | --- (removed duplicate global package * stanza; first one applies already) |
142 | | - |
143 | 149 | package rts-headers |
144 | 150 | ghc-options: -no-rts |
145 | 151 |
|
@@ -180,32 +186,33 @@ package rts |
180 | 186 | -- throughout the session. See |
181 | 187 | -- GHC.Unit.State:mkUnitState |
182 | 188 | -- |
183 | | -package ghc-internal |
184 | | - ghc-options: -no-rts |
185 | 189 |
|
186 | 190 | package ghc |
187 | 191 | flags: +build-tool-depends +internal-interpreter |
188 | 192 |
|
| 193 | +package ghc-bin |
| 194 | + flags: +internal-interpreter -threaded |
| 195 | + |
189 | 196 | package ghci |
190 | 197 | flags: +internal-interpreter |
191 | 198 |
|
192 | 199 | package ghc-internal |
193 | 200 | flags: +bignum-native |
| 201 | + ghc-options: -no-rts |
194 | 202 |
|
195 | 203 | package text |
196 | 204 | flags: -simdutf |
197 | 205 |
|
198 | | -program-options |
199 | | - ghc-options: -fhide-source-paths -j |
200 | | - |
201 | | -package ghc-bin |
202 | | - flags: +internal-interpreter -threaded |
203 | | - |
| 206 | +-- TODO: What is this? Why do we need _in-ghc-tree_ here? |
204 | 207 | package hsc2hs |
205 | 208 | flags: +in-ghc-tree |
206 | 209 |
|
207 | 210 | package haskeline |
208 | 211 | flags: -terminfo |
209 | 212 |
|
| 213 | +-- |
| 214 | +-- Program options |
| 215 | +-- |
| 216 | + |
210 | 217 | program-options |
211 | 218 | ghc-options: -fhide-source-paths -j |
0 commit comments