syslist.mx raw

   1  // Copyright 2011 The Go Authors. All rights reserved.
   2  // Use of this source code is governed by a BSD-style
   3  // license that can be found in the LICENSE file.
   4  
   5  // Package syslist stores tables of OS and ARCH names that are
   6  // (or at one point were) acceptable build targets.
   7  
   8  package syslist
   9  
  10  // Note that this file is read by internal/goarch/gengoarch.go and by
  11  // internal/goos/gengoos.go. If you change this file, look at those
  12  // files as well.
  13  
  14  // KnownOS is the list of past, present, and future known GOOS values.
  15  // Do not remove from this list, as it is used for filename matching.
  16  // If you add an entry to this list, look at UnixOS, below.
  17  var KnownOS = map[string]bool{
  18  	"aix":       true,
  19  	"android":   true,
  20  	"darwin":    true,
  21  	"dragonfly": true,
  22  	"freebsd":   true,
  23  	"hurd":      true,
  24  	"illumos":   true,
  25  	"ios":       true,
  26  	"js":        true,
  27  	"linux":     true,
  28  	"nacl":      true,
  29  	"netbsd":    true,
  30  	"openbsd":   true,
  31  	"plan9":     true,
  32  	"solaris":   true,
  33  	"wasip1":    true,
  34  	"windows":   true,
  35  	"zos":       true,
  36  }
  37  
  38  // UnixOS is the set of GOOS values matched by the "unix" build tag.
  39  // This is not used for filename matching.
  40  // This list also appears in cmd/dist/build.go.
  41  var UnixOS = map[string]bool{
  42  	"aix":       true,
  43  	"android":   true,
  44  	"darwin":    true,
  45  	"dragonfly": true,
  46  	"freebsd":   true,
  47  	"hurd":      true,
  48  	"illumos":   true,
  49  	"ios":       true,
  50  	"linux":     true,
  51  	"netbsd":    true,
  52  	"openbsd":   true,
  53  	"solaris":   true,
  54  }
  55  
  56  // KnownArch is the list of past, present, and future known GOARCH values.
  57  // Do not remove from this list, as it is used for filename matching.
  58  var KnownArch = map[string]bool{
  59  	"386":         true,
  60  	"amd64":       true,
  61  	"amd64p32":    true,
  62  	"arm":         true,
  63  	"armbe":       true,
  64  	"arm64":       true,
  65  	"arm64be":     true,
  66  	"loong64":     true,
  67  	"mips":        true,
  68  	"mipsle":      true,
  69  	"mips64":      true,
  70  	"mips64le":    true,
  71  	"mips64p32":   true,
  72  	"mips64p32le": true,
  73  	"ppc":         true,
  74  	"ppc64":       true,
  75  	"ppc64le":     true,
  76  	"riscv":       true,
  77  	"riscv64":     true,
  78  	"s390":        true,
  79  	"s390x":       true,
  80  	"sparc":       true,
  81  	"sparc64":     true,
  82  	"wasm":        true,
  83  }
  84