diff --git a/src/cmd/makebb/makebb.go b/src/cmd/makebb/makebb.go index 614253f2..23ce58b1 100644 --- a/src/cmd/makebb/makebb.go +++ b/src/cmd/makebb/makebb.go @@ -26,6 +26,8 @@ var ( func main() { bopts := &golang.BuildOpts{} bopts.RegisterFlags(flag.CommandLine) + env := golang.Default() + env.RegisterFlags(flag.CommandLine) flag.Parse() // Why doesn't the log package export this as a default? @@ -36,7 +38,6 @@ func main() { l.Fatal(err) } - env := golang.Default() if env.CgoEnabled { l.Printf("Disabling CGO for u-root...") env.CgoEnabled = false diff --git a/src/pkg/golang/build.go b/src/pkg/golang/build.go index e4f317d2..98a313c2 100644 --- a/src/pkg/golang/build.go +++ b/src/pkg/golang/build.go @@ -27,6 +27,12 @@ type Environ struct { GBBDEBUG bool } +// RegisterFlags registers flags for Environ. +func (c *Environ) RegisterFlags(f *flag.FlagSet) { + arg := (*uflag.Strings)(&c.BuildTags) + f.Var(arg, "go-build-tags", "Go build tags") +} + // Valid returns an error if GOARCH, GOROOT, or GOOS are unset. func (c Environ) Valid() error { if c.GOARCH == "" && c.GOROOT == "" && c.GOOS == "" { @@ -167,7 +173,7 @@ func (b *BuildOpts) RegisterFlags(f *flag.FlagSet) { f.BoolVar(&b.EnableInlining, "go-enable-inlining", false, "Enable inlining (will likely produce a larger binary)") f.BoolVar(&b.NoTrimPath, "go-no-trimpath", false, "Disable -trimpath (will not produce a reproducible binary)") arg := (*uflag.Strings)(&b.ExtraArgs) - f.Var(arg, "go-extra-args", "Extra args to `go build`") + f.Var(arg, "go-extra-args", "Extra args to 'go build'") } // BuildDir compiles the package in the directory `dirPath`, writing the build