]> Cypherpunks repositories - gostls13.git/commit
cmd/dist: implement //go:build parsing
authorRuss Cox <rsc@golang.org>
Wed, 27 Oct 2021 22:53:02 +0000 (18:53 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 28 Oct 2021 03:35:04 +0000 (03:35 +0000)
commit5a3a9d87ed97f197aabcb868f6c0031c888d6122
tree4d31dca6aedda3bb5db119d8c9dac224e9954dad
parent056dfe6ff34fd479ec5c86d9b26a03c639b3f3f7
cmd/dist: implement //go:build parsing

The bootstrap directories are built with the Go 1.4 go command,
and they will retain the // +build lines until we bump the bootstrap
toolchain to Go 1.17 or later.

cmd/dist builds cmd/go and all its dependencies, using the
assembler, compiler, and linker that were built using Go 1.4.
We don't want to have to keep // +build lines in cmd/go and
all its dependencies, so this CL changes cmd/dist to understand
the //go:build lines.

cmd/dist is a standalone Go program that must itself build with
very old Go releases, so we cannot assume go/build/constraint
is available. Instead, implement a trivial parser/evaluator.

For #41184.

Change-Id: I84e259dec3bd3daec3f82024eb3500120f53096d
Reviewed-on: https://go-review.googlesource.com/c/go/+/359314
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/dist/build.go
src/cmd/dist/buildtag.go [new file with mode: 0644]