diff options
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 81 | ||||
-rw-r--r-- | dxvk-extraopts.patch | 70 | ||||
-rw-r--r-- | proton-unfuck_makefile.patch | 67 |
4 files changed, 170 insertions, 71 deletions
@@ -1,7 +1,7 @@ pkgbase = proton-native pkgdesc = Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution - pkgver = 4.11.11 - pkgrel = 3 + pkgver = 4.11.12 + pkgrel = 1 url = https://github.com/ValveSoftware/Proton arch = x86_64 license = GPL @@ -12,6 +12,7 @@ pkgbase = proton-native makedepends = fontforge makedepends = flex makedepends = gcc>=4.5.0-2 + makedepends = mingw-w64-gcc makedepends = giflib makedepends = lib32-giflib makedepends = libpng @@ -94,9 +95,8 @@ pkgbase = proton-native makedepends = desktop-file-utils makedepends = python makedepends = steam-native-runtime - makedepends = wine-gecko=2.47 - makedepends = wine-mono-bin=4.9.4 - makedepends = dxvk>=1.5 + makedepends = wine-gecko>=2.47 + makedepends = wine-mono-bin>=4.9.4 depends = fontconfig depends = lib32-fontconfig depends = lcms2 @@ -128,9 +128,8 @@ pkgbase = proton-native depends = desktop-file-utils depends = python depends = steam-native-runtime - depends = wine-gecko=2.47 - depends = wine-mono-bin=4.9.4 - depends = dxvk>=1.5 + depends = wine-gecko>=2.47 + depends = wine-mono-bin>=4.9.4 optdepends = giflib optdepends = lib32-giflib optdepends = libpng @@ -171,9 +170,10 @@ pkgbase = proton-native optdepends = dosbox provides = proton-native conflicts = proton-native - source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-4.11-11 + source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-4.11-12 source = wine-valve::git+https://github.com/ValveSoftware/wine.git source = vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git + source = dxvk-valve::git+https://github.com/ValveSoftware/dxvk.git source = openvr::git+https://github.com/ValveSoftware/openvr.git source = ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git source = liberation-fonts::git+https://github.com/liberationfonts/liberation-fonts.git @@ -182,6 +182,7 @@ pkgbase = proton-native source = FAudio::git+https://github.com/FNA-XNA/FAudio.git source = proton-unfuck_makefile.patch source = proton-disable_lock.patch + source = dxvk-extraopts.patch sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP @@ -191,8 +192,10 @@ pkgbase = proton-native sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = 4907e6005989d349336ee8c53c015a9cb3863c9ed2d147967c5f2603500099b4 + sha256sums = SKIP + sha256sums = 08857165b3b460cba490c31bb8fac25af61092efbcee4d2028445eb372a3148a sha256sums = 7418f1ceca081e1b68d933ea6dd5da0351c7cc26e41667e3b3bc49c030504782 + sha256sums = 15fc8d8a4465ffc69897f0264ecb08d95f4b0fb00ec45dc8cb542f14c8808ef3 pkgname = proton-native @@ -1,12 +1,12 @@ # Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com> pkgname=proton-native -_pkgver=4.11-11 +_pkgver=4.11-12 pkgver=${_pkgver//-/.} _geckover=2.47 _monover=4.9.4 -_dxvkver=1.5 -pkgrel=3 +#_dxvkver=1.5 +pkgrel=1 pkgdesc="Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution" arch=(x86_64) url="https://github.com/ValveSoftware/Proton" @@ -31,10 +31,11 @@ depends=( steam-native-runtime "wine-gecko>=$_geckover" "wine-mono-bin>=$_monover" - "dxvk>=$_dxvkver" +# "dxvk>=$_dxvkver" ) makedepends=(autoconf ncurses bison perl fontforge flex 'gcc>=4.5.0-2' + mingw-w64-gcc giflib lib32-giflib libpng lib32-libpng gnutls lib32-gnutls @@ -101,6 +102,7 @@ source=( proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-$_pkgver wine-valve::git+https://github.com/ValveSoftware/wine.git vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git + dxvk-valve::git+https://github.com/ValveSoftware/dxvk.git openvr::git+https://github.com/ValveSoftware/openvr.git ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git liberation-fonts::git+https://github.com/liberationfonts/liberation-fonts.git @@ -109,6 +111,7 @@ source=( FAudio::git+https://github.com/FNA-XNA/FAudio.git proton-unfuck_makefile.patch proton-disable_lock.patch + dxvk-extraopts.patch ) sha256sums=( SKIP @@ -120,8 +123,10 @@ sha256sums=( SKIP SKIP SKIP - '4907e6005989d349336ee8c53c015a9cb3863c9ed2d147967c5f2603500099b4' + SKIP + '08857165b3b460cba490c31bb8fac25af61092efbcee4d2028445eb372a3148a' '7418f1ceca081e1b68d933ea6dd5da0351c7cc26e41667e3b3bc49c030504782' + '15fc8d8a4465ffc69897f0264ecb08d95f4b0fb00ec45dc8cb542f14c8808ef3' ) prepare() { @@ -134,7 +139,7 @@ prepare() { git submodule update "${submodule}" done - for submodule in wine vkd3d; do + for submodule in wine vkd3d dxvk; do git submodule init "${submodule}" git config submodule."${submodule}".url ../"${submodule#*/}"-valve git submodule update "${submodule}" @@ -142,6 +147,44 @@ prepare() { patch -p1 -i "$srcdir"/proton-unfuck_makefile.patch patch -p1 -i "$srcdir"/proton-disable_lock.patch + + # Uncomment to enable extra optimizations + # Patch crossfiles with extra optimizations from makepkg.conf + patch -p1 -i "$srcdir"/dxvk-extraopts.patch + local dxvk_cflags="$CFLAGS" + local dxvk_ldflags="$LDFLAGS" + # Filter known bad flags before applying optimizations + # If using -march=native and the CPU supports AVX, launching a d3d9 + # game can cause an Unhandled exception. The cause seems to be the + # combination of AVX instructions and tree vectorization (implied by O3), + # all tested archictures from sandybridge to haswell are affected. + # Disabling either AVX (and AVX2 as a side-effect) or tree + # vectorization fixes the issue. I am not sure which one is better + # to disable so below you can choose. Append either of these flags. + # Relevant Wine issues + # https://bugs.winehq.org/show_bug.cgi?id=45289 + # https://bugs.winehq.org/show_bug.cgi?id=43516 + dxvk_cflags+=" -mno-avx" + #CFLAGS+=" -fno-tree-vectorize" + # Filter fstack-protector flag for MingW. + # https://github.com/Joshua-Ashton/d9vk/issues/476 + dxvk_cflags+=" -fno-stack-protector" + #CFLAGS="${CFLAGS// -fstack-protector+(-all|-strong)/}" + #CFLAGS="${CFLAGS// -fstack-protector+(?=[ ])/}" + # Adjust optimization level in meson arguments. This is ignored + # anyway because meson sets its own optimization level. + dxvk_cflags="${CFLAGS// -O+([0-3s]|fast)/}" + # Doesn't compile with these flags in MingW so remove them. + # They are also filtered in Wine PKGBUILDs so remove them + # for winelib versions too. + dxvk_cflags="${CFLAGS/ -fno-plt/}" + dxvk_ldflags="${LDFLAGS/,-z,relro,-z,now/}" + sed -i dxvk/build-win64.txt \ + -e "s|@CARGS@|\'${dxvk_cflags// /\',\'}\'|g" \ + -e "s|@LDARGS@|\'${dxvk_ldflags// /\',\'}\'|g" + sed -i dxvk/build-win32.txt \ + -e "s|@CARGS@|\'${dxvk_cflags// /\',\'}\'|g" \ + -e "s|@LDARGS@|\'${dxvk_ldflags// /\',\'}\'|g" } build() { @@ -151,15 +194,7 @@ build() { --with-ffmpeg \ --build-name="${pkgname%-git}" - # From d9vk PKGBUILD - # If using -march=native and the CPU supports AVX, launching a d3d9 - # game cause an Unhandled exception. The cause seems to be the - # combination of AVX instructions and tree vectorization (implied by O3), - # all tested archictures from sandybridge to haswell are affected. - # Disabling either AVX (and AVX2 as a side-effect) or tree - # vectorization fixes the issue. I am not sure which one is better - # to disable so below you can choose. Append either of these flags. - # Relevant Wine issues + # Use -mno-avx for wine too # https://bugs.winehq.org/show_bug.cgi?id=45289 # https://bugs.winehq.org/show_bug.cgi?id=43516 export CFLAGS+=" -mno-avx" @@ -173,7 +208,7 @@ build() { SUBMAKE_JOBS="${MAKEFLAGS/-j/}" \ WINEESYNC=0 \ WINEFSYNC=0 \ - NO_DXVK=1 \ + NO_DXVK=0 \ SYSTEM_GECKO=1 \ SYSTEM_MONO=1 \ make -j1 dist @@ -191,11 +226,11 @@ package() { ln -s /usr/share/wine/mono "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/mono ln -s /usr/share/wine/gecko "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/gecko - for i in d3d9.dll d3d10_1.dll d3d10core.dll d3d10.dll d3d11.dll dxgi.dll - do - ln -s "/usr/share/dxvk/x32/$i" \ - "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib/wine/dxvk/ - ln -s "/usr/share/dxvk/x64/$i" \ - "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib64/wine/dxvk/ - done +# for i in d3d9.dll d3d10_1.dll d3d10core.dll d3d10.dll d3d11.dll dxgi.dll +# do +# ln -s "/usr/share/dxvk/x32/$i" \ +# "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib/wine/dxvk/ +# ln -s "/usr/share/dxvk/x64/$i" \ +# "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib64/wine/dxvk/ +# done } diff --git a/dxvk-extraopts.patch b/dxvk-extraopts.patch new file mode 100644 index 000000000000..77ab07439631 --- /dev/null +++ b/dxvk-extraopts.patch @@ -0,0 +1,70 @@ +diff --git a/build-win32.txt b/build-win32.txt +index 0865fc5e..b93a280f 100644 +--- a/dxvk/build-win32.txt ++++ b/dxvk/build-win32.txt +@@ -5,10 +5,10 @@ ar = 'i686-w64-mingw32-ar' + strip = 'i686-w64-mingw32-strip' + + [properties] +-c_args=['-msse', '-msse2'] +-cpp_args=['-msse', '-msse2'] +-c_link_args = ['-static', '-static-libgcc'] +-cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++'] ++c_args=['-msse', '-msse2', @CARGS@] ++cpp_args=['-msse', '-msse2', @CARGS@] ++c_link_args = ['-static', '-static-libgcc', @LDARGS@] ++cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++', @LDARGS@] + needs_exe_wrapper = true + + [host_machine] +diff --git a/build-win64.txt b/build-win64.txt +index 2a7fbee3..9e3bfc2e 100644 +--- a/dxvk/build-win64.txt ++++ b/dxvk/build-win64.txt +@@ -5,8 +5,10 @@ ar = 'x86_64-w64-mingw32-ar' + strip = 'x86_64-w64-mingw32-strip' + + [properties] +-c_link_args = ['-static', '-static-libgcc'] +-cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++'] ++c_args=[@CARGS@] ++cpp_args=[@CARGS@] ++c_link_args = ['-static', '-static-libgcc', @LDARGS@] ++cpp_link_args = ['-static', '-static-libgcc', '-static-libstdc++', @LDARGS@] + needs_exe_wrapper = true + + [host_machine] +diff --git a/build-wine32.txt b/build-wine32.txt +index ba8d34a8..ecec2eb4 100644 +--- a/dxvk/build-wine32.txt ++++ b/dxvk/build-wine32.txt +@@ -7,9 +7,9 @@ strip = 'strip' + [properties] + needs_exe_wrapper = true + +-c_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden'] +-cpp_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +-cpp_link_args=['-m32', '-mwindows'] ++c_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden', @CARGS@] ++cpp_args=['-m32', '-msse', '-msse2', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C=', @CARGS@] ++cpp_link_args=['-m32', '-mwindows', @LDARGS@] + + [host_machine] + system = 'linux' +diff --git a/build-wine64.txt b/build-wine64.txt +index b3e028bb..fb9d98fd 100644 +--- a/dxvk/build-wine64.txt ++++ b/dxvk/build-wine64.txt +@@ -7,9 +7,9 @@ strip = 'strip' + [properties] + needs_exe_wrapper = true + +-c_args=['-m64', '-fvisibility=hidden'] +-cpp_args=['-m64', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C='] +-cpp_link_args=['-m64', '-mwindows'] ++c_args=['-m64', '-fvisibility=hidden', @CARGS@] ++cpp_args=['-m64', '-fvisibility=hidden', '-fvisibility-inlines-hidden', '-D__WIDL_objidl_generated_name_0000000C=', @CARGS@] ++cpp_link_args=['-m64', '-mwindows', @LDARGS@] + + [host_machine] + system = 'linux' diff --git a/proton-unfuck_makefile.patch b/proton-unfuck_makefile.patch index bc222271fbf1..c2405123e031 100644 --- a/proton-unfuck_makefile.patch +++ b/proton-unfuck_makefile.patch @@ -1,5 +1,5 @@ diff --git a/build/makefile_base.mak b/build/makefile_base.mak -index d3385d8..e19bf8a 100644 +index d6578ac..05b22fd 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -90,6 +90,8 @@ SELECT_DOCKER_IMAGE := @@ -20,7 +20,7 @@ index d3385d8..e19bf8a 100644 SANITY_FLAGS := -fwrapv -fno-strict-aliasing COMMON_FLAGS := $(OPTIMIZE_FLAGS) $(SANITY_FLAGS) -@@ -196,6 +198,10 @@ FFMPEG_CROSS_LDFLAGS := +@@ -197,6 +199,10 @@ FFMPEG_CROSS_LDFLAGS := FAUDIO := $(SRCDIR)/FAudio FAUDIO_OBJ32 := ./obj-faudio32 FAUDIO_OBJ64 := ./obj-faudio64 @@ -31,7 +31,7 @@ index d3385d8..e19bf8a 100644 LSTEAMCLIENT := $(SRCDIR)/lsteamclient LSTEAMCLIENT32 := ./syn-lsteamclient32/lsteamclient -@@ -212,6 +218,10 @@ WINE_DST32 := ./dist-wine32 +@@ -213,6 +219,10 @@ WINE_DST32 := ./dist-wine32 WINE_OBJ32 := ./obj-wine32 WINE_OBJ64 := ./obj-wine64 WINEMAKER := $(abspath $(WINE)/tools/winemaker/winemaker) @@ -42,7 +42,7 @@ index d3385d8..e19bf8a 100644 # Wine outputs that need to exist for other steps (dist) WINE_OUT_BIN := $(DST_DIR)/bin/wine64 -@@ -219,9 +229,11 @@ WINE_OUT_SERVER := $(DST_DIR)/bin/wineserver +@@ -220,9 +230,11 @@ WINE_OUT_SERVER := $(DST_DIR)/bin/wineserver WINE_OUT := $(WINE_OUT_BIN) $(WINE_OUT_SERVER) # Tool-only build outputs needed for other projects WINEGCC32 := $(TOOLS_DIR32)/bin/winegcc @@ -54,7 +54,7 @@ index d3385d8..e19bf8a 100644 WINEBUILD64 := $(TOOLS_DIR64)/bin/winebuild WINE_BUILDTOOLS64 := $(WINEGCC64) $(WINEBUILD64) -@@ -255,11 +267,16 @@ VKD3D := $(SRCDIR)/vkd3d +@@ -256,11 +268,16 @@ VKD3D := $(SRCDIR)/vkd3d VKD3D_OBJ32 := ./obj-vkd3d32 VKD3D_OBJ64 := ./obj-vkd3d64 @@ -73,15 +73,15 @@ index d3385d8..e19bf8a 100644 BISON_VER = 3.3.2 BISON_TARBALL := bison-$(BISON_VER).tar.xz -@@ -366,11 +383,20 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/$(GECKO64_MSI) +@@ -368,11 +385,20 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/$(GECKO64_MSI) DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono DIST_WINEMONO := $(DIST_WINEMONO_DIR)/wine-mono-$(WINEMONO_VER) DIST_FONTS := $(DST_DIR)/share/fonts -+DIST_DEPS := wine vrclient lsteamclient steam ++DIST_DEPS := wine vrclient lsteamclient steam dxvk DIST_TARGETS := $(DIST_COPY_TARGETS) $(DIST_OVR32) $(DIST_OVR64) \ - $(DIST_GECKO32) $(DIST_GECKO64) $(DIST_WINEMONO) \ - $(DIST_COMPAT_MANIFEST) $(DIST_LICENSE) $(DIST_FONTS) + $(DIST_COMPAT_MANIFEST) $(DIST_LICENSE) $(DIST_OFL_LICENSE) $(DIST_FONTS) +ifneq ($(SYSTEM_MONO),1) # May be disabled by configure +DIST_TARGETS += $(DIST_WINEMONO) @@ -92,10 +92,10 @@ index d3385d8..e19bf8a 100644 +DIST_TARGETS += $(DIST_GECKO64) +endif # ifneq ($(SYSTEM_GECKO),1) + - DEPLOY_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) + DEPLOY_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_OFL_LICENSE) REDIST_COPY_TARGETS := $(DEPLOY_COPY_TARGETS) $(DIST_COMPAT_MANIFEST) -@@ -396,7 +422,7 @@ $(DIST_GECKO_DIR): +@@ -401,7 +427,7 @@ $(DIST_GECKO_DIR): $(DIST_GECKO64): | $(DIST_GECKO_DIR) if [ -e "$(SRCDIR)/../gecko/$(GECKO64_MSI)" ]; then \ @@ -104,7 +104,7 @@ index d3385d8..e19bf8a 100644 else \ mkdir -p $(SRCDIR)/contrib/; \ if [ ! -e "$(SRCDIR)/contrib/$(GECKO64_MSI)" ]; then \ -@@ -408,7 +434,7 @@ $(DIST_GECKO64): | $(DIST_GECKO_DIR) +@@ -413,7 +439,7 @@ $(DIST_GECKO64): | $(DIST_GECKO_DIR) $(DIST_GECKO32): | $(DIST_GECKO_DIR) if [ -e "$(SRCDIR)/../gecko/$(GECKO32_MSI)" ]; then \ @@ -113,7 +113,7 @@ index d3385d8..e19bf8a 100644 else \ mkdir -p $(SRCDIR)/contrib/; \ if [ ! -e "$(SRCDIR)/contrib/$(GECKO32_MSI)" ]; then \ -@@ -444,7 +470,9 @@ $(DIST_FONTS): fonts +@@ -449,7 +475,9 @@ $(DIST_FONTS): fonts ALL_TARGETS += dist GOAL_TARGETS += dist @@ -124,7 +124,7 @@ index d3385d8..e19bf8a 100644 echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION) cp $(DIST_VERSION) $(DST_BASE)/ rm -rf $(abspath $(DIST_PREFIX)) && \ -@@ -507,13 +535,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 +@@ -512,13 +540,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 $(abspath $(FFMPEG))/configure \ --cc=$(CC_QUOTED) --cxx=$(CXX_QUOTED) \ --prefix=$(abspath $(TOOLS_DIR64)) \ @@ -141,7 +141,7 @@ index d3385d8..e19bf8a 100644 --disable-swscale \ --disable-postproc \ --disable-avfilter \ -@@ -539,17 +569,19 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 +@@ -544,17 +574,19 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 $(FFMPEG_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) $(FFMPEG_CONFIGURE_FILES32): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ32) cd $(dir $@) && \ @@ -163,7 +163,7 @@ index d3385d8..e19bf8a 100644 --disable-swscale \ --disable-postproc \ --disable-avfilter \ -@@ -592,14 +624,17 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64) +@@ -597,14 +629,17 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64) +$(MAKE) -C $(FFMPEG_OBJ64) +$(MAKE) -C $(FFMPEG_OBJ64) install mkdir -pv $(DST_DIR)/lib64 @@ -183,7 +183,7 @@ index d3385d8..e19bf8a 100644 endif # ifeq ($(WITH_FFMPEG),1) -@@ -625,19 +660,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile +@@ -630,19 +665,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile FAUDIO_CONFIGURE_FILES64 := $(FAUDIO_OBJ64)/Makefile $(FAUDIO_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -212,7 +212,7 @@ index d3385d8..e19bf8a 100644 faudio32: SHELL = $(CONTAINER_SHELL32) faudio32: $(FAUDIO_CONFIGURE_FILES32) -@@ -827,36 +865,50 @@ WINE32_MAKE_ARGS := \ +@@ -832,36 +870,50 @@ WINE32_MAKE_ARGS := \ # 64bit-configure $(WINE_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) @@ -235,7 +235,7 @@ index d3385d8..e19bf8a 100644 - BISON=$(abspath $(BISON_BIN64)) \ + $(WINE_BISON64) \ CFLAGS="-I$(abspath $(TOOLS_DIR64))/include -g $(COMMON_FLAGS)" \ - CXXFLAGS="-I$(abspath $(TOOLS_DIR64))/include -g $(COMMON_FLAGS) -fno-gnu-unique -std=c++17" \ + CXXFLAGS="-I$(abspath $(TOOLS_DIR64))/include -g $(COMMON_FLAGS) -std=c++17" \ - LDFLAGS=-L$(abspath $(TOOLS_DIR64))/lib \ - PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \ + LDFLAGS="-L$(abspath $(TOOLS_DIR64))/lib -Wl,-rpath-link,$(abspath $(TOOLS_DIR64))/lib" \ @@ -263,7 +263,7 @@ index d3385d8..e19bf8a 100644 - BISON=$(abspath $(BISON_BIN32)) \ + $(WINE_BISON32) \ CFLAGS="-I$(abspath $(TOOLS_DIR32))/include -g $(COMMON_FLAGS)" \ - CXXFLAGS="-I$(abspath $(TOOLS_DIR32))/include -g $(COMMON_FLAGS) -fno-gnu-unique -std=c++17" \ + CXXFLAGS="-I$(abspath $(TOOLS_DIR32))/include -g $(COMMON_FLAGS) -std=c++17" \ - LDFLAGS=-L$(abspath $(TOOLS_DIR32))/lib \ - PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ + LDFLAGS="-L$(abspath $(TOOLS_DIR32))/lib -Wl,-rpath-link,$(abspath $(TOOLS_DIR32))/lib" \ @@ -271,7 +271,7 @@ index d3385d8..e19bf8a 100644 CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) -@@ -1011,6 +1063,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE +@@ -1016,6 +1068,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE ## Create & configure object directory for cmake @@ -280,7 +280,7 @@ index d3385d8..e19bf8a 100644 CMAKE_CONFIGURE_FILES32 := $(CMAKE_OBJ32)/Makefile CMAKE_CONFIGURE_FILES64 := $(CMAKE_OBJ64)/Makefile -@@ -1062,12 +1116,23 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3 +@@ -1067,12 +1121,23 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3 +$(MAKE) -C $(CMAKE_OBJ32) install touch $(CMAKE_BIN32) @@ -304,7 +304,7 @@ index d3385d8..e19bf8a 100644 $(BISON): if [ -e "$(SRCDIR)/../bison/$(BISON_TARBALL)" ]; then \ mkdir -p $(dir $@); \ -@@ -1132,6 +1197,15 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3 +@@ -1137,6 +1202,15 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3 +$(MAKE) -C $(BISON_OBJ32) install touch $(BISON_BIN32) @@ -320,17 +320,8 @@ index d3385d8..e19bf8a 100644 ## ## dxvk ## -@@ -1144,6 +1218,8 @@ ifneq ($(NO_DXVK),1) # May be disabled by configure - - DXVK_CONFIGURE_FILES32 := $(DXVK_OBJ32)/build.ninja - DXVK_CONFIGURE_FILES64 := $(DXVK_OBJ64)/build.ninja -+COMMA := , -+MESON_CFLAGS := $(subst $() $(),'$(COMMA)',$(CFLAGS)) - - # 64bit-configure. Remove coredata file if already configured (due to e.g. makefile changing) - $(DXVK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(DXVK)/build-win64.txt | $(DXVK_OBJ64) -@@ -1202,6 +1278,8 @@ dxvk32: $(DXVK_CONFIGURE_FILES32) - cp "$(DXVK_OBJ32)"/bin/d3d9.dll "$(DST_DIR)"/lib/wine/dxvk/ +@@ -1209,6 +1283,8 @@ dxvk32: $(DXVK_CONFIGURE_FILES32) + cp "$(DXVK_OBJ32)"/bin/dxvk_config.dll "$(DST_DIR)"/lib/wine/dxvk if test -e $(SRCDIR)/.git; then ( cd $(SRCDIR) && git submodule status -- dxvk ) > "$(DST_DIR)"/lib/wine/dxvk/version; fi +DIST_DEPS += dxvk @@ -338,7 +329,7 @@ index d3385d8..e19bf8a 100644 endif # NO_DXVK # Vulkan-Headers -@@ -1210,24 +1288,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile +@@ -1217,24 +1293,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile VULKAN_H_CONFIGURE_FILES64 := $(VULKAN_H_OBJ64)/Makefile $(VULKAN_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -369,7 +360,7 @@ index d3385d8..e19bf8a 100644 # SPIRV-Headers -@@ -1235,24 +1313,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile +@@ -1242,24 +1318,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile SPIRV_H_CONFIGURE_FILES64 := $(SPIRV_H_OBJ64)/Makefile $(SPIRV_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -400,7 +391,7 @@ index d3385d8..e19bf8a 100644 # widl; required for vkd3d, which is built before wine -@@ -1260,16 +1338,23 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile +@@ -1267,16 +1343,23 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile WINEWIDL_CONFIGURE_FILES32 := $(WINEWIDL_OBJ32)/Makefile $(WINEWIDL_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -429,7 +420,7 @@ index d3385d8..e19bf8a 100644 CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) -@@ -1279,17 +1364,24 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32) +@@ -1286,17 +1369,24 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32) make tools/widl $(WINEWIDL_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) @@ -458,7 +449,7 @@ index d3385d8..e19bf8a 100644 CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) -@@ -1314,7 +1406,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/ +@@ -1321,7 +1411,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/ $(abspath $(VKD3D))/configure \ --disable-tests \ --prefix=$(abspath $(TOOLS_DIR32)) \ |