Documentation
¶
Index ¶
Constants ¶
Variables ¶
View Source
var (
DebugLog bool = false
)
Functions ¶
This section is empty.
Types ¶
type AssembleArgs ¶
type AssembleArgs struct { Context gb.Context WorkingDirectory string Stdout io.Writer Stderr io.Writer // Files to assemble. Files []string // TrimPath is "-trimpath string" TrimPath string // OutputFile is "-o string" OutputFile string // IncludeDirs is "-I string [-I string ...]" IncludeDirs []string // Defines is "-D string [-D string ...]" Defines []string // GenSymABIs is "-gensymabis" GenSymABIs bool Shared bool // DynamicLink is "-dynlink" DynamicLink bool }
AssembleArgs passed to Assemble.
type Assembler ¶
type Assembler interface { // Assemble runs the asm tool. Assemble(args AssembleArgs) error }
Assembler provides access to the `go tool asm` tool.
type BuildIDArgs ¶
type BuildIDArgs struct { Context gb.Context WorkingDirectory string Stderr io.Writer // ObjectFile to read or write BuildID ObjectFile string // Write is "-w" Write bool }
BuildIDArgs passed to BuildID
type BuildIDer ¶
type BuildIDer interface { // BuildID either reads or write the BuildID BuildID(args BuildIDArgs) (string, error) }
BuildIDer can read and write BuildID
type CompileArgs ¶
type CompileArgs struct { Context gb.Context WorkingDirectory string Stdout io.Writer Stderr io.Writer // Files to compile. Files []string // TrimPath is "-trimpath string" TrimPath string // OutputFile is "-o string" OutputFile string // BuildID is "-buildid string" BuildID string // DisableBoundsChecking is "-B" DisableBoundsChecking bool // CompilingRuntimeLibrary is "-+" CompilingRuntimeLibrary bool // DisableOptimizations is "-N" DisableOptimizations bool // RelativeImportPath is "-D string" RelativeImportPath string // IncludeDirs is "-I string [-I string ...]" IncludeDirs []string // Concurrency is "-c=int" Concurrency int // AsmHeaderFile is "-asmhdr string" AsmHeaderFile string // Complete is "-complete" Complete bool // DynamicLink is "-dynlink" DynamicLink bool // GoVersion is "-goversion string" GoVersion string // HaltOnError is "-h" HaltOnError bool // ImportConfigFile is "-importcfg string" ImportConfigFile string // ImportMap is "-importmap string [-importmap string ...]" ImportMap []string // InstallSuffix is "-installsuffix string" InstallSuffix string // DisableInlining is "-l" DisableInlining bool // LinkObjectOutputFile is "-linkobj path" LinkObjectOutputFile string // MSan is "-msan" MSan bool // NoLocalImports is "-nolocalimports" NoLocalImports bool // PackageImportPath is "-p string" PackageImportPath string // Pack is "-pack" Pack bool // Race is "-race" Race bool Shared bool // SmallFrames is "-smallframes" SmallFrames bool // CompilingStandardLibrary is "-std" CompilingStandardLibrary bool // SymABIsFile is "-symabis string" SymABIsFile string }
CompileArgs passed to Compile.
type Compiler ¶
type Compiler interface { // Compile runs the compile tool. Compile(args CompileArgs) error }
Compiler provides access to the `go tool compile` tool.
type LinkArgs ¶
type LinkArgs struct { Context gb.Context WorkingDirectory string Stdout io.Writer Stderr io.Writer // Files to link. Files []string // EntrySymbolName is "-E string" EntrySymbolName string // HeaderType is "-H string" HeaderType string // ELFDynamicLinker is "-I string" ELFDynamicLinker string // LibraryPaths is "-L string [-L string ...]" LibraryPaths []string // StringDefines is "-X string [-X string ...]" StringDefines []string // BuildID is "-buildid string" BuildID string // BuildMode is "-buildmode string" BuildMode string // ExternalTar is "-extar string" ExternalTar string // ExternalLinker is "-extld string" ExternalLinker string // ExternalLinkerFlags is "-extldflags string" ExternalLinkerFlags string // IgnoreVersionMismatch is "-f" IgnoreVersionMismatch bool // DisableGoPackageDataChecks is "-g" DisableGoPackageDataChecks bool // HaltOnError is "-h" HaltOnError bool // ImportConfigFile is "-importcfg string" ImportConfigFile string // InstallSuffix is "-installsuffix string" InstallSuffix string // FieldTrackingSymbol is "-k string" FieldTrackingSymbol string // LibGCC is "-libgcc string" LibGCC string // LinkMode is "-linkmode string" LinkMode string LinkShared bool // MSan is "-msan" MSan bool // OutputFile is "-o string" OutputFile string // PluginPath is "-pluginpath string" PluginPath string // Race is "-race" Race bool // TempDir is "-tmpdir string" TempDir string // RejectUnsafePackages is "-u" RejectUnsafePackages bool }
LinkArgs passed to Link.
type PackArgs ¶
type PackArgs struct { Context gb.Context WorkingDirectory string Stdout io.Writer Stderr io.Writer // Op the operation to perform on the object file. Op PackOp // ObjectFile to operate on ObjectFile string // Names to pass to the operation. Names []string }
PackArgs passed to Pack.
type Tools ¶
type Tools interface { Assembler Compiler Linker Packer BuildIDer Version() (string, error) BuildCtx() (gb.Context, error) }
Tools provides interfaces to build tools.
var ( // DefaultTools uses tools provided by the current go runtime. DefaultTools Tools = &cmdTools{ Go: "go", Assembler: path.Join(gb.ToolDir, "asm"), Compiler: path.Join(gb.ToolDir, "compile"), Linker: path.Join(gb.ToolDir, "link"), Packer: path.Join(gb.ToolDir, "pack"), BuildIDer: path.Join(gb.ToolDir, "buildid"), } )
Click to show internal directories.
Click to hide internal directories.