This repository has been archived by the owner on Aug 2, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 37
Should Hadrian build ghctags and haddock in Stage1? #661
Labels
Comments
snowleopard
changed the title
Can Hadrian build ghctags and haddock in Stage1?
Should Hadrian build ghctags and haddock in Stage1?
Aug 27, 2018
Seems like this should be done as it works and means some horrible logic can be removed from the build system. |
@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? |
bgamari
pushed a commit
to ghc/ghc
that referenced
this issue
Jan 9, 2019
This ticket enables the building of a `stage3` compiler by making the build logic more consistent and predictable in Hadrian. Two of the main changes are: 1. In order to build anything at stageN we use the package database present at stageN. Fixing #16069 2. `haddock` and `ghc-tags` are built as stage1 executables (with the stage1 compiler) rather than as stage2 compiler. Fixing [hadrian#661](snowleopard/hadrian#661) In order to build a stage3 compiler, you have to set the new `finalStage` hadrian option to `Stage3`.
nineonine
pushed a commit
to nineonine/ghc
that referenced
this issue
Jan 26, 2019
This ticket enables the building of a `stage3` compiler by making the build logic more consistent and predictable in Hadrian. Two of the main changes are: 1. In order to build anything at stageN we use the package database present at stageN. Fixing #16069 2. `haddock` and `ghc-tags` are built as stage1 executables (with the stage1 compiler) rather than as stage2 compiler. Fixing [hadrian#661](snowleopard/hadrian#661) In order to build a stage3 compiler, you have to set the new `finalStage` hadrian option to `Stage3`.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The Make build system needs to build
ghctags
andhaddock
programs in Stage2. For example, see this commit: ghc/ghc@5fb7255.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.The text was updated successfully, but these errors were encountered: