From 030bdcd22462bbd0284649f187095bb2629700f7 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Mon, 24 Jun 2019 13:51:54 -0500 Subject: [PATCH] Simplify DXVK build --- Makefile | 5 ++--- Vagrantfile | 18 +++++++++--------- build/makefile_base.mak | 19 ++++--------------- configure.sh | 12 ------------ d9vk | 2 +- dxvk | 2 +- vagrant-user-setup.sh | 4 +++- 7 files changed, 20 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index eafebc18..d5c56b0d 100644 --- a/Makefile +++ b/Makefile @@ -27,8 +27,7 @@ CONFIGURE_CMD := ../proton/configure.sh \ --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 \ --steam-runtime="$$HOME"/steam-runtime/runtime/ \ --build-name="$(_build_name)" \ - --dxvk-crosscc-prefix=\"schroot\",\"-c\",\"dxvk_crosscc\",\"--\" \ - --docker-opts=-v\ /srv/chroot:/srv/chroot\ -v\ /etc/schroot/chroot.d/dxvk_crosscc:/etc/schroot/chroot.d/dxvk_crosscc\ -v\ /home/vagrant/rbind_fstab:/etc/schroot/default/fstab + --docker-opts=-v\ /srv/chroot:/srv/chroot\ -v\ /etc/schroot/chroot.d/proton_crosscc:/etc/schroot/chroot.d/proton_crosscc\ -v\ /home/vagrant/rbind_fstab:/etc/schroot/default/fstab # make doesn't handle spaces well... replace them with underscores in paths BUILD_DIR := "build-$(shell echo $(_build_name) | sed -e 's/ /_/g')" @@ -85,7 +84,7 @@ clean: vagrant vagrant ssh -c 'rm -rf $(BUILD_DIR)/' configure: vagrant - @vagrant ssh -c 'if [ ! -e $(BUILD_DIR)/Makefile ]; then if ! schroot -i -c dxvk_crosscc >/dev/null 2>&1; then echo !!!! You must run \"vagrant provision\" !!!!; exit 1; fi; mkdir -p $(BUILD_DIR); (cd $(BUILD_DIR) && $(CONFIGURE_CMD)); fi && make -C $(BUILD_DIR) downloads' + @vagrant ssh -c 'if [ ! -e $(BUILD_DIR)/Makefile ]; then if ! schroot -i -c proton_crosscc >/dev/null 2>&1; then echo !!!! You must run \"vagrant provision\" !!!!; exit 1; fi; mkdir -p $(BUILD_DIR); (cd $(BUILD_DIR) && $(CONFIGURE_CMD)); fi && make -C $(BUILD_DIR) downloads' proton: configure vagrant ssh -c 'make -C $(BUILD_DIR)/ dist' diff --git a/Vagrantfile b/Vagrantfile index 9e1d2c11..e0a580e6 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -90,19 +90,19 @@ Vagrant.configure(2) do |config| #allow vagrant user to run docker adduser vagrant docker - if ! schroot -i -c dxvk_crosscc >/dev/null 2>&1; then + if ! schroot -i -c proton_crosscc >/dev/null 2>&1; then #download build of recent mingw-w64 with dwarf2 exceptions enabled - wget --progress=dot -O /root/dxvk_crosscc.tar.xz 'http://repo.steampowered.com/proton_mingw/proton_mingw-9.1-1.tar.xz' - unxz -T0 /root/dxvk_crosscc.tar.xz - mkdir -p /srv/chroot/dxvk_crosscc/ - tar -xf /root/dxvk_crosscc.tar -C /srv/chroot/dxvk_crosscc/ + wget --progress=dot -O /root/proton_crosscc.tar.xz 'http://repo.steampowered.com/proton_mingw/proton_mingw-9.1-1.tar.xz' + unxz -T0 /root/proton_crosscc.tar.xz + mkdir -p /srv/chroot/proton_crosscc/ + tar -xf /root/proton_crosscc.tar -C /srv/chroot/proton_crosscc/ - #install dxvk_crosscc schroot - cat > /etc/schroot/chroot.d/dxvk_crosscc < /etc/schroot/chroot.d/proton_crosscc < "$(abspath $(DXVK_OBJ64))/proton-build-win64.txt" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file "$(abspath $(DXVK_OBJ64))/proton-build-win64.txt" --strip --buildtype=release "$(abspath $(DXVK_OBJ64))" + meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file "$(abspath $(DXVK))/build-win64.txt" --strip --buildtype=release "$(abspath $(DXVK_OBJ64))" # 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing) -# sed is used to sub in our special cross compiler $(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))" && \ - sed -e "s|@PROTON_DXVK_CROSSCC_PREFIX@|$(subst ",\\\",$(DXVK_CROSSCC_PREFIX))|" < build-win32.txt > "$(abspath $(DXVK_OBJ32))/proton-build-win32.txt" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file "$(abspath $(DXVK_OBJ32))/proton-build-win32.txt" --strip --buildtype=release "$(abspath $(DXVK_OBJ32))" + meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file "$(abspath $(DXVK))/build-win32.txt" --strip --buildtype=release "$(abspath $(DXVK_OBJ32))" ## dxvk goals DXVK_TARGETS = dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64 @@ -1168,26 +1161,22 @@ D9VK_CONFIGURE_FILES32 := $(D9VK_OBJ32)/build.ninja D9VK_CONFIGURE_FILES64 := $(D9VK_OBJ64)/build.ninja # 64bit-configure. Remove coredata file if already configured (due to e.g. makefile changing) -# sed is used to sub in our special cross compiler $(D9VK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(D9VK)/build-win64.txt | $(D9VK_OBJ64) if [ -e "$(abspath $(D9VK_OBJ64))"/build.ninja ]; then \ rm -f "$(abspath $(D9VK_OBJ64))"/meson-private/coredata.dat; \ fi cd "$(abspath $(D9VK))" && \ - sed -e "s|@PROTON_DXVK_CROSSCC_PREFIX@|$(subst ",\\\",$(DXVK_CROSSCC_PREFIX))|" < build-win64.txt > "$(abspath $(D9VK_OBJ64))/proton-build-win64.txt" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(D9VK_OBJ64))" --cross-file "$(abspath $(D9VK_OBJ64))/proton-build-win64.txt" --strip --buildtype=release -Denable_dxgi=false -Denable_d3d10=false -Denable_d3d11=false "$(abspath $(D9VK_OBJ64))" + meson --prefix="$(abspath $(D9VK_OBJ64))" --cross-file "$(abspath $(D9VK))/build-win64.txt" --strip --buildtype=release -Denable_dxgi=false -Denable_d3d10=false -Denable_d3d11=false "$(abspath $(D9VK_OBJ64))" # 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing) -# sed is used to sub in our special cross compiler $(D9VK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(D9VK)/build-win32.txt | $(D9VK_OBJ32) if [ -e "$(abspath $(D9VK_OBJ32))"/build.ninja ]; then \ rm -f "$(abspath $(D9VK_OBJ32))"/meson-private/coredata.dat; \ fi cd "$(abspath $(D9VK))" && \ - sed -e "s|@PROTON_DXVK_CROSSCC_PREFIX@|$(subst ",\\\",$(DXVK_CROSSCC_PREFIX))|" < build-win32.txt > "$(abspath $(D9VK_OBJ32))/proton-build-win32.txt" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ - meson --prefix="$(abspath $(D9VK_OBJ32))" --cross-file "$(abspath $(D9VK_OBJ32))/proton-build-win32.txt" --strip --buildtype=release -Denable_dxgi=false -Denable_d3d10=false -Denable_d3d11=false "$(abspath $(D9VK_OBJ32))" + meson --prefix="$(abspath $(D9VK_OBJ32))" --cross-file "$(abspath $(D9VK))/build-win32.txt" --strip --buildtype=release -Denable_dxgi=false -Denable_d3d10=false -Denable_d3d11=false "$(abspath $(D9VK_OBJ32))" ## d9vk goals D9VK_TARGETS = d9vk d9vk_configure d9vk32 d9vk64 d9vk_configure32 d9vk_configure64 diff --git a/configure.sh b/configure.sh index ff816f10..451efd77 100755 --- a/configure.sh +++ b/configure.sh @@ -111,10 +111,6 @@ function configure() { echo "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")" echo "STEAMRT_PATH := $(escape_for_make "$steamrt_path")" - if [[ -n "$arg_crosscc_prefix" ]]; then - echo "DXVK_CROSSCC_PREFIX := $(escape_for_make "$arg_crosscc_prefix")," #comma is not a typo - fi - if [[ -n "$arg_docker_opts" ]]; then echo "DOCKER_OPTS := $arg_docker_opts" fi @@ -138,7 +134,6 @@ arg_steamrt="" arg_no_steamrt="" arg_ffmpeg="" arg_build_name="" -arg_crosscc_prefix="" arg_docker_opts="" arg_help="" invalid_args="" @@ -176,9 +171,6 @@ function parse_args() { elif [[ $arg = --build-name ]]; then arg_build_name="$val" val_used=1 - elif [[ $arg = --dxvk-crosscc-prefix ]]; then - arg_crosscc_prefix="$val" - val_used=1 elif [[ $arg = --docker-opts ]]; then arg_docker_opts="$val" val_used=1 @@ -240,10 +232,6 @@ usage() { "$1" "" "$1" " --with-ffmpeg Build ffmpeg for WMA audio support" "$1" "" - "$1" " --dxvk-crosscc-prefix='' Quoted and comma-separated list of arguments to prefix before" - "$1" " the cross-compiler that builds DXVK. E.g:" - "$1" " --dxvk-crosscc-prefix=\"schroot\",\"-c\",\"some_chroot\",\"--\"" - "$1" "" "$1" " --docker-opts='' Extra options to pass to Docker when invoking the runtime." "$1" "" "$1" " Steam Runtime" diff --git a/d9vk b/d9vk index 10e386a0..b787cf0c 160000 --- a/d9vk +++ b/d9vk @@ -1 +1 @@ -Subproject commit 10e386a0ffe13b85a1bb62ad96847b6409134469 +Subproject commit b787cf0c66c5de1fc536b557a97c7a9117454bc3 diff --git a/dxvk b/dxvk index 894515f6..dd6676cf 160000 --- a/dxvk +++ b/dxvk @@ -1 +1 @@ -Subproject commit 894515f6cf4ca668b5952834385a07debf360ae1 +Subproject commit dd6676cf13bcfda932562a15622f821b61d1eed1 diff --git a/vagrant-user-setup.sh b/vagrant-user-setup.sh index 9ebde23d..a736f5a5 100755 --- a/vagrant-user-setup.sh +++ b/vagrant-user-setup.sh @@ -13,7 +13,7 @@ if [ ! -e "$HOME/bin/schroot_wrapper" ]; then mkdir -p $HOME/bin/ cat > $HOME/bin/schroot_wrapper <