aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2020-10-25 20:34:44 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2020-11-10 17:35:01 +0100
commitc17369d214bd412cdd3c669e4c4e6f36cdff26f6 (patch)
treed4f9e6e1ad20d15cba70da689c4f557f497c0fa8
parentmanager: adopt new Wintun API (diff)
downloadwireguard-windows-c17369d214bd412cdd3c669e4c4e6f36cdff26f6.tar.xz
wireguard-windows-c17369d214bd412cdd3c669e4c4e6f36cdff26f6.zip
version: make native Go
Arm has no CGo support. Signed-off-by: Simon Rozman <simon@rozman.si> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--build.bat4
-rw-r--r--installer/build.bat2
-rw-r--r--quickinstall.bat2
-rw-r--r--resources.rc8
-rw-r--r--version/useragent.go5
-rw-r--r--version/version.go10
-rw-r--r--version/version.h2
7 files changed, 20 insertions, 13 deletions
diff --git a/build.bat b/build.bat
index d7ee7dd1..6c7ae981 100644
--- a/build.bat
+++ b/build.bat
@@ -36,6 +36,8 @@ if exist .deps\prepared goto :render
for %%a in ("ui\icon\*.svg") do convert -background none "%%~fa" -define icon:auto-resize="256,192,128,96,64,48,32,24,16" "%%~dpna.ico" || goto :error
:build
+ for /f "tokens=3" %%a in ('findstr /r "Number.*=.*[0-9.]*" .\version\version.go') do set WIREGUARD_VERSION=%%a
+ set WIREGUARD_VERSION=%WIREGUARD_VERSION:"=%
set GOOS=windows
set GOPATH=%BUILDDIR%.deps\gopath
set GOROOT=%BUILDDIR%.deps\go
@@ -79,7 +81,7 @@ if exist .deps\prepared goto :render
set GOARCH=%~3
mkdir %1 >NUL 2>&1
echo [+] Assembling resources %1
- windres -I ".deps\wintun\bin\%~1" -i resources.rc -o "resources_%~3.syso" -O coff || exit /b %errorlevel%
+ windres -I ".deps\wintun\bin\%~1" -DWIREGUARD_WINDOWS_VERSION_ARRAY=%WIREGUARD_VERSION:.=,% -DWIREGUARD_WINDOWS_VERSION_STR=%WIREGUARD_VERSION% -i resources.rc -o "resources_%~3.syso" -O coff || exit /b %errorlevel%
echo [+] Building program %1
go build -ldflags="-H windowsgui -s -w" -tags walk_use_cgo -trimpath -v -o "%~1\wireguard.exe" || exit /b 1
if not exist "%~1\wg.exe" (
diff --git a/installer/build.bat b/installer/build.bat
index 318fbb29..20722bc5 100644
--- a/installer/build.bat
+++ b/installer/build.bat
@@ -7,7 +7,7 @@ set PATHEXT=.exe
set BUILDDIR=%~dp0
cd /d %BUILDDIR% || exit /b 1
-for /f "tokens=3" %%a in ('findstr /r "WIREGUARD_WINDOWS_VERSION_STRING.*[0-9.]*" ..\version\version.h') do set WIREGUARD_VERSION=%%a
+for /f "tokens=3" %%a in ('findstr /r "Number.*=.*[0-9.]*" ..\version\version.go') do set WIREGUARD_VERSION=%%a
set WIREGUARD_VERSION=%WIREGUARD_VERSION:"=%
set WIX_CANDLE_FLAGS=-nologo -dWIREGUARD_VERSION="%WIREGUARD_VERSION%"
diff --git a/quickinstall.bat b/quickinstall.bat
index 9765fdb0..7499236a 100644
--- a/quickinstall.bat
+++ b/quickinstall.bat
@@ -11,6 +11,6 @@ call .\installer\build.bat || exit /b 1
echo [+] Uninstalling old versions
for /f %%a in ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s /d /c /e /f WireGuard ^| findstr CurrentVersion\Uninstall') do msiexec /qb /x %%~na
echo [+] Installing new version
-for /f "tokens=3" %%a in ('findstr /r "WIREGUARD_WINDOWS_VERSION_STRING.*[0-9.]*" .\version.h') do set WIREGUARD_VERSION=%%a
+for /f "tokens=3" %%a in ('findstr /r "Number.*=.*[0-9.]*" .\version\version.go') do set WIREGUARD_VERSION=%%a
set WIREGUARD_VERSION=%WIREGUARD_VERSION:"=%
msiexec /qb /i installer\dist\wireguard-%PROCESSOR_ARCHITECTURE%-%WIREGUARD_VERSION%.msi
diff --git a/resources.rc b/resources.rc
index 063d1038..1299f62f 100644
--- a/resources.rc
+++ b/resources.rc
@@ -4,10 +4,12 @@
*/
#include <windows.h>
-#include "version/version.h"
#pragma code_page(65001) // UTF-8
+#define STRINGIZE(x) #x
+#define EXPAND(x) STRINGIZE(x)
+
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST manifest.xml
$wireguard.ico ICON ui/icon/wireguard.ico
@@ -28,12 +30,12 @@ BEGIN \
BEGIN \
VALUE "CompanyName", "WireGuard LLC" \
VALUE "FileDescription", file_desc \
- VALUE "FileVersion", WIREGUARD_WINDOWS_VERSION_STRING \
+ VALUE "FileVersion", EXPAND(WIREGUARD_WINDOWS_VERSION_STR) \
VALUE "InternalName", "wireguard-windows" \
VALUE "LegalCopyright", "Copyright © 2015-2020 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved." \
VALUE "OriginalFilename", "wireguard.exe" \
VALUE "ProductName", "WireGuard" \
- VALUE "ProductVersion", WIREGUARD_WINDOWS_VERSION_STRING \
+ VALUE "ProductVersion", EXPAND(WIREGUARD_WINDOWS_VERSION_STR) \
VALUE "Comments", comments \
END \
END \
diff --git a/version/useragent.go b/version/useragent.go
index 1c1adf55..77633765 100644
--- a/version/useragent.go
+++ b/version/useragent.go
@@ -10,11 +10,6 @@ import (
"runtime"
)
-// #include "version.h"
-import "C"
-
-const Number = C.WIREGUARD_WINDOWS_VERSION_STRING
-
func UserAgent() string {
return fmt.Sprintf("WireGuard/%s (%s; %s)", Number, OsName(), runtime.GOARCH)
}
diff --git a/version/version.go b/version/version.go
new file mode 100644
index 00000000..9b22b312
--- /dev/null
+++ b/version/version.go
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * Copyright (C) 2019-2020 WireGuard LLC. All Rights Reserved.
+ */
+
+package version
+
+const (
+ Number = "0.1.1"
+)
diff --git a/version/version.h b/version/version.h
deleted file mode 100644
index 0da08178..00000000
--- a/version/version.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIREGUARD_WINDOWS_VERSION_ARRAY 0,1,1
-#define WIREGUARD_WINDOWS_VERSION_STRING "0.1.1"