diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-07-22 07:26:47 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-08-09 15:11:58 -0400 |
commit | d5de970dafd5876ef30601697576167f56b9c132 (patch) | |
tree | cb2ccf4bc4c13e39e211beb60915d7bb4ccc477d /compiler/ghc.cabal.in | |
parent | fc350dba63da7eefbaa2793fe9fe99f8571b75c0 (diff) | |
download | haskell-d5de970dafd5876ef30601697576167f56b9c132.tar.gz |
Move `/includes` to `/rts/include`, sort per package better
In order to make the packages in this repo "reinstallable", we need to
associate source code with a specific packages. Having a top level
`/includes` dir that mixes concerns (which packages' includes?) gets in
the way of this.
To start, I have moved everything to `rts/`, which is mostly correct.
There are a few things however that really don't belong in the rts (like
the generated constants haskell type, `CodeGen.Platform.h`). Those
needed to be manually adjusted.
Things of note:
- No symlinking for sake of windows, so we hard-link at configure time.
- `CodeGen.Platform.h` no longer as `.hs` extension (in addition to
being moved to `compiler/`) so as not to confuse anyone, since it is
next to Haskell files.
- Blanket `-Iincludes` is gone in both build systems, include paths now
more strictly respect per-package dependencies.
- `deriveConstants` has been taught to not require a `--target-os` flag
when generating the platform-agnostic Haskell type. Make takes
advantage of this, but Hadrian has yet to.
Diffstat (limited to 'compiler/ghc.cabal.in')
-rw-r--r-- | compiler/ghc.cabal.in | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in index e9993e7776..2520576498 100644 --- a/compiler/ghc.cabal.in +++ b/compiler/ghc.cabal.in @@ -23,6 +23,19 @@ Category: Development Build-Type: Simple Cabal-Version: >=1.10 +extra-source-files: + 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 + -- Target sensative, should not be used. + MachDeps.h + Flag internal-interpreter Description: Build with internal interpreter support. Default: False @@ -56,6 +69,15 @@ Flag dynamic-system-linker 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 + -- MachRegs.h -- hits #error, skip + -- target sensative, should not be used + MachDeps.h Build-Depends: base >= 4.11 && < 4.17, deepseq >= 1.4 && < 1.5, |