mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-07-26 07:01:42 +03:00
build: Disable dxvk by default on OS X
This commit is contained in:
parent
4b65a3531c
commit
154cda1b7f
@ -210,9 +210,12 @@ default: all dist
|
||||
|
||||
# TODO ffmpeg is optional, disabled
|
||||
|
||||
GOAL_TARGETS_LIBS := openal lsteamclient vrclient dxvk dist
|
||||
GOAL_TARGETS := wine $(GOAL_TARGETS_LIBS)
|
||||
# All top level goals. Lazy evaluated so they can be added below.
|
||||
GOAL_TARGETS = $(GOAL_TARGETS_LIBS)
|
||||
# Excluding goals like wine and dist that are either long running or slow per invocation
|
||||
GOAL_TARGETS_LIBS =
|
||||
|
||||
# All target
|
||||
all: $(GOAL_TARGETS)
|
||||
@echo ":: make $@ succeeded"
|
||||
|
||||
@ -224,7 +227,6 @@ all64: $(addsuffix 64,$(GOAL_TARGETS))
|
||||
|
||||
# Libraries (not wine) only -- wine has a length install step that runs unconditionally, so this is useful for updating
|
||||
# incremental builds when not iterating on wine itself.
|
||||
|
||||
all-lib: $(GOAL_TARGETS_LIBS)
|
||||
@echo ":: make $@ succeeded"
|
||||
|
||||
@ -292,6 +294,8 @@ $(DIST_COMPAT_MANIFEST): $(COMPAT_MANIFEST_TEMPLATE) $(MAKEFILE_DEP) | $(DST_DIR
|
||||
|
||||
.PHONY: dist
|
||||
|
||||
GOAL_TARGETS += dist
|
||||
|
||||
# Only drag in WINE_OUT if they need to be built at all, otherwise this doesn't imply a rebuild of wine. If wine is in
|
||||
# the explicit targets, specify that this should occur after.
|
||||
dist: $(DIST_TARGETS) | $(WINE_OUT) $(filter $(MAKECMDGOALS),wine64 wine32 wine) $(DST_DIR)
|
||||
@ -384,6 +388,7 @@ $(OPENAL_CONFIGURE_FILES32): $(OPENAL)/CMakeLists.txt $(MAKEFILE_DEP) $(CMAKE_BI
|
||||
## OpenAL goals
|
||||
|
||||
.PHONY: openal openal_configure openal32 openal64 openal_configure32 openal_configure64
|
||||
GOAL_TARGETS_LIBS += openal
|
||||
|
||||
openal_configure: $(OPENAL_CONFIGURE_FILES32) $(OPENAL_CONFIGURE_FILES64)
|
||||
|
||||
@ -566,6 +571,8 @@ $(LSTEAMCLIENT_CONFIGURE_FILES32): $(LSTEAMCLIENT) $(WINEMAKER) $(MAKEFILE_DEP)
|
||||
|
||||
.PHONY: lsteamclient lsteamclient_configure lsteamclient32 lsteamclient64 lsteamclient_configure32 lsteamclient_configure64
|
||||
|
||||
GOAL_TARGETS_LIBS += lsteamclient
|
||||
|
||||
lsteamclient_configure: $(LSTEAMCLIENT_CONFIGURE_FILES32) $(LSTEAMCLIENT_CONFIGURE_FILES64)
|
||||
|
||||
lsteamclient_configure64: $(LSTEAMCLIENT_CONFIGURE_FILES64)
|
||||
@ -650,6 +657,8 @@ $(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(WINE_OBJ32)
|
||||
|
||||
.PHONY: wine wine_configure wine32 wine64 wine_configure32 wine_configure64
|
||||
|
||||
GOAL_TARGETS += wine
|
||||
|
||||
wine_configure: $(WINE_CONFIGURE_FILES32) $(WINE_CONFIGURE_FILES64)
|
||||
|
||||
wine_configure64: $(WINE_CONFIGURE_FILES64)
|
||||
@ -758,6 +767,8 @@ $(VRCLIENT_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VRCLIENT32) | $(VRCLIENT_OBJ32)
|
||||
|
||||
.PHONY: vrclient vrclient_configure vrclient32 vrclient64 vrclient_configure32 vrclient_configure64
|
||||
|
||||
GOAL_TARGETS_LIBS += vrclient
|
||||
|
||||
vrclient_configure: $(VRCLIENT_CONFIGURE_FILES32) $(VRCLIENT_CONFIGURE_FILES64)
|
||||
|
||||
vrclient_configure32: $(VRCLIENT_CONFIGURE_FILES32)
|
||||
@ -852,6 +863,8 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3
|
||||
|
||||
## Create & configure object directory for dxvk
|
||||
|
||||
ifneq ($(NO_DXVK),1) # May be disabled by configure
|
||||
|
||||
DXVK_CONFIGURE_FILES32 := $(DXVK_OBJ32)/build.ninja
|
||||
DXVK_CONFIGURE_FILES64 := $(DXVK_OBJ64)/build.ninja
|
||||
|
||||
@ -877,6 +890,8 @@ $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(DXVK_OBJ32)
|
||||
|
||||
.PHONY: dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64
|
||||
|
||||
GOAL_TARGETS_LIBS += dxvk
|
||||
|
||||
dxvk_configure: $(DXVK_CONFIGURE_FILES32) $(DXVK_CONFIGURE_FILES64)
|
||||
|
||||
dxvk_configure64: $(DXVK_CONFIGURE_FILES64)
|
||||
@ -906,6 +921,8 @@ dxvk32: $(DXVK_CONFIGURE_FILES32)
|
||||
cp "$(DXVK_OBJ32)"/bin/d3d11.dll "$(DST_DIR)"/lib/wine/dxvk/
|
||||
( cd $(SRCDIR) && git submodule status -- dxvk ) > "$(DST_DIR)"/lib/wine/dxvk/version
|
||||
|
||||
endif # NO_DXVK
|
||||
|
||||
# TODO OS X
|
||||
# build_libpng
|
||||
# build_libjpeg
|
||||
|
26
configure.sh
26
configure.sh
@ -27,6 +27,10 @@ die() { err "$@"; exit 1; }
|
||||
finish() { stat "$@"; exit 0; }
|
||||
cmd() { showcmd "$@"; "$@"; }
|
||||
|
||||
# Environment
|
||||
OSX=""
|
||||
[[ $(uname || true) != Darwin ]] || OSX=1
|
||||
|
||||
#
|
||||
# Configure
|
||||
#
|
||||
@ -76,13 +80,23 @@ function configure() {
|
||||
# Don't die after this point or we'll have rather unhelpfully deleted the Makefile
|
||||
[[ ! -e "$MAKEFILE" ]] || rm "$MAKEFILE"
|
||||
|
||||
# Config
|
||||
echo >> "$MAKEFILE" "# Generated by: $THIS_COMMAND"
|
||||
echo >> "$MAKEFILE" ""
|
||||
echo >> "$MAKEFILE" "SRCDIR := $(escape_for_make "$srcdir")"
|
||||
echo >> "$MAKEFILE" "SRCDIR := $(escape_for_make "$srcdir")"
|
||||
|
||||
# DXVK?
|
||||
if [[ -n $OSX && ! -n $arg_force_dxvk ]]; then
|
||||
echo >> "$MAKEFILE" "NO_DXVK := 1"
|
||||
fi
|
||||
|
||||
# SteamRT
|
||||
echo >> "$MAKEFILE" "STEAMRT64_MODE := $(escape_for_make "$steamrt64_type")"
|
||||
echo >> "$MAKEFILE" "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
||||
echo >> "$MAKEFILE" "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
||||
echo >> "$MAKEFILE" "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
||||
|
||||
# Include base
|
||||
echo >> "$MAKEFILE" ""
|
||||
echo >> "$MAKEFILE" "include \$(SRCDIR)/build/makefile_base.mak"
|
||||
|
||||
@ -97,6 +111,7 @@ function configure() {
|
||||
arg_steamrt32=""
|
||||
arg_steamrt64=""
|
||||
arg_no_steamrt=""
|
||||
arg_force_dxvk=""
|
||||
invalid_args=""
|
||||
function parse_args() {
|
||||
local arg;
|
||||
@ -127,7 +142,9 @@ function parse_args() {
|
||||
fi
|
||||
|
||||
# The args
|
||||
if [[ $arg = --steam-runtime32 ]]; then
|
||||
if [[ $arg = --osx-force-dxvk ]]; then
|
||||
arg_force_dxvk=1
|
||||
elif [[ $arg = --steam-runtime32 ]]; then
|
||||
val_used=1
|
||||
arg_steamrt32="$val"
|
||||
elif [[ $arg = --steam-runtime64 ]]; then
|
||||
@ -173,6 +190,10 @@ usage() {
|
||||
"$1" " Generate a Makefile for building Proton. May be run from another directory to create"
|
||||
"$1" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
||||
"$1" ""
|
||||
"$1" " Options"
|
||||
"$1" " --osx-force-dxvk Attempt to build DXVK on OS X - not currently functioning,"
|
||||
"$1" " development use"
|
||||
"$1" ""
|
||||
"$1" " Steam Runtime"
|
||||
"$1" " Proton builds that are to be installed & run under the steam client must be built with"
|
||||
"$1" " the Steam Runtime SDK to ensure compatibility. See BUILDING.md for more information."
|
||||
@ -193,6 +214,7 @@ usage() {
|
||||
[[ $# -gt 0 ]] || usage info
|
||||
parse_args "$@" || usage err
|
||||
|
||||
# Sanity check arguments
|
||||
if [[ -n $arg_no_steamrt && (-n $arg_steamrt32 || -n $arg_steamrt64) ]]; then
|
||||
die "Cannot specify a Steam Runtime SDK as well as --no-steam-runtime"
|
||||
elif [[ -z $arg_no_steamrt && ( -z $arg_steamrt32 || -z $arg_steamrt64 ) ]]; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user