Documentation ¶
Overview ¶
Package buildcfg provides access to the build configuration described by the current environment. It is for use by build tools such as cmd/go or cmd/compile and for setting up go/build's Default context.
Note that it does NOT provide access to the build configuration used to build the currently-running binary. For that, use runtime.GOOS etc as well as internal/goexperiment.
Index ¶
- Constants
- Variables
- func AllExperiments() []string
- func Check()
- func EnabledExperiments() []string
- func GOEXPERIMENT() string
- func Getgoextlinkenabled() string
- func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment.Flags, err error)
- func UpdateExperiments(goos, goarch, goexperiment string)
Constants ¶
const DefaultGOEXPERIMENT = defaultGOEXPERIMENT
Variables ¶
var ( GOROOT = envOr("GOROOT", defaultGOROOT) GOARCH = envOr("GOARCH", defaultGOARCH) GOOS = envOr("GOOS", defaultGOOS) GO386 = envOr("GO386", defaultGO386) GOAMD64 = goamd64() GOARM = goarm() GOMIPS = gomips() GOMIPS64 = gomips64() GOPPC64 = goppc64() GOWASM = gowasm() GO_LDSO = defaultGO_LDSO Version = version )
var Error error
Error is one of the errors found (if any) in the build configuration.
var Experiment, _ = func() (goexperiment.Flags, goexperiment.Flags) {
flags, baseline, err := ParseGOEXPERIMENT(GOOS, GOARCH, envOr("GOEXPERIMENT", defaultGOEXPERIMENT))
if err != nil {
Error = err
}
return flags, baseline
}()
Experiment contains the toolchain experiments enabled for the current build.
(This is not necessarily the set of experiments the compiler itself was built with.)
experimentBaseline specifies the experiment flags that are enabled by default in the current toolchain. This is, in effect, the "control" configuration and any variation from this is an experiment.
var FramePointerEnabled = GOARCH == "amd64" || GOARCH == "arm64"
FramePointerEnabled enables the use of platform conventions for saving frame pointers.
This used to be an experiment, but now it's always enabled on platforms that support it.
Note: must agree with runtime.framepointer_enabled.
Functions ¶
func AllExperiments ¶
func AllExperiments() []string
AllExperiments returns a list of all experiment settings. Disabled experiments appear in the list prefixed by "no".
func EnabledExperiments ¶
func EnabledExperiments() []string
EnabledExperiments returns a list of enabled experiments, as lower-cased experiment names.
func GOEXPERIMENT ¶
func GOEXPERIMENT() string
GOEXPERIMENT is a comma-separated list of enabled or disabled experiments that differ from the baseline experiment configuration. GOEXPERIMENT is exactly what a user would set on the command line to get the set of enabled experiments.
func Getgoextlinkenabled ¶
func Getgoextlinkenabled() string
func ParseGOEXPERIMENT ¶
func ParseGOEXPERIMENT(goos, goarch, goexp string) (flags, baseline goexperiment.Flags, err error)
ParseGOEXPERIMENT parses a (GOOS, GOARCH, GOEXPERIMENT) configuration tuple and returns the enabled and baseline experiment flag sets.
TODO(mdempsky): Move to internal/goexperiment.
func UpdateExperiments ¶
func UpdateExperiments(goos, goarch, goexperiment string)
UpdateExperiments updates the Experiment global based on a new GOARCH value. This is only required for cmd/go, which can change GOARCH after program startup due to use of "go env -w".
Types ¶
This section is empty.