package work
import "cmd/go/internal/work"
Index ¶
- Variables
- func AddBuildFlags(cmd *base.Command)
- func BuildInstallFunc(b *Builder, a *Action) (err error)
- func BuildModeInit()
- func FindExecCmd() []string
- func InstallPackages(args []string, forGet bool)
- func InstrumentInit()
- type Action
- type BuildMode
- type Builder
- func (b *Builder) Action(mode BuildMode, depMode BuildMode, p *load.Package) *Action
- func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string)
- func (b *Builder) Do(root *Action)
- func (b *Builder) GccCmd(objdir string) []string
- func (b *Builder) GxxCmd(objdir string) []string
- func (b *Builder) Init()
- func (b *Builder) Mkdir(dir string) error
- func (b *Builder) PkgconfigCmd() string
- func (b *Builder) Showcmd(dir string, format string, args ...interface{})
Variables ¶
var BuildToolchain toolchain = noToolchain{}
var CmdBuild = &base.Command{ UsageLine: "build [-o output] [-i] [build flags] [packages]", Short: "compile packages and dependencies", Long: "" /* 4303 byte string literal not displayed */, }
var CmdInstall = &base.Command{ UsageLine: "install [build flags] [packages]", Short: "compile and install packages and dependencies", Long: "" /* 258 byte string literal not displayed */, }
var ExecCmd []string
ExecCmd is the command to use to run user binaries. Normally it is empty, meaning run the binaries directly. If cross-compiling and running on a remote system or simulator, it is typically go_GOOS_GOARCH_exec, with the target GOOS and GOARCH substituted. The -exec flag overrides these defaults.
var GccgoName, GccgoBin string
Functions ¶
func AddBuildFlags ¶
addBuildFlags adds the flags common to the build, clean, get, install, list, run, and test commands.
func BuildInstallFunc ¶
BuildInstallFunc is the action for installing a single package or executable.
func BuildModeInit ¶
func BuildModeInit()
func FindExecCmd ¶
func FindExecCmd() []string
FindExecCmd derives the value of ExecCmd to use. It returns that value and leaves ExecCmd set for direct use.
func InstallPackages ¶
func InstrumentInit ¶
func InstrumentInit()
Types ¶
type Action ¶
type Action struct { Package *load.Package // the package this action works on Deps []*Action // actions that must happen before this one Func func(*Builder, *Action) error // the action itself (nil = no-op) IgnoreFail bool // whether to run f even if dependencies fail TestOutput *bytes.Buffer // test output buffer Args []string // additional args for runProgram // Generated files, directories. Link bool // target is executable, not just package Pkgdir string // the -I or -L argument to use when importing this package Objdir string // directory for intermediate objects Objpkg string // the intermediate package .a file created during the action Target string // goal of the action: the created package or executable Failed bool // whether the action failed // contains filtered or unexported fields }
An Action represents a single action in the action graph.
func ActionList ¶
ActionList returns the list of actions in the dag rooted at root as visited in a depth-first post-order traversal.
type BuildMode ¶
type BuildMode int
BuildMode specifies the build mode: are we just building things or also installing the results?
type Builder ¶
type Builder struct { WorkDir string // the temporary work directory (ends in filepath.Separator) Print func(args ...interface{}) (int, error) // contains filtered or unexported fields }
A Builder holds global state about a build. It does not hold per-package state, because we build packages in parallel, and the builder is shared.
func (*Builder) Action ¶
Action returns the action for applying the given operation (mode) to the package. depMode is the action to use when building dependencies. action never looks for p in a shared library, but may find p's dependencies in a shared library if buildLinkshared is true.
func (*Builder) CFlags ¶
CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
func (*Builder) Do ¶
do runs the action graph rooted at root.
func (*Builder) GccCmd ¶
gccCmd returns a gcc command line prefix defaultCC is defined in zdefaultcc.go, written by cmd/dist.
func (*Builder) GxxCmd ¶
gxxCmd returns a g++ command line prefix defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
func (*Builder) Init ¶
func (b *Builder) Init()
func (*Builder) Mkdir ¶
mkdir makes the named directory.
func (*Builder) PkgconfigCmd ¶
PkgconfigCmd returns a pkg-config binary name defaultPkgConfig is defined in zdefaultcc.go, written by cmd/dist.
func (*Builder) Showcmd ¶
showcmd prints the given command to standard output for the implementation of -n or -x.
Source Files ¶
- Version
- v1.9.3
- Published
- Jan 22, 2018
- Platform
- linux/amd64
- Imports
- 26 packages
- Last checked
- 4 seconds ago –
Tools for package owners.