Skip to content

Per stage headers

John Ericson requested to merge Ericson2314/ghc:per-stage-headers into master

The generated headers are now generated per stage, which means we can skip hacks like ghc_boot_platform.h and just have that be the stage 0 header as proper. In general, stages are to be embraced: freely generate everything in each stage but then just build what you depend on, and everything is symmetrical and efficient. Trying to avoid stages because bootstrapping is a mind bender just creates tons of bespoke mini-mind-benders that add up to something far crazier.

A next step could be making a small cabal package just for those headers with install-includes. I hope that would lead to more disentangling in make/hadrian.

Another possibile next step is separating the richer RTS/settings configure stuff from GHC.

CC @angerman @snowleopard @alp

  • are either individually buildable or squashed
  • have commit messages which describe what they do (referring to Notes and tickets using #NNNN syntax when appropriate)
  • have added source comments describing your change. For larger changes you likely should add a Note and cross-reference it from the relevant places.
  • add a testcase to the testsuite.
  • if your MR affects library interfaces (e.g. changes base) please add the ~"user facing" label.

If you have any questions don't hesitate to open your merge request and inquire in a comment. If your patch isn't quite done yet please do add prefix your MR title with WIP:.

Edited by John Ericson

Merge request reports