From 11a7c7a695da9f27085439c155d45fc010df10b9 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Wed, 28 Nov 2018 11:39:23 -0600 Subject: [PATCH] Work around old mingw-w64 Debian 9's package is missing dxgi1_4, which dxvk needs. --- build/makefile_base.mak | 15 +++++++++++++-- dxvk | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/build/makefile_base.mak b/build/makefile_base.mak index 5f77fe70..cd9e3510 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -937,22 +937,33 @@ DXVK_CONFIGURE_FILES32 := $(DXVK_OBJ32)/build.ninja DXVK_CONFIGURE_FILES64 := $(DXVK_OBJ64)/build.ninja # 64bit-configure. Remove coredata file if already configured (due to e.g. makefile changing) +# the sed junk is to work around meson not supporting command line args for --cross-file builds +# we need to pass in wine's header files since the debian9 mingw-w64 is too old for dxvk. $(DXVK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(DXVK)/build-win64.txt | $(DXVK_OBJ64) if [ -e "$(abspath $(DXVK_OBJ64))"/build.ninja ]; then \ rm -f "$(abspath $(DXVK_OBJ64))"/meson-private/coredata.dat; \ fi + mkdir -p "$(abspath $(DXVK_OBJ64))/new_includes" && \ + cp $(abspath $(TOOLS_DIR64))/include/wine/windows/dxgi*.h "$(abspath $(DXVK_OBJ64))/new_includes" && \ cd "$(abspath $(DXVK))" && \ + sed -e "s|@PROTON_C_ARGS@|'-I$(abspath $(DXVK_OBJ64))/new_includes'|" < build-win64.txt > proton-build-win64.txt && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file build-win64.txt --strip --buildtype=release "$(abspath $(DXVK_OBJ64))" + meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file proton-build-win64.txt --strip --buildtype=release "$(abspath $(DXVK_OBJ64))" # 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing) +# the sed junk is to work around meson not supporting command line args for --cross-file builds +# we need to pass in wine's header files since the debian9 mingw-w64 is too old for dxvk. $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(DXVK)/build-win32.txt | $(DXVK_OBJ32) if [ -e "$(abspath $(DXVK_OBJ32))"/build.ninja ]; then \ rm -f "$(abspath $(DXVK_OBJ32))"/meson-private/coredata.dat; \ fi cd "$(abspath $(DXVK))" && \ + mkdir -p "$(abspath $(DXVK_OBJ32))/new_includes" && \ + cp $(abspath $(TOOLS_DIR32))/include/wine/windows/dxgi*.h "$(abspath $(DXVK_OBJ32))/new_includes" && \ + cd "$(abspath $(DXVK))" && \ + sed -e "s|@PROTON_C_ARGS@|'-I$(abspath $(DXVK_OBJ32))/new_includes'|" < build-win32.txt > proton-build-win32.txt && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file build-win32.txt --strip --buildtype=release "$(abspath $(DXVK_OBJ32))" + meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file proton-build-win32.txt --strip --buildtype=release "$(abspath $(DXVK_OBJ32))" ## dxvk goals DXVK_TARGETS = dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64 diff --git a/dxvk b/dxvk index 3e2d6af8..afe51131 160000 --- a/dxvk +++ b/dxvk @@ -1 +1 @@ -Subproject commit 3e2d6af8ca17af38d135294dd398521f681ffa90 +Subproject commit afe51131b1201c39fe60c28f04324376f152e7a4