diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-07-22 07:26:47 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2021-08-03 17:33:08 +0000 |
commit | 562991def56ea199865e0404365c41314c66c646 (patch) | |
tree | 0476cae915656f05f874e9af85e489c7b1cceeac /compiler/GHC/SysTools/BaseDir.hs | |
parent | 7a5636a18c821f6bfe3f4400d1fb368d110dead3 (diff) | |
download | haskell-wip/organize-headers.tar.gz |
Move `/includes` to `/rts/include`, sort per package betterwip/organize-headers
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/SysTools/BaseDir.hs')
-rw-r--r-- | compiler/GHC/SysTools/BaseDir.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/SysTools/BaseDir.hs b/compiler/GHC/SysTools/BaseDir.hs index ad16fac025..03169523c6 100644 --- a/compiler/GHC/SysTools/BaseDir.hs +++ b/compiler/GHC/SysTools/BaseDir.hs @@ -100,7 +100,7 @@ make) set in `aclocal.m4`. This allows the rest of the build system to have access to these and other values determined by configure. - Based on this file, `includes/ghc.mk` when ran will produce the settings file + Based on this file, `rts/include/ghc.mk` when ran will produce the settings file by echoing the values into a the final file. Coincidentally this is also where `ghcplatform.h` and `ghcversion.h` generated which contains information about the build platform and sets CPP for use by the entire build. @@ -118,7 +118,7 @@ hadrian) The last part of this is the `generateSettings` in `src/Rules/Generate.hs` which produces the desired settings file out of Hadrian. This is the - equivalent to `includes/ghc.mk`. + equivalent to `rts/include/ghc.mk`. -- |