mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-05 08:37:31 -04: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
|
package windows
|
||||||
|
|
||||||
//go:generate ./mkerrors.bash zerrors_windows.go
|
//go:generate ./generate.bash
|
||||||
Executable
+15
@@ -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; }
|
[[ $# -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)"
|
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
|
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