mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-07-27 07:31:44 +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
|
# TODO ffmpeg is optional, disabled
|
||||||
|
|
||||||
GOAL_TARGETS_LIBS := openal lsteamclient vrclient dxvk dist
|
# All top level goals. Lazy evaluated so they can be added below.
|
||||||
GOAL_TARGETS := wine $(GOAL_TARGETS_LIBS)
|
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)
|
all: $(GOAL_TARGETS)
|
||||||
@echo ":: make $@ succeeded"
|
@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
|
# 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.
|
# incremental builds when not iterating on wine itself.
|
||||||
|
|
||||||
all-lib: $(GOAL_TARGETS_LIBS)
|
all-lib: $(GOAL_TARGETS_LIBS)
|
||||||
@echo ":: make $@ succeeded"
|
@echo ":: make $@ succeeded"
|
||||||
|
|
||||||
@ -292,6 +294,8 @@ $(DIST_COMPAT_MANIFEST): $(COMPAT_MANIFEST_TEMPLATE) $(MAKEFILE_DEP) | $(DST_DIR
|
|||||||
|
|
||||||
.PHONY: dist
|
.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
|
# 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.
|
# the explicit targets, specify that this should occur after.
|
||||||
dist: $(DIST_TARGETS) | $(WINE_OUT) $(filter $(MAKECMDGOALS),wine64 wine32 wine) $(DST_DIR)
|
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
|
## OpenAL goals
|
||||||
|
|
||||||
.PHONY: openal openal_configure openal32 openal64 openal_configure32 openal_configure64
|
.PHONY: openal openal_configure openal32 openal64 openal_configure32 openal_configure64
|
||||||
|
GOAL_TARGETS_LIBS += openal
|
||||||
|
|
||||||
openal_configure: $(OPENAL_CONFIGURE_FILES32) $(OPENAL_CONFIGURE_FILES64)
|
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
|
.PHONY: lsteamclient lsteamclient_configure lsteamclient32 lsteamclient64 lsteamclient_configure32 lsteamclient_configure64
|
||||||
|
|
||||||
|
GOAL_TARGETS_LIBS += lsteamclient
|
||||||
|
|
||||||
lsteamclient_configure: $(LSTEAMCLIENT_CONFIGURE_FILES32) $(LSTEAMCLIENT_CONFIGURE_FILES64)
|
lsteamclient_configure: $(LSTEAMCLIENT_CONFIGURE_FILES32) $(LSTEAMCLIENT_CONFIGURE_FILES64)
|
||||||
|
|
||||||
lsteamclient_configure64: $(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
|
.PHONY: wine wine_configure wine32 wine64 wine_configure32 wine_configure64
|
||||||
|
|
||||||
|
GOAL_TARGETS += wine
|
||||||
|
|
||||||
wine_configure: $(WINE_CONFIGURE_FILES32) $(WINE_CONFIGURE_FILES64)
|
wine_configure: $(WINE_CONFIGURE_FILES32) $(WINE_CONFIGURE_FILES64)
|
||||||
|
|
||||||
wine_configure64: $(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
|
.PHONY: vrclient vrclient_configure vrclient32 vrclient64 vrclient_configure32 vrclient_configure64
|
||||||
|
|
||||||
|
GOAL_TARGETS_LIBS += vrclient
|
||||||
|
|
||||||
vrclient_configure: $(VRCLIENT_CONFIGURE_FILES32) $(VRCLIENT_CONFIGURE_FILES64)
|
vrclient_configure: $(VRCLIENT_CONFIGURE_FILES32) $(VRCLIENT_CONFIGURE_FILES64)
|
||||||
|
|
||||||
vrclient_configure32: $(VRCLIENT_CONFIGURE_FILES32)
|
vrclient_configure32: $(VRCLIENT_CONFIGURE_FILES32)
|
||||||
@ -852,6 +863,8 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3
|
|||||||
|
|
||||||
## Create & configure object directory for dxvk
|
## Create & configure object directory for dxvk
|
||||||
|
|
||||||
|
ifneq ($(NO_DXVK),1) # May be disabled by configure
|
||||||
|
|
||||||
DXVK_CONFIGURE_FILES32 := $(DXVK_OBJ32)/build.ninja
|
DXVK_CONFIGURE_FILES32 := $(DXVK_OBJ32)/build.ninja
|
||||||
DXVK_CONFIGURE_FILES64 := $(DXVK_OBJ64)/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
|
.PHONY: dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64
|
||||||
|
|
||||||
|
GOAL_TARGETS_LIBS += dxvk
|
||||||
|
|
||||||
dxvk_configure: $(DXVK_CONFIGURE_FILES32) $(DXVK_CONFIGURE_FILES64)
|
dxvk_configure: $(DXVK_CONFIGURE_FILES32) $(DXVK_CONFIGURE_FILES64)
|
||||||
|
|
||||||
dxvk_configure64: $(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/
|
cp "$(DXVK_OBJ32)"/bin/d3d11.dll "$(DST_DIR)"/lib/wine/dxvk/
|
||||||
( cd $(SRCDIR) && git submodule status -- dxvk ) > "$(DST_DIR)"/lib/wine/dxvk/version
|
( cd $(SRCDIR) && git submodule status -- dxvk ) > "$(DST_DIR)"/lib/wine/dxvk/version
|
||||||
|
|
||||||
|
endif # NO_DXVK
|
||||||
|
|
||||||
# TODO OS X
|
# TODO OS X
|
||||||
# build_libpng
|
# build_libpng
|
||||||
# build_libjpeg
|
# build_libjpeg
|
||||||
|
26
configure.sh
26
configure.sh
@ -27,6 +27,10 @@ die() { err "$@"; exit 1; }
|
|||||||
finish() { stat "$@"; exit 0; }
|
finish() { stat "$@"; exit 0; }
|
||||||
cmd() { showcmd "$@"; "$@"; }
|
cmd() { showcmd "$@"; "$@"; }
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
OSX=""
|
||||||
|
[[ $(uname || true) != Darwin ]] || OSX=1
|
||||||
|
|
||||||
#
|
#
|
||||||
# Configure
|
# Configure
|
||||||
#
|
#
|
||||||
@ -76,13 +80,23 @@ function configure() {
|
|||||||
# Don't die after this point or we'll have rather unhelpfully deleted the Makefile
|
# Don't die after this point or we'll have rather unhelpfully deleted the Makefile
|
||||||
[[ ! -e "$MAKEFILE" ]] || rm "$MAKEFILE"
|
[[ ! -e "$MAKEFILE" ]] || rm "$MAKEFILE"
|
||||||
|
|
||||||
|
# Config
|
||||||
echo >> "$MAKEFILE" "# Generated by: $THIS_COMMAND"
|
echo >> "$MAKEFILE" "# Generated by: $THIS_COMMAND"
|
||||||
echo >> "$MAKEFILE" ""
|
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_MODE := $(escape_for_make "$steamrt64_type")"
|
||||||
echo >> "$MAKEFILE" "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
echo >> "$MAKEFILE" "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
||||||
echo >> "$MAKEFILE" "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
echo >> "$MAKEFILE" "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
||||||
echo >> "$MAKEFILE" "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
echo >> "$MAKEFILE" "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
||||||
|
|
||||||
|
# Include base
|
||||||
echo >> "$MAKEFILE" ""
|
echo >> "$MAKEFILE" ""
|
||||||
echo >> "$MAKEFILE" "include \$(SRCDIR)/build/makefile_base.mak"
|
echo >> "$MAKEFILE" "include \$(SRCDIR)/build/makefile_base.mak"
|
||||||
|
|
||||||
@ -97,6 +111,7 @@ function configure() {
|
|||||||
arg_steamrt32=""
|
arg_steamrt32=""
|
||||||
arg_steamrt64=""
|
arg_steamrt64=""
|
||||||
arg_no_steamrt=""
|
arg_no_steamrt=""
|
||||||
|
arg_force_dxvk=""
|
||||||
invalid_args=""
|
invalid_args=""
|
||||||
function parse_args() {
|
function parse_args() {
|
||||||
local arg;
|
local arg;
|
||||||
@ -127,7 +142,9 @@ function parse_args() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# The args
|
# 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
|
val_used=1
|
||||||
arg_steamrt32="$val"
|
arg_steamrt32="$val"
|
||||||
elif [[ $arg = --steam-runtime64 ]]; then
|
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" " 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" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
||||||
"$1" ""
|
"$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" " Steam Runtime"
|
||||||
"$1" " Proton builds that are to be installed & run under the steam client must be built with"
|
"$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."
|
"$1" " the Steam Runtime SDK to ensure compatibility. See BUILDING.md for more information."
|
||||||
@ -193,6 +214,7 @@ usage() {
|
|||||||
[[ $# -gt 0 ]] || usage info
|
[[ $# -gt 0 ]] || usage info
|
||||||
parse_args "$@" || usage err
|
parse_args "$@" || usage err
|
||||||
|
|
||||||
|
# Sanity check arguments
|
||||||
if [[ -n $arg_no_steamrt && (-n $arg_steamrt32 || -n $arg_steamrt64) ]]; then
|
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"
|
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
|
elif [[ -z $arg_no_steamrt && ( -z $arg_steamrt32 || -z $arg_steamrt64 ) ]]; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user