diff options
author | Bryan C. Mills <bcmills@google.com> | 2023-04-11 14:27:45 +0000 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2023-04-20 17:26:46 +0000 |
commit | d22f287f12f4782082cd93785ad91e78dbe0d4d6 (patch) | |
tree | fe20635700fb7a754d79c828127915b577ad708d /.gitignore | |
parent | 0d699b6cb3e6be63846bbbee8cc7bcbfd6cb9500 (diff) | |
download | go-d22f287f12f4782082cd93785ad91e78dbe0d4d6.tar.gz go-d22f287f12f4782082cd93785ad91e78dbe0d4d6.zip |
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>
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 816f59df14..52263cdb80 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ _testmain.go /src/go/build/zcgo.go /src/go/doc/headscan /src/internal/buildcfg/zbootstrap.go +/src/internal/platform/zosarch.go /src/runtime/internal/sys/zversion.go /src/unicode/maketables /src/time/tzdata/zzipdata.go |