Commit Graph

106 Commits

Author SHA1 Message Date
Andrew Eikum
d68e71bed6 Build wine with dxvk cross-compiler
WARNING: Do not look directly into the build system without eye
protection.
2019-07-03 08:11:05 -05:00
Andrew Eikum
ab453aaf11 steam_helper: Fix building against Wine 4.11 2019-07-03 08:11:05 -05:00
Andrew Eikum
bf237229b6 makefile: Add downloads target to download packages only once 2019-07-03 08:11:05 -05:00
GloriousEggroll
d7819c7bc5 add bison to proton build 2019-07-03 08:11:05 -05:00
Andrew Eikum
f52ecfc6a7 build and ship d9vk 2019-07-01 13:14:04 -05:00
Andrew Eikum
ca60bf429d update to wine-mono 4.9.0 2019-06-18 13:00:19 -05:00
Andrew Eikum
5c5bfcc81e Build dxvk with a special cross-compiler
This mingw-w64 build is a more recent compiler and has dwarf2 exceptions
enabled.
2019-06-06 11:41:28 -05:00
Andrew Eikum
e2c0c75b1b makefile: Fix local install on sshfs 2019-05-14 13:19:38 -05:00
Andrew Eikum
c5e49b5330 makefile: Bump submake jobs 2019-05-07 14:32:02 -05:00
Zhiyi Zhang
5cfc6ea994 makefile: Move generated files into build directory.
This way, we can run make again without rerunning configure.sh
after a clean rsync, which should save several minutes for every build.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-04-23 23:17:09 +08:00
Andrew Eikum
78f7eb4c61 update to wine-mono 4.8.2 2019-04-15 10:39:05 -05:00
Andrew Eikum
f45739c327 makefile: Download and install wine-mono 2019-04-15 08:22:21 -05:00
Andrew Eikum
898a4c5d77 makefile: Don't dereference library file symlinks 2019-03-28 08:03:03 -05:00
Jacek Caban
70822d8046 Add steam.exe winelib application that setups environment and launches the game.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2019-03-08 10:22:36 -06:00
Andrew Eikum
929302f43d Revert "makefile: Include and build Wine with gnutls26 headers"
This reverts commit 55b80e0c68.
2019-02-18 14:28:07 -06:00
Andrew Eikum
8f7f909dd4 Makefile: Add module target for building single modules 2019-02-14 08:32:39 -06:00
Andrew Eikum
0ecb100046 Run Wine in the steam runtime 2019-02-14 08:32:38 -06:00
Andrew Eikum
2e9e59bf59 makefile: Add dependencies to dist target 2019-02-13 10:16:38 -06:00
Andrew Eikum
cb93dcdd7d makefile: Always update version file in dist target 2019-01-15 09:07:06 -06:00
Andrew Eikum
9cb38b1754 makefile: Update copy files targets as needed 2019-01-02 08:13:49 -06:00
Andrew Eikum
971cdf9a42 makefile: Put proton version into version file, too 2019-01-02 08:13:49 -06:00
Andrew Eikum
a39930ee3d makefile: Don't build openal
This isn't needed anymore with FAudio.
2018-12-20 13:33:41 -06:00
Andrew Eikum
55b80e0c68 makefile: Include and build Wine with gnutls26 headers 2018-12-20 10:53:32 -06:00
Andrew Eikum
d4a0af47a9 update FAudio 2018-12-10 14:51:00 -06:00
Andrew Eikum
11a7c7a695 Work around old mingw-w64
Debian 9's package is missing dxgi1_4, which dxvk needs.
2018-11-30 08:52:48 -06:00
Andrew Eikum
7fa382e9c8 build faudio with cmake 2018-11-30 08:52:48 -06:00
Andrew Eikum
ffaa0b5f8a Use FAudio for xaudio2 2018-11-19 14:33:03 -06:00
Huw Davies
e47e856563 makefile: Set SHELL to bash.
The makefile contains several bash-isms so set the SHELL variable to bash.
This fixes build errors on platforms where /bin/sh does not support bash extensions.

Signed-off-by: Huw Davies <huw@codeweavers.com>
2018-11-16 12:41:26 -06:00
Vincent Povirk
99f9e48f19 Add vagrant script for build vm. 2018-11-05 10:17:00 -06:00
Andrew Eikum
dca026aff1 lsteamclient: build fixes 2018-10-31 07:48:34 -05:00
Andrew Eikum
50536bd4ea makefile: dxvk configure should also depend on meson build file 2018-10-31 07:48:34 -05:00
Andrew Eikum
5a8c43c938 makefile: meson 0.47 doesn't have --reconfigure 2018-10-31 07:48:33 -05:00
Andrew Eikum
28f57bd699 makefile: Add font legalese 2018-10-31 07:48:33 -05:00
Nikolay Sivov
17e50d67ab Build replacement fonts 2018-10-31 07:48:33 -05:00
Steven Noonan
b660215c49 makefile_base: add some compiler sanity flags
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-18 07:47:38 -07:00
Steven Noonan
7b257524a4 makefile_base: use -march=nocona instead of individual -m$isa flags
Also use instruction scheduling model for Haswell if available.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-17 19:17:26 -07:00
John Schoenick
8ee0eea90c build/makefile_base.mak: Fix dxvk error when reconfiguring
If the makefile changes, dxvk tries to reconfigure (since the passed
args may be different), but meson only allows that with --reconfigure

Also fixes 'make dxvk_configure' multiple times
2018-10-17 16:58:05 -07:00
John Schoenick
78d2210b1f build/makefile_base.mak: Print a message during deploy step
Largely for my testing that 'make all deploy' was doing things right,
but mildly helpful and matches install step.
2018-10-17 16:58:05 -07:00
John Schoenick
4adf44a16f build/makefile_base.mak: Ensure the install/dist steps run last
Such that 'make all deploy' or 'make all deploy install' work as
expected

Deploy/install don't imply all however - if iterating you may wish to
do e.g. 'make dxvk deploy' without waiting for a no-op wine build.

Ideally we'd track OUT files for everything, however, so a 'make
deploy' could at least build missing targets, if not dirty them.

The dist target would seem to need this treatment at first glance, but
it is actually doing prepare steps that only depend on wine being
ready
2018-10-17 16:58:05 -07:00
John Schoenick
c3053292b5 build/makefile_base.mak: Add some missing dist subdirectories
Fixes some races in parallel builds

These could all be listed in OBJ_DIRS above, but for specific nested
subdirectories having a mkdir -pv there is less error prone, if
verbose.
2018-10-17 16:58:05 -07:00
John Schoenick
b431ee2bab build/makefile_base.mak: Fix parallel lsteamclient builds
Use silly symlink-dir workaround since winemaker's directory/project
behavior is pretty fragile
2018-10-17 16:58:05 -07:00
Andrew Eikum
56b174af54 makefile: Enable sse optimizations 2018-10-17 14:23:15 -05:00
Andrew Eikum
22e0e3f0ab makefile: Configure DXVK in release mode directly 2018-10-17 14:23:15 -05:00
Steven Noonan
dff8cce67b
makefile_base: allow using "make -jN"
We didn't prefix any of our submake $(MAKE) invocations with +, so the
jobserver couldn't be used.

This also (so far?) seems to fix some problems I had with "make -j16"
(or anything higher than -j4) breaking due to some vrclient/steamclient
linkage problems.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-17 11:48:02 -07:00
Andrew Eikum
c8d12e78a7 Merge branch 'proton_3.16-next' into proton_3.16 2018-10-16 10:56:07 -05:00
Andrew Eikum
e5f38f9f4c proton: Use DXVK for d3d10 as well. 2018-10-16 09:44:32 -05:00
Andrew Eikum
cc3e4210cd Revert "build dxvk as native .so"
This reverts commits aef98f1e7d and f85b734f66.

The Steam Runtime is too old to build DXVK, so we have to continue
building it as a Windows DLL.
2018-10-16 07:50:33 -05:00
Steven Noonan
7bfeb7f94d
fix namespace collision for multiple proton installs
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-13 00:27:52 -07:00
Steven Noonan
b3ecf24bc3
makefile_base: ensure version gets copied into DST_BASE
The main "proton" script tries to compare the version file in DST_BASE
with the one in DST_DIR, but the one in DST_BASE was missing, causing it
to fail to run anything.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-12 23:43:35 -07:00
Andrew Eikum
eda71eee45 makefile: Disable ccache for now
Doesn't play well with multiple Docker containers with the same temp
dirs. Maybe fixed in a new ccache or we can work around with
CCACHE_TEMPDIR.
2018-10-12 08:44:37 -05:00
Andrew Eikum
64f4d42c77 proton: Track prefix files and remove them on a major proton version change
This is to allow downgrading prefixes, for example if a user switches
from 3.16 to 3.7.
2018-10-12 08:30:19 -05:00
Andrew Eikum
1a7bd25370 Add Gecko support 2018-10-11 08:32:54 -05:00
Andrew Eikum
d43119bf8d add deploy target
Packages files for redistribution, though steamworks or otherwise. Does
not include the compatibilitytool.vdf file, which should be distributed
separately.
2018-10-11 08:32:54 -05:00
Andrew Eikum
aef98f1e7d build dxvk as native .so 2018-10-11 08:32:14 -05:00
Andrew Eikum
a2557b0b05 Don't require sudo during build
If we really want this, we could detect it in configure or something.
But it was already pretty ugly, so let's ask users to belong to the
docker group.
2018-10-11 08:31:52 -05:00
John Schoenick
1be8592535 makefile_base.mak: Implement makefile-based build system 2018-10-11 08:31:51 -05:00