blob: b90cc65c1680a5b78a5b856c645508b6f59ad6aa [file] [edit]
This program, dist, is the bootstrapping tool for the Go distribution.
As of Go 1.5, dist and other parts of the compiler toolchain are written
in Go, making bootstrapping a little more involved than in the past.
The approach is to build the current release of Go with an earlier one.
The process to install Go 1.x, for x 28, is:
1. Build cmd/dist with Go 1.26.0.
2. Using dist, build Go 1.x compiler toolchain and Go 1.x cmd/go (as go_bootstrap) with Go 1.26.0.
3. Using go_bootstrap, rebuild Go 1.x compiler toolchain with itself.
4. Using go_bootstrap, build the remaining Go 1.x standard library and commands.
Because of backward compatibility, although the steps above say Go 1.26.0,
in practice any release Go 1.26.0 but < Go 1.x will work as the bootstrap base.
Releases Go 1.x are very likely to work as well.
See go.dev/s/go15bootstrap for more details about the original bootstrap
and go.dev/issue/54265 for details about later bootstrap version bumps.