From 843a2566970880c91d7252dc3d5646dcb79c2d78 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 11 Dec 2020 13:59:14 +0100 Subject: wincompat: add resource and manifest and enable lto Signed-off-by: Jason A. Donenfeld --- src/Makefile | 10 +++++++--- src/wincompat/manifest.xml | 23 +++++++++++++++++++++++ src/wincompat/resources.rc | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 src/wincompat/manifest.xml create mode 100644 src/wincompat/resources.rc (limited to 'src') diff --git a/src/Makefile b/src/Makefile index 157153e..037d2dd 100644 --- a/src/Makefile +++ b/src/Makefile @@ -57,9 +57,13 @@ LDLIBS += -lnetwork -lbsd endif ifeq ($(PLATFORM),windows) CC := x86_64-w64-mingw32-gcc -CFLAGS += -Iwincompat/include -include wincompat/compat.h -LDLIBS += -lws2_32 -wg: wincompat/libc.o wincompat/init.o +WINDRES := x86_64-w64-mingw32-windres +CFLAGS += -Iwincompat/include -include wincompat/compat.h -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -flto +LDLIBS += -lws2_32 -flto +VERSION := $(patsubst "%",%,$(filter "%",$(file < version.h))) +wg: wincompat/libc.o wincompat/init.o wincompat/resources.o +wincompat/resources.o: wincompat/resources.rc wincompat/manifest.xml + $(WINDRES) -DVERSION_STR=$(VERSION) -O coff -c 65001 -i $< -o $@ endif ifneq ($(V),1) diff --git a/src/wincompat/manifest.xml b/src/wincompat/manifest.xml new file mode 100644 index 0000000..b47de27 --- /dev/null +++ b/src/wincompat/manifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wincompat/resources.rc b/src/wincompat/resources.rc new file mode 100644 index 0000000..2a0330c --- /dev/null +++ b/src/wincompat/resources.rc @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * Copyright (C) 2020 Jason A. Donenfeld. All Rights Reserved. + */ + +#include + +#pragma code_page(65001) // UTF-8 + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST manifest.xml + +#define STRINGIZE(x) #x +#define EXPAND(x) STRINGIZE(x) + +VS_VERSION_INFO VERSIONINFO +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "WireGuard LLC" + VALUE "FileDescription", "WireGuard wg(8) CLI: Fast, Modern, Secure VPN Tunnel" + VALUE "FileVersion", EXPAND(VERSION_STR) + VALUE "InternalName", "wg" + VALUE "LegalCopyright", "Copyright © 2015-2020 Jason A. Donenfeld . All Rights Reserved." + VALUE "OriginalFilename", "wg.exe" + VALUE "ProductName", "WireGuard" + VALUE "ProductVersion", EXPAND(VERSION_STR) + VALUE "Comments", "https://www.wireguard.com/" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x4b0 + END +END -- cgit v1.2.3-59-g8ed1b