// It's annoying asking them to set lots of things. So let's try to figure it out. func guessgoarch() { config.Arch = os.Getenv("GOARCH") if config.Arch != "" { config.Arch = path.Clean(config.Arch) return } log.Printf("GOARCH is not set, trying to guess") u, err := uroot.Uname() if err != nil { log.Printf("uname failed, using default amd64") config.Arch = "amd64" } else { switch { case u.Machine == "i686" || u.Machine == "i386" || u.Machine == "x86": config.Arch = "386" case u.Machine == "x86_64" || u.Machine == "amd64": config.Arch = "amd64" case u.Machine == "armv7l" || u.Machine == "armv6l": config.Arch = "arm" case u.Machine == "ppc" || u.Machine == "ppc64": config.Arch = "ppc64" default: log.Printf("Unrecognized arch") config.Fail = true } } }
func main() { if u, err := uroot.Uname(); err != nil { log.Fatalf("%v", err) } else { info := handle_flags(u) fmt.Printf("%v\n", info) } }