]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: remove mksyscall_windows.go -xsys flag
authorAlex Brainman <alex.brainman@gmail.com>
Wed, 11 May 2016 05:19:32 +0000 (15:19 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Wed, 11 May 2016 05:59:24 +0000 (05:59 +0000)
Also run "go generate" in
internal/syscall/windows and internal/syscall/windows/registry

Updates #15167

Change-Id: I0109226962f81857fe11d308b869d561ea8ed9f9
Reviewed-on: https://go-review.googlesource.com/23021
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/internal/syscall/windows/registry/zsyscall_windows.go
src/internal/syscall/windows/zsyscall_windows.go
src/syscall/mksyscall_windows.go

index 7e473d4e1de7b2609cb645a05060f02e1803c205..62affc0b50baf45f0ef291a8248cd956fab3914c 100644 (file)
@@ -2,9 +2,11 @@
 
 package registry
 
-import "unsafe"
-import "syscall"
-import "internal/syscall/windows/sysdll"
+import (
+       "internal/syscall/windows/sysdll"
+       "syscall"
+       "unsafe"
+)
 
 var _ unsafe.Pointer
 
index d599258976b81d014b3e7fee43520223c770aab6..6929acfa7283f5ec6cc676a9bac7c649e43c7d7a 100644 (file)
@@ -2,9 +2,11 @@
 
 package windows
 
-import "unsafe"
-import "syscall"
-import "internal/syscall/windows/sysdll"
+import (
+       "internal/syscall/windows/sysdll"
+       "syscall"
+       "unsafe"
+)
 
 var _ unsafe.Pointer
 
index a0663073090fafe2715833bda83e73a391a6b039..4ccbb04908c7a5aa72e6967998b14ba0823229dd 100644 (file)
@@ -57,6 +57,8 @@ import (
        "io/ioutil"
        "log"
        "os"
+       "path/filepath"
+       "runtime"
        "sort"
        "strconv"
        "strings"
@@ -67,7 +69,6 @@ var (
        filename       = flag.String("output", "", "output file name (standard output if omitted)")
        printTraceFlag = flag.Bool("trace", false, "generate print statement after every syscall")
        systemDLL      = flag.Bool("systemdll", false, "whether all DLLs should be loaded from the Windows system directory")
-       sysRepo        = flag.Bool("xsys", false, "whether this code is for the x/sys subrepo")
 )
 
 func trim(s string) string {
@@ -686,6 +687,23 @@ func (src *Source) ParseFile(path string) error {
        return nil
 }
 
+// IsStdRepo returns true if src is part of standard library.
+func (src *Source) IsStdRepo() (bool, error) {
+       if len(src.Files) == 0 {
+               return false, errors.New("no input files provided")
+       }
+       abspath, err := filepath.Abs(src.Files[0])
+       if err != nil {
+               return false, err
+       }
+       goroot := runtime.GOROOT()
+       if runtime.GOOS == "windows" {
+               abspath = strings.ToLower(abspath)
+               goroot = strings.ToLower(goroot)
+       }
+       return strings.HasPrefix(abspath, goroot), nil
+}
+
 // Generate output source file from a source set src.
 func (src *Source) Generate(w io.Writer) error {
        const (
@@ -693,9 +711,13 @@ func (src *Source) Generate(w io.Writer) error {
                pkgXSysWindows        // x/sys/windows package
                pkgOther
        )
+       isStdRepo, err := src.IsStdRepo()
+       if err != nil {
+               return err
+       }
        var pkgtype int
        switch {
-       case !*sysRepo:
+       case isStdRepo:
                pkgtype = pkgStd
        case packageName == "windows":
                // TODO: this needs better logic than just using package name
@@ -734,7 +756,7 @@ func (src *Source) Generate(w io.Writer) error {
                },
        }
        t := template.Must(template.New("main").Funcs(funcMap).Parse(srcTemplate))
-       err := t.Execute(w, src)
+       err = t.Execute(w, src)
        if err != nil {
                return errors.New("Failed to execute template: " + err.Error())
        }