summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2021-11-19 03:25:38 +0200
committerStelios Tsampas2021-11-19 03:25:38 +0200
commitf8861b7f2d8f7c0386ee2889762f8c3eb5f85753 (patch)
treeb49d58d4625ec7294eac66232998a01b9a53fe7c
parent6c63e158d35fd44d143eabc52e7a56b6baef4ac7 (diff)
downloadaur-f8861b7f2d8f7c0386ee2889762f8c3eb5f85753.tar.gz
version: 6.3-20211118
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD44
-rw-r--r--proton-sanitize_makefile.patch186
3 files changed, 147 insertions, 92 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e08513e8e651..8728545dff90 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = proton-experimental
pkgdesc = Compatibility tool for Steam Play based on Wine and additional components, experimental branch
- pkgver = 6.3.20211111
+ pkgver = 6.3.20211118
pkgrel = 1
epoch = 1
url = https://github.com/ValveSoftware/Proton
@@ -201,7 +201,8 @@ pkgbase = proton-experimental
noextract = wine-mono-6.4.1-x86.tar.xz
options = !staticlibs
options = !lto
- source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=experimental-6.3-20211111
+ options = emptydirs
+ source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=experimental-6.3-20211118
source = wine-valve::git+https://github.com/ValveSoftware/wine.git
source = dxvk-valve::git+https://github.com/ValveSoftware/dxvk.git
source = openvr::git+https://github.com/ValveSoftware/openvr.git
@@ -217,6 +218,7 @@ pkgbase = proton-experimental
source = dxil-spirv::git+https://github.com/HansKristian-Work/dxil-spirv.git
source = SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git
source = Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git
+ source = Vulkan-Loader::git+https://github.com/KhronosGroup/Vulkan-Loader.git
source = vkd3d-zfigura::git+https://repo.or.cz/vkd3d/zf.git
source = https://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86.tar.xz
source = https://dl.winehq.org/wine/wine-gecko/2.47.2/wine-gecko-2.47.2-x86_64.tar.xz
@@ -244,13 +246,14 @@ pkgbase = proton-experimental
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
+ sha256sums = SKIP
sha256sums = 8fab46ea2110b2b0beed414e3ebb4e038a3da04900e7a28492ca3c3ccf9fea94
sha256sums = b4476706a4c3f23461da98bed34f355ff623c5d2bb2da1e2fa0c6a310bc33014
sha256sums = a70c865e590058fa6fc3aa47425646405bdda27f78b9aa6d2030d2d2a8efadbb
sha256sums = ddde07c98045a3bc15fab5eaf3c6a756a6a4b4eaeec646d4339168b86ac00463
sha256sums = b4e9c0c4959fcb3f7b7f25e35e5e0577dac5d54fe18e6edb15852a2a4196f2a2
sha256sums = 9005d8169266ba0b93be30e1475fe9a3697464796f553886c155ec1d77d71215
- sha256sums = b92f05c506a78ad5e7d7557397b294fcaf5cfe1470fcb890717d443cbb049d4f
+ sha256sums = 37b262cfe70b19b59c06f24a35dceb8473d6dfc0016ca9bd20b1d4fa271ee6fe
sha256sums = 12a587972a101a6d0c279a3820135277097c5f3e9f5990c5741d5fb1626dc770
sha256sums = cfe984e2b3d65b01e2875e51b8ef8b8d6f1268dd09a88d5611655f24b46cff8d
diff --git a/PKGBUILD b/PKGBUILD
index 63b22a88d164..0d54b3425b1e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
pkgname=proton-experimental
-_srctag=6.3-20211111
+_srctag=6.3-20211118
_commit=
pkgver=${_srctag//-/.}
_geckover=2.47.2
@@ -12,7 +12,7 @@ epoch=1
pkgdesc="Compatibility tool for Steam Play based on Wine and additional components, experimental branch"
url="https://github.com/ValveSoftware/Proton"
arch=(x86_64 x86_64_v3)
-options=(!staticlibs !lto)
+options=(!staticlibs !lto emptydirs)
license=('custom')
depends=(
@@ -121,6 +121,7 @@ source=(
dxil-spirv::git+https://github.com/HansKristian-Work/dxil-spirv.git
SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git
Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git
+ Vulkan-Loader::git+https://github.com/KhronosGroup/Vulkan-Loader.git
vkd3d-zfigura::git+https://repo.or.cz/vkd3d/zf.git
https://dl.winehq.org/wine/wine-gecko/${_geckover}/wine-gecko-${_geckover}-x86{,_64}.tar.xz
https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz
@@ -136,6 +137,28 @@ noextract=(
wine-mono-${_monover}-x86.tar.xz
)
+_make_wrappers () {
+ local _i686=(i686 "-m32" "-melf_i386")
+ local _x86_64=(x86_64 "" "")
+ local _opts=(_i686 _x86_64)
+ declare -n _opt
+ for _opt in "${_opts[@]}"; do
+ for l in ar as ranlib nm; do
+ ln -s /usr/bin/$l wrappers/${_opt[0]}-pc-linux-gnu-$l
+ done
+ for t in gcc g++; do
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-$t <<EOF
+#!/usr/bin/bash
+$(which ccache 2> /dev/null) /usr/bin/$t ${_opt[1]} "\$@"
+EOF
+ done
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-ld <<EOF
+#!/usr/bin/bash
+/usr/bin/ld ${_opt[2]} "\$@"
+EOF
+ done
+}
+
prepare() {
# I know this is fugly and it should NOT be done
# but the afdko package from AUR breaks regularly.
@@ -146,6 +169,10 @@ prepare() {
pip install --no-cache-dir afdko
pip install --no-cache-dir pefile
+ # Provide wrappers to compiler tools
+ rm -rf wrappers && mkdir wrappers
+ _make_wrappers
+
[ ! -d gecko ] && mkdir gecko
mv wine-gecko-${_geckover}-x86{,_64}.tar.xz gecko/
@@ -170,6 +197,7 @@ prepare() {
dxvk-nvapi
SPIRV-Headers
Vulkan-Headers
+ Vulkan-Loader
vkd3d-zfigura::vkd3d
)
@@ -224,10 +252,19 @@ prepare() {
patch -p1 -i "$srcdir"/proton-sanitize_makefile.patch
patch -p1 -i "$srcdir"/proton-disable_lock.patch
patch -p1 -i "$srcdir"/proton-user_compat_data.patch
+
+ # Remove repos from srcdir to save space
+ for submodule in "${_submodules[@]}"; do
+ rm -rf "$srcdir"/"${submodule%::*}"
+ done
+ rm -rf "$srcdir"/dxil-spirv
+ rm -rf "$srcdir"/Vulkan-Headers
+ rm -rf "$srcdir"/SPIRV-Headers
}
build() {
source build_venv/bin/activate
+ export PATH="$(pwd)/wrappers:$PATH"
cd build
ROOTLESS_CONTAINER="" \
@@ -337,12 +374,13 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
+ 'SKIP'
'8fab46ea2110b2b0beed414e3ebb4e038a3da04900e7a28492ca3c3ccf9fea94'
'b4476706a4c3f23461da98bed34f355ff623c5d2bb2da1e2fa0c6a310bc33014'
'a70c865e590058fa6fc3aa47425646405bdda27f78b9aa6d2030d2d2a8efadbb'
'ddde07c98045a3bc15fab5eaf3c6a756a6a4b4eaeec646d4339168b86ac00463'
'b4e9c0c4959fcb3f7b7f25e35e5e0577dac5d54fe18e6edb15852a2a4196f2a2'
'9005d8169266ba0b93be30e1475fe9a3697464796f553886c155ec1d77d71215'
- 'b92f05c506a78ad5e7d7557397b294fcaf5cfe1470fcb890717d443cbb049d4f'
+ '37b262cfe70b19b59c06f24a35dceb8473d6dfc0016ca9bd20b1d4fa271ee6fe'
'12a587972a101a6d0c279a3820135277097c5f3e9f5990c5741d5fb1626dc770'
'cfe984e2b3d65b01e2875e51b8ef8b8d6f1268dd09a88d5611655f24b46cff8d')
diff --git a/proton-sanitize_makefile.patch b/proton-sanitize_makefile.patch
index e3f7d864d698..2d1c97d21ee8 100644
--- a/proton-sanitize_makefile.patch
+++ b/proton-sanitize_makefile.patch
@@ -1,8 +1,8 @@
diff --git a/build/makefile_base.mak b/build/makefile_base.mak
-index e07c04c..9450c6b 100644
+index f050b4b..a1e44c6 100644
--- a/build/makefile_base.mak
+++ b/build/makefile_base.mak
-@@ -63,7 +63,6 @@ ifeq ($(ENABLE_CCACHE),1)
+@@ -62,7 +62,6 @@ ifeq ($(ENABLE_CCACHE),1)
export CCACHE_DIR := $(if $(CCACHE_DIR),$(CCACHE_DIR),$(HOME)/.ccache)
DOCKER_OPTS := -v $(CCACHE_DIR):$(CCACHE_DIR)$(CONTAINER_MOUNT_OPTS) $(CCACHE_ENV) -e CCACHE_DIR=$(CCACHE_DIR) $(DOCKER_OPTS)
else
@@ -10,7 +10,7 @@ index e07c04c..9450c6b 100644
DOCKER_OPTS := $(CCACHE_ENV) -e CCACHE_DISABLE=1 $(DOCKER_OPTS)
endif
-@@ -121,7 +120,7 @@ container-build:
+@@ -120,7 +119,7 @@ container-build:
all32 $(MAKECMDGOALS32): container-build
all64 $(MAKECMDGOALS64): container-build
else
@@ -19,7 +19,7 @@ index e07c04c..9450c6b 100644
endif
-@@ -171,7 +170,8 @@ else
+@@ -170,7 +169,8 @@ else
endif
CROSSLDFLAGS += -Wl,--file-alignment,4096
@@ -29,7 +29,7 @@ index e07c04c..9450c6b 100644
SANITY_FLAGS := -fwrapv -fno-strict-aliasing
DEBUG_FLAGS := -gdwarf-2 -gstrict-dwarf
COMMON_FLAGS = $(DEBUG_FLAGS) $(OPTIMIZE_FLAGS) $(SANITY_FLAGS) -ffile-prefix-map=$(CCACHE_BASEDIR)=.
-@@ -356,8 +356,8 @@ ALL_TARGETS += dist
+@@ -355,8 +355,8 @@ ALL_TARGETS += dist
GOAL_TARGETS += dist
dist_prefix: wine gst_good
@@ -40,7 +40,7 @@ index e07c04c..9450c6b 100644
rm -rf $(abspath $(DIST_PREFIX))
python3 $(SRCDIR)/default_pfx.py $(abspath $(DIST_PREFIX)) $(abspath $(DST_DIR)) $(STEAM_RUNTIME_RUNSH)
-@@ -410,6 +410,9 @@ endif # ifeq ($(CONTAINER),)
+@@ -409,6 +409,9 @@ endif # ifeq ($(CONTAINER),)
##
GST_COMMON_MESON_ARGS := \
@@ -50,7 +50,7 @@ index e07c04c..9450c6b 100644
-Dexamples=disabled \
-Dtests=disabled \
-Dgtk_doc=disabled \
-@@ -422,6 +425,7 @@ GST_COMMON_MESON_ARGS := \
+@@ -421,6 +424,7 @@ GST_COMMON_MESON_ARGS := \
GST_ORC_MESON_ARGS := \
-Dorc-test=disabled \
@@ -58,7 +58,7 @@ index e07c04c..9450c6b 100644
$(GST_COMMON_MESON_ARGS)
$(eval $(call rules-source,gst_orc,$(SRCDIR)/gst-orc))
-@@ -438,6 +442,9 @@ GSTREAMER_MESON_ARGS := \
+@@ -437,6 +441,9 @@ GSTREAMER_MESON_ARGS := \
-Dbenchmarks=disabled \
-Dtools=disabled \
-Dbash-completion=disabled \
@@ -68,7 +68,7 @@ index e07c04c..9450c6b 100644
$(GST_COMMON_MESON_ARGS)
GSTREAMER_DEPENDS = gst_orc
-@@ -476,6 +483,7 @@ GST_BASE_MESON_ARGS := \
+@@ -475,6 +482,7 @@ GST_BASE_MESON_ARGS := \
-Dxshm=disabled \
-Dxvideo=disabled \
-Dtools=disabled \
@@ -76,7 +76,7 @@ index e07c04c..9450c6b 100644
$(GST_COMMON_MESON_ARGS)
GST_BASE_DEPENDS = gst_orc gstreamer
-@@ -537,6 +545,7 @@ GST_GOOD_MESON_ARGS := \
+@@ -536,6 +544,7 @@ GST_GOOD_MESON_ARGS := \
-Dximagesrc=disabled \
-Dy4m=disabled \
-Dtools=disabled \
@@ -84,7 +84,7 @@ index e07c04c..9450c6b 100644
$(GST_COMMON_MESON_ARGS)
GST_GOOD_DEPENDS = gst_orc gstreamer gst_base
-@@ -680,8 +689,14 @@ WINE_SOURCE_ARGS = \
+@@ -694,10 +703,19 @@ WINE_SOURCE_ARGS = \
--exclude include/config.h.in \
WINE_CONFIGURE_ARGS = \
@@ -98,52 +98,52 @@ index e07c04c..9450c6b 100644
+ --disable-win16 \
--disable-tests
++WINE_CFLAGS= -fno-builtin-sin -fno-builtin-sinf -fno-builtin-cos -fno-builtin-cosf
++WINE_CXXFLAGS= -fno-builtin-sin -fno-builtin-sinf -fno-builtin-cos -fno-builtin-cosf
++
WINE_CONFIGURE_ARGS64 = --enable-win64
-@@ -810,17 +825,18 @@ VKD3D_CONFIGURE_ARGS = \
- --disable-tests \
- --disable-demos \
- --without-ncurses \
-- WIDL=$(WINE_OBJ64)/tools/widl/widl
-
- VKD3D_CONFIGURE_ARGS32 = \
- --host=i686-w64-mingw32 \
- CC="$(CCACHE_BIN) i686-w64-mingw32-gcc" \
- LD="i686-w64-mingw32-ld" \
-+ WIDL=$(WINE_OBJ32)/tools/widl/widl
-
- VKD3D_CONFIGURE_ARGS64 = \
- --host=x86_64-w64-mingw32 \
- CC="$(CCACHE_BIN) x86_64-w64-mingw32-gcc" \
- LD="x86_64-w64-mingw32-ld" \
-+ WIDL=$(WINE_OBJ64)/tools/widl/widl
-
- VKD3D_LDFLAGS = -static-libgcc $(CROSSLDFLAGS)
- VKD3D_LDFLAGS32 = -L$(WINE_OBJ32)/dlls/vulkan-1/
-@@ -850,7 +866,7 @@ VKD3D_PROTON_SOURCE_ARGS = \
+
+ WINE_DEPENDS = gst_orc gstreamer gst_base faudio jxrlib
+@@ -757,6 +775,9 @@ $(OBJ)/.vrclient-post-source:
+ DXVK_MESON_ARGS32 = --bindir=$(DXVK_DST32)/lib/wine/dxvk
+ DXVK_MESON_ARGS64 = --bindir=$(DXVK_DST64)/lib64/wine/dxvk
+
++DXVK_CPPFLAGS= -msse -msse2
++DXVK_LDFLAGS= -static -static-libgcc -static-libstdc++
++
+ $(eval $(call rules-source,dxvk,$(SRCDIR)/dxvk))
+ $(eval $(call rules-meson,dxvk,32,CROSS))
+ $(eval $(call rules-meson,dxvk,64,CROSS))
+@@ -779,6 +800,9 @@ $(OBJ)/.dxvk-post-build32:
+ DXVK_NVAPI_MESON_ARGS32 = --bindir=$(DXVK_NVAPI_DST32)/lib/wine/nvapi
+ DXVK_NVAPI_MESON_ARGS64 = --bindir=$(DXVK_NVAPI_DST64)/lib64/wine/nvapi
+
++DXVK_NVAPI_CPPFLAGS= -msse -msse2
++DXVK_NVAPI_LDFLAGS= -static -static-libgcc -static-libstdc++
++
+ $(eval $(call rules-source,dxvk-nvapi,$(SRCDIR)/dxvk-nvapi))
+ $(eval $(call rules-meson,dxvk-nvapi,32,CROSS))
+ $(eval $(call rules-meson,dxvk-nvapi,64,CROSS))
+@@ -842,10 +866,13 @@ VKD3D_PROTON_SOURCE_ARGS = \
--exclude vkd3d_build.h.in \
--exclude vkd3d_version.h.in \
-VKD3D_PROTON_MESON_ARGS = -Denable_standalone_d3d12=true
+VKD3D_PROTON_MESON_ARGS = -Denable_d3d12=true
- VKD3D_PROTON_MESON_ARGS32 = \
- --bindir=$(VKD3D_PROTON_DST32)/lib/wine/vkd3d-proton \
- --cross-file=$(VKD3D_PROTON_OBJ32)/build-win32.txt
+ VKD3D_PROTON_MESON_ARGS32 = --bindir=$(VKD3D_PROTON_DST32)/lib/wine/vkd3d-proton
+ VKD3D_PROTON_MESON_ARGS64 = --bindir=$(VKD3D_PROTON_DST64)/lib64/wine/vkd3d-proton
+
++VKD3D_PROTON_CPPFLAGS= -msse -msse2
++VKD3D_PROTON_LDFLAGS= -static -static-libgcc -static-libstdc++
++
+ $(eval $(call rules-source,vkd3d-proton,$(SRCDIR)/vkd3d-proton))
+ $(eval $(call rules-meson,vkd3d-proton,32,CROSS))
+ $(eval $(call rules-meson,vkd3d-proton,64,CROSS))
diff --git a/make/rules-autoconf.mk b/make/rules-autoconf.mk
-index 6567f05..cb41249 100644
+index 0827caa..4e6d19f 100644
--- a/make/rules-autoconf.mk
+++ b/make/rules-autoconf.mk
-@@ -21,8 +21,8 @@ $$(OBJ)/.$(1)-configure$(3): $$(OBJ)/.$(1)-pre-configure
- --prefix="$$($(2)_DST$(3))" \
- --libdir="$$($(2)_DST$(3))/lib$(subst 32,,$(3))" \
- $$($(2)_ENV$(3)) \
-- CROSSCFLAGS="$$(COMMON_FLAGS)" \
-- CROSSCXXFLAGS="$$(COMMON_FLAGS) -std=c++17" \
-+ CROSSCFLAGS="$$(COMMON_FLAGS) -fno-builtin-sin -fno-builtin-sinf -fno-builtin-cos -fno-builtin-cosf" \
-+ CROSSCXXFLAGS="$$(COMMON_FLAGS) -fno-builtin-sin -fno-builtin-sinf -fno-builtin-cos -fno-builtin-cosf -std=c++17" \
- CROSSLDFLAGS="$$(CROSSLDFLAGS)" \
- $$($(2)_CONFIGURE_ARGS) \
- $$($(2)_CONFIGURE_ARGS$(3))
-@@ -32,9 +32,9 @@ $$(OBJ)/.$(1)-configure$(3): $$(OBJ)/.$(1)-pre-configure
+@@ -31,9 +31,9 @@ $$(OBJ)/.$(1)-configure$(3): $$(OBJ)/.$(1)-pre-configure
$$(OBJ)/.$(1)-build$(3):
@echo ":: building $(3)bit $(1)..." >&2
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
@@ -156,25 +156,25 @@ index 6567f05..cb41249 100644
endif
endef
diff --git a/make/rules-cargo.mk b/make/rules-cargo.mk
-index 36ec054..91d8cf0 100644
+index 2dbfe75..6afbc42 100644
--- a/make/rules-cargo.mk
+++ b/make/rules-cargo.mk
-@@ -14,7 +14,9 @@ $(OBJ)/.$(1)-configure$(3):
- $(OBJ)/.$(1)-build$(3):
+@@ -14,7 +14,9 @@ $$(OBJ)/.$(1)-configure$(3):
+ $$(OBJ)/.$(1)-build$(3):
@echo ":: building $(3)bit $(1)..." >&2
cd $$($(2)_SRC) && env $$($(2)_ENV$(3)) \
-- cargo build $$(filter -j%,$$(MAKEFLAGS)) --target "$$(ARCH$(3))-unknown-linux-gnu" --target-dir $$($(2)_OBJ$(3)) $$(CARGO_BUILD_ARG)
+- cargo build $$(filter -j%,$$(MAKEFLAGS)) --target "$$(CARGO_TARGET_$(3))" --target-dir $$($(2)_OBJ$(3)) $$(CARGO_BUILD_ARG)
+ cargo update --offline --verbose
+ cd $$($(2)_SRC) && env $$($(2)_ENV$(3)) \
-+ cargo build -j$$(SUBJOBS) --locked --offline --verbose --target "$$(ARCH$(3))-unknown-linux-gnu" --target-dir $$($(2)_OBJ$(3)) $$(CARGO_BUILD_ARG)
++ cargo build -j$$(SUBJOBS) --locked --offline --verbose --target "$$(CARGO_TARGET_$(3))" --target-dir $$($(2)_OBJ$(3)) $$(CARGO_BUILD_ARG)
touch $$@
endif
endef
diff --git a/make/rules-cmake.mk b/make/rules-cmake.mk
-index 4c61951..3f3a62b 100644
+index 0e18df9..2150cba 100644
--- a/make/rules-cmake.mk
+++ b/make/rules-cmake.mk
-@@ -24,9 +24,9 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/CMakeLists.txt
+@@ -28,9 +28,9 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/CMakeLists.txt
$$(OBJ)/.$(1)-build$(3):
@echo ":: building $(3)bit $(1)..." >&2
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
@@ -187,51 +187,65 @@ index 4c61951..3f3a62b 100644
endif
endef
diff --git a/make/rules-common.mk b/make/rules-common.mk
-index 083655b..28d7785 100644
+index 4d72ac0..7b1b13b 100644
--- a/make/rules-common.mk
+++ b/make/rules-common.mk
-@@ -108,18 +108,22 @@ CONTAINERGOALS := $(CONTAINERGOALS) $(filter $(1),$(MAKECMDGOALS))
-
+@@ -119,8 +119,12 @@ $(2)_LIBFLAGS$(3) = $$(foreach d,$$($(2)_DEPS$(3)),-L$$($$(d)_LIBDIR$(3))) \
+ # native version doesn't exist.
$(2)_ENV$(3) = \
+ WINEDEBUG="-all" \
+ WINEPREFIX="$$(OBJ)/pfx-wine$(3)" \
+ WINEDLLOVERRIDES="winemenubuilder=d;mscoree=d;mshtml=d" \
CARGO_HOME=$$(OBJ)/.cargo \
-- CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="$$(ARCH$(3))-linux-gnu-gcc" \
-+ CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="gcc" \
-+ CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_RUSTFLAGS="$$(RUSTFLAGS)" \
+ CARGO_TARGET_$$(call toupper,$$(CARGO_TARGET_$(3)))_LINKER="$$(TARGET_$(4)$(3))-gcc" \
++ CARGO_TARGET_$$(call toupper,$$(CARGO_TARGET_$(3)))_RUSTFLAGS="$$(RUSTFLAGS)" \
CCACHE_BASEDIR="$$(CCACHE_BASEDIR)" \
STRIP="$$(STRIP)" \
-- CC="$$(CCACHE_BIN) $$(ARCH$(3))-linux-gnu-gcc" \
-- CXX="$$(CCACHE_BIN) $$(ARCH$(3))-linux-gnu-g++" \
-+ CC="$$(CCACHE_BIN) gcc -m$(3)" \
-+ CXX="$$(CCACHE_BIN) g++ -m$(3)" \
- LD="$$(ARCH$(3))-linux-gnu-ld" \
-- PKG_CONFIG="$$(ARCH$(3))-linux-gnu-pkg-config" \
-+ PKG_CONFIG="$$(ARCH$(3))-pc-linux-gnu-pkg-config" \
- CROSSCC="$$(CCACHE_BIN) $$(ARCH$(3))-w64-mingw32-gcc" \
- CROSSCXX="$$(CCACHE_BIN) $$(ARCH$(3))-w64-mingw32-g++" \
- CROSSLD="$$(ARCH$(3))-w64-mingw32-ld" \
-- CROSSPKG_CONFIG="$$(ARCH$(3))-linux-gnu-pkg-config" \
-+ CROSSPKG_CONFIG="$$(ARCH$(3))-pc-linux-gnu-pkg-config" \
+ AR="$$(TARGET_$(4)$(3))-ar" \
+@@ -134,7 +138,7 @@ $(2)_ENV$(3) = \
PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_BINDIR$(3))),,:):$$(SRC)/glslang/bin:$$$$PATH" \
LD_LIBRARY_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_LIBDIR$(3))),,:)$$$$LD_LIBRARY_PATH" \
PKG_CONFIG_PATH="$$(call list-join,:,$$(foreach d,$$($(2)_DEPS$(3)),$$($$(d)_LIBDIR$(3))/pkgconfig))" \
+- PKG_CONFIG_LIBDIR="/usr/lib/$$(PKG_CONFIG_TARGET_$(4)$(3))/pkgconfig:/usr/share/pkgconfig" \
++ PKG_CONFIG_LIBDIR="/usr/lib$(3)/pkgconfig:/usr/share/pkgconfig" \
+ CFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
+ CPPFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
+ CXXFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17" \
+@@ -158,7 +162,7 @@ $(2)_ENV$(3) += \
+ CROSSCPPFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CPPFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3))" \
+ CROSSCXXFLAGS="$$($(2)_INCFLAGS$(3)) $$($(2)_CXXFLAGS) $$(COMMON_FLAGS) $$(COMMON_FLAGS$(3)) -std=c++17" \
+ CROSSLDFLAGS="$$($(2)_LIBFLAGS$(3)) $$($(2)_LDFLAGS$(3)) $$($(2)_LDFLAGS) $$(CROSSLDFLAGS)" \
+- CROSSPKG_CONFIG_LIBDIR="/usr/lib/$$(PKG_CONFIG_TARGET_CROSS$(3))/pkgconfig:/usr/share/pkgconfig" \
++ CROSSPKG_CONFIG_LIBDIR="/usr/lib$(3)/pkgconfig:/usr/share/pkgconfig" \
+
+ endif
+
+@@ -171,14 +175,14 @@ else
+ install-strip = objcopy --file-alignment=4096 --strip-debug $(1) $(2)/$(notdir $(1)) && rm -f $(2)/$(notdir $(1)).debug
+ endif
+
+-TARGET_32 := i686-linux-gnu
+-TARGET_64 := x86_64-linux-gnu
++TARGET_32 := i686-pc-linux-gnu
++TARGET_64 := x86_64-pc-linux-gnu
+ TARGET_CROSS32 := i686-w64-mingw32
+ TARGET_CROSS64 := x86_64-w64-mingw32
+
+-PKG_CONFIG_TARGET_32 := i386-linux-gnu
+-PKG_CONFIG_TARGET_64 := x86_64-linux-gnu
+-PKG_CONFIG_TARGET_CROSS32 := i386-w64-mingw32
++PKG_CONFIG_TARGET_32 := i686-pc-linux-gnu
++PKG_CONFIG_TARGET_64 := x86_64-pc-linux-gnu
++PKG_CONFIG_TARGET_CROSS32 := i686-w64-mingw32
+ PKG_CONFIG_TARGET_CROSS64 := x86_64-w64-mingw32
+
+ $(OBJ)/.%-post-build32:
diff --git a/make/rules-meson.mk b/make/rules-meson.mk
-index 7b982fa..a4fde46 100644
+index d603bfd..f798edf 100644
--- a/make/rules-meson.mk
+++ b/make/rules-meson.mk
-@@ -11,7 +11,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
- @echo ":: configuring $(3)bit $(1)..." >&2
- rm -rf "$$($(2)_OBJ$(3))/meson-private/coredata.dat"
-
-- grep -s -v -e c_args -e cpp_args -e link_args "$$($(2)_SRC)/build-win$(3).txt" | \
-+ grep -s -v -e c_args -e cpp_args "$$($(2)_SRC)/build-win$(3).txt" | \
- sed -e "s:\[properties\]:[properties]\nc_args = [$$(call list-quote,$$(COMMON_FLAGS))]:" \
- -e "s:\[properties\]:[properties]\ncpp_args = [$$(call list-quote,$$(COMMON_FLAGS))]:" \
- -e "s:\[properties\]:[properties]\nlink_args = [$$(call list-quote,$$(CROSSLDFLAGS))]:" \
-@@ -31,7 +31,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
+@@ -60,7 +60,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
$$(OBJ)/.$(1)-build$(3):
@echo ":: building $(3)bit $(1)..." >&2
env $$($(2)_ENV$(3)) \
@@ -241,10 +255,10 @@ index 7b982fa..a4fde46 100644
endif
endef
diff --git a/make/rules-winemaker.mk b/make/rules-winemaker.mk
-index 8a0f0ce..36a107c 100644
+index d8e6d12..33697b9 100644
--- a/make/rules-winemaker.mk
+++ b/make/rules-winemaker.mk
-@@ -29,7 +29,7 @@ $(OBJ)/.$(1)-build$(3):
+@@ -29,7 +29,7 @@ $$(OBJ)/.$(1)-build$(3):
@echo ":: building $(3)bit $(1)..." >&2
rsync -arx "$$($(2)_SRC)/" "$$($(2)_OBJ$(3))/"
env $$($(2)_ENV$(3)) \