Closed snowleopard closed 5 years ago
Seems like this should be done as it works and means some horrible logic can be removed from the build system.
Seems like this should be done as it works
@mpickering Yes, we know that it works, but is this the right thing to do? Why does the Make build system uses the Stage2 GHC to build Haddock?
The Make build system needs to build
ghctags
andhaddock
programs in Stage2. For example, see this commit: https://github.com/ghc/ghc/commit/5fb72555f7b7ab67a33583f33ad9160761ca434f.However, #531 moved
haddock
to Stage1 and it worked fine. I couldn't find an explanation behind the move and reverted this change as part of the cleaning-up-after-531 issue #540. Let's discuss this here.There is a
Note [No stage2 packages when CrossCompiling or Stage1Only]
inghc.mk
, which in particular says:But in Hadrian we do register the
ghc
library built in Stage0, so presumably this means we could indeed now build all its dependants in Stage1.Shall we move
ghctags
andhaddock
to Stage1? This simplifies the build system and also improves the performance, since we don't need to wait for Stage2 GHC to build these utilities.