mirror of
https://github.com/golang/sys.git
synced 2026-02-09 04:06:04 +03:00
windows: make zsyscall_windows.go generatable on non-WSL env
mkerrors.bash requires a Windows host, as it hard-codes paths like /mnt/c/Program Files (x86)/Windows Kits. But this does not allow to generate in non-WSL env. Currently mkerrors.bash runs earlier than mksyscall_windows.go when we run `go generate` and it fails on non-WSL env. So zsyscall_windows.go is not generated in that case. To fix that, I reoreder of code generation in this CL so that we can generate zsyscall_windows.go in non-WSL env. Also update error message in mkerrors.bash. Change-Id: I04eccdbfe1e1ff56f8c405250f0724000d66d579 Reviewed-on: https://go-review.googlesource.com/c/sys/+/178781 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
95d888ea44
commit
ad28b68e88
@@ -6,4 +6,4 @@
|
||||
|
||||
package windows
|
||||
|
||||
//go:generate ./mkerrors.bash zerrors_windows.go
|
||||
//go:generate ./generate.bash
|
||||
15
windows/generate.bash
Executable file
15
windows/generate.bash
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright 2019 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.
|
||||
|
||||
set -e
|
||||
|
||||
# For successful zsyscall_windows.go generation on non-WSL env, this should
|
||||
# run before mkerrors.bash.
|
||||
echo "# Generating zsyscall_windows.go ..."
|
||||
go run $(go env GOROOT)/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go
|
||||
|
||||
echo "# Generating zerrors_windows.go ..."
|
||||
./mkerrors.bash zerrors_windows.go
|
||||
@@ -9,7 +9,7 @@ shopt -s nullglob
|
||||
|
||||
[[ $# -eq 1 ]] || { echo "Usage: $0 OUTPUT_FILE.go" >&2; exit 1; }
|
||||
winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)"
|
||||
[[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; }
|
||||
[[ -n $winerror ]] || { echo "Unable to find winerror.h; this expects to be run on Windows with WSL" >&2; exit 1; }
|
||||
|
||||
declare -A errors
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
// Copyright 2009 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.
|
||||
|
||||
// +build generate
|
||||
|
||||
package windows
|
||||
|
||||
//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go
|
||||
Reference in New Issue
Block a user