// Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "go/build" ) type Context struct { GOARCH string `json:",omitempty"` // target architecture GOOS string `json:",omitempty"` // target operating system GOROOT string `json:",omitempty"` // Go root GOPATH string `json:",omitempty"` // Go path CgoEnabled bool `json:",omitempty"` // whether cgo can be used UseAllFiles bool `json:",omitempty"` // use files regardless of +build lines, file names Compiler string `json:",omitempty"` // compiler to assume when computing target paths BuildTags []string `json:",omitempty"` // build constraints to match in +build lines ReleaseTags []string `json:",omitempty"` // releases the current release is compatible with InstallSuffix string `json:",omitempty"` // suffix to use in the name of the install dir } func newContext(c *build.Context) *Context { return &Context{ GOARCH: c.GOARCH, GOOS: c.GOOS, GOROOT: c.GOROOT, CgoEnabled: c.CgoEnabled, UseAllFiles: c.UseAllFiles, Compiler: c.Compiler, BuildTags: c.BuildTags, ReleaseTags: c.ReleaseTags, InstallSuffix: c.InstallSuffix, } }