Commit Graph

38 Commits

Author SHA1 Message Date
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