Go: cmd/go/internal/cfg Index | Files

package cfg

import "cmd/go/internal/cfg"

Package cfg holds configuration shared by multiple parts of the go command.


Package Files



var (
    BuildA                 bool   // -a flag
    BuildBuildmode         string // -buildmode flag
    BuildContext           = defaultContext()
    BuildMod               string             // -mod flag
    BuildI                 bool               // -i flag
    BuildLinkshared        bool               // -linkshared flag
    BuildMSan              bool               // -msan flag
    BuildN                 bool               // -n flag
    BuildO                 string             // -o flag
    BuildP                 = runtime.NumCPU() // -p flag
    BuildPkgdir            string             // -pkgdir flag
    BuildRace              bool               // -race flag
    BuildToolexec          []string           // -toolexec flag
    BuildToolchainName     string
    BuildToolchainCompiler func() string
    BuildToolchainLinker   func() string
    BuildV                 bool // -v flag
    BuildWork              bool // -work flag
    BuildX                 bool // -x flag

    CmdName string // "build", "install", "list", etc.

    DebugActiongraph string // -debug-actiongraph flag (undocumented, unstable)

These are general "build flags" used by build and other commands.

var (
    Goarch    = BuildContext.GOARCH
    Goos      = BuildContext.GOOS
    ExeSuffix string
    Gopath    = filepath.SplitList(BuildContext.GOPATH)

    // ModulesEnabled specifies whether the go command is running
    // in module-aware mode (as opposed to GOPATH mode).
    // It is equal to modload.Enabled, but not all packages can import modload.
    ModulesEnabled bool

    // GoModInGOPATH records whether we've found a go.mod in GOPATH/src
    // in GO111MODULE=auto mode. In that case, we don't use modules
    // but people might expect us to, so 'go get' warns.
    GoModInGOPATH string

Global build parameters (used during package load)

var (
    GOROOT       = findGOROOT()
    GOBIN        = os.Getenv("GOBIN")
    GOROOTbin    = filepath.Join(GOROOT, "bin")
    GOROOTpkg    = filepath.Join(GOROOT, "pkg")
    GOROOTsrc    = filepath.Join(GOROOT, "src")

    // Used in envcmd.MkEnv and build ID computations.
    GOARM    = fmt.Sprint(objabi.GOARM)
    GO386    = objabi.GO386
    GOMIPS   = objabi.GOMIPS
    GOMIPS64 = objabi.GOMIPS64
var CmdEnv []EnvVar

CmdEnv is the new environment for running go tool commands. User binaries (during go test or go run) are run with OrigEnv, not CmdEnv.

var OrigEnv []string

OrigEnv is the original environment of the program at startup.

type EnvVar Uses

type EnvVar struct {
    Name  string
    Value string

An EnvVar is an environment variable Name=Value.

Package cfg imports 6 packages (graph) and is imported by 97 packages. Updated 2019-06-13. Refresh now. Tools for package owners.