Rework ldc-bootstrap to use the same compiler version as the release #76
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
LDC v1.12.0+ supports LLVM 7, but v0.17.6 does not. This means that to build more recent LDC releases with the latest LLVM we will either need to build multiple LLVMs (!) or change the bootstrap compiler.
This patch implements an alternative to the solution in #75 using a technique already used by upstream LDC package builds: the bootstrap compiler is the same version as the one to be released, built with minimal features using the host system's LDC but the latest LLVM. This means that we can take advantage of the most up to date compiler features when building the final release.
Note that an alternative would be to use
build-snaps
for the LDC used to buildldc-bootstrap
. This is avoided for now since avoiding having any snap-package dependencies should make it easier to build the package on a wider variety of systems.