From 6c9e51470e6fef4282d22f419ac2deaf8435195d Mon Sep 17 00:00:00 2001 From: "Sean E. Russell" Date: Mon, 17 Feb 2020 13:00:52 -0600 Subject: Fixes cross-compiling, adds a new build script --- logging/logging_arm64.go | 2 ++ logging/logging_other.go | 1 + logging/logging_windows.go | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 logging/logging_windows.go (limited to 'logging') diff --git a/logging/logging_arm64.go b/logging/logging_arm64.go index 48ace31..03848bb 100644 --- a/logging/logging_arm64.go +++ b/logging/logging_arm64.go @@ -1,3 +1,5 @@ +// +build arm64 + package logging import ( diff --git a/logging/logging_other.go b/logging/logging_other.go index 6a48b69..f5705d6 100644 --- a/logging/logging_other.go +++ b/logging/logging_other.go @@ -1,3 +1,4 @@ +// +build linux openbsd freebsd // +build !arm64 package logging diff --git a/logging/logging_windows.go b/logging/logging_windows.go new file mode 100644 index 0000000..65a2e55 --- /dev/null +++ b/logging/logging_windows.go @@ -0,0 +1,18 @@ +// +build windows + +package logging + +import ( + "os" + "syscall" +) + +var ( + kernel32 = syscall.MustLoadDLL("kernel32.dll") + procSetStdHandle = kernel32.MustFindProc("SetStdHandle") +) + +func stderrToLogfile(logfile *os.File) { + // https://groups.google.com/d/msg/golang-nuts/fG8hEAs7ZXs/tahEOuCEPn0J. + syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(logfile.Fd()), 2, 0) +} -- cgit v1.2.3