snowleopard / hadrian

Hadrian: a new build system for the Glasgow Haskell Compiler. Now merged into the GHC tree!
https://gitlab.haskell.org/ghc/ghc/tree/master/hadrian
MIT License
208 stars 39 forks source link

Restore wrapper (and install?) generation rules (conditionally?) #539

Open alpmestan opened 6 years ago

alpmestan commented 6 years ago

With #531 we're getting relocatable GHC builds and we therefore won't need any sort of wrapper scripts like inplace/bin/ghc-stage2 (when building with the make build system) in most situations (we won't need them on Linux, OS X and Windows).

Some OSes will probably still need/want them so it would therefore be nice if we could eventually revive the wrapper generation rules, and have them fire only when building a GHC for an OS that's not one of the 3 aforementionned ones.

The question of the install rules (which we get rid of in #531 as well) also is in the air. With #531 installation is as easy as shipping <build root>/stage1/{bin, lib, a few other files and dirs}". We can still consider offering a rule/command to this effect.

snowleopard commented 6 years ago

@alpmestan Thank you! Can we list all files that need to be included in an installation build rule, if we decide to add it?

alpmestan commented 6 years ago

@snowleopard Hmm, I don't have that list handy, but the current code for Wrappers.hs (see here for a time-proof link) has some comments that describe the things to be installed and even shows the logic that we could steal and just adapt to the changes we do in #531. Is that a good enough answer? Or should I try and find/come up with an actual list?

snowleopard commented 6 years ago

@alpmestan Yes, that's a good start. I just want to make this issue self-contained so that it could potentially be tackled by a newcomer.