-
- Downloads
cmd/dist: refactor generated cgo-support logic
During bootstrapping, cmd/dist writes a file indicating which GOOS/GOARCH combinations are valid, and which support cgo-enabled builds. That information previously went into the go/build package, but today it fits in more naturally in the internal/platform package (which already has a number of functions indicating feature support for GOOS/GOARCH combinations). Moreover, as of CL 450739 the cmd/go logic for determining whether to use cgo is somewhat more nuanced than the go/build logic: cmd/go checks for the presence of a C compiler, whereas go/build does not (mostly because it determines its configuration at package-init time, and checking $PATH for a C compiler is somewhat expensive). To simplify this situation, this change: - consolidates the “cgo supported” check in internal/platform (alongside many other platform-support checks) instead of making it a one-off in go/build, - and updates a couple of tests to use testenv.HasCGO instead of build.Default.CgoEnabled to decide whether to test a cgo-specific behavior. For #58884. For #59500. Change-Id: I0bb2502dba4545a3d98c9e915727382ce536a0f3 Reviewed-on: https://go-review.googlesource.com/c/go/+/483695 Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by:Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com>
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- src/cmd/dist/build.go 7 additions, 4 deletionssrc/cmd/dist/build.go
- src/cmd/dist/buildgo.go 1 addition, 37 deletionssrc/cmd/dist/buildgo.go
- src/cmd/dist/buildruntime.go 24 additions, 0 deletionssrc/cmd/dist/buildruntime.go
- src/cmd/dist/buildtool.go 1 addition, 0 deletionssrc/cmd/dist/buildtool.go
- src/cmd/go/internal/cfg/cfg.go 1 addition, 0 deletionssrc/cmd/go/internal/cfg/cfg.go
- src/cmd/go/internal/work/action.go 2 additions, 1 deletionsrc/cmd/go/internal/work/action.go
- src/cmd/go/internal/work/init.go 1 addition, 1 deletionsrc/cmd/go/internal/work/init.go
- src/cmd/go/note_test.go 2 additions, 2 deletionssrc/cmd/go/note_test.go
- src/cmd/go/testdata/script/list_all_gobuild.txt 1 addition, 0 deletionssrc/cmd/go/testdata/script/list_all_gobuild.txt
- src/cmd/go/testdata/script/tooltags.txt 2 additions, 0 deletionssrc/cmd/go/testdata/script/tooltags.txt
- src/cmd/objdump/objdump_test.go 1 addition, 2 deletionssrc/cmd/objdump/objdump_test.go
- src/go/build/build.go 2 additions, 1 deletionsrc/go/build/build.go
- src/go/build/deps_test.go 1 addition, 1 deletionsrc/go/build/deps_test.go
- src/internal/platform/supported.go 8 additions, 0 deletionssrc/internal/platform/supported.go
Loading
Please register or sign in to comment