Commit Graph

184 Commits

Author SHA1 Message Date
Rémi Bernon
e8455152a9 build: Use build macros for jxrlib. 2021-03-31 14:08:10 -05:00
Rémi Bernon
5aa5ff8cd9 build: Use build macros for faudio. 2021-03-31 14:08:10 -05:00
Rémi Bernon
5a161e318e build: Use build macros for openxr. 2021-03-31 14:08:10 -05:00
Rémi Bernon
94fd711e2b build: Introduce rules-cmake macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon
05480be5b9 build: Use build macros for vkd3d-proton. 2021-03-31 14:08:10 -05:00
Rémi Bernon
d71bd981e4 build: Use build macros for gst_good. 2021-03-31 14:08:10 -05:00
Rémi Bernon
96756d8ea1 build: Use build macros for gst_base. 2021-03-31 14:08:10 -05:00
Rémi Bernon
78e2bea5e3 build: Use build macros for gstreamer. 2021-03-31 14:08:10 -05:00
Rémi Bernon
8e1c0d5b29 build: Use build macros for gst_orc. 2021-03-31 14:08:10 -05:00
Rémi Bernon
04631339f3 build: Introduce rules-meson macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon
dcb0f60cb7 build: Introduce rules-common macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon
49cfbe9870 build: Introduce rules-source macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon
3273dc2de0 build: Introduce single container build target.
The intention is to batch all container invocations instead of
instanciating one for every rule that needs to run within a container.

This keeps track of build dependencies using a .any-build timestamp file
and define a CONTAINER=1 variable when make is running within the
container.

When running within the container, only "configure" and "build" targets
are active, all the other targets are no-op. When make is run outside
of the container, it's the opposite, except for the "build" targets
which all depend on this .any-build timestamp file to trigger the
container build execution.

The targets dependency graph is still complete, so "source" targets
will always all be executed before the container, and configure steps
will optionally run if the generated files are missing. When source
change is detected, only the build rules are executed again, trusting
each build system to decide if configure should be run again or not.
2021-03-31 14:08:10 -05:00
Rémi Bernon
3d2a7a09af build: Move misc helpers to make/utility.mk. 2021-03-31 14:08:10 -05:00
Rémi Bernon
f0d1278458 build: Don't use priviledged / init docker.
Images already embed tini to pass kill signals.
2021-03-31 14:08:10 -05:00
Rémi Bernon
68bd1c20e8 build: Use proton sdk docker image for building. 2021-03-31 14:08:10 -05:00
Andrew Eikum
8398ebded4 update wine to 6.3 2021-03-31 14:08:09 -05:00
Rémi Bernon
de58187e6c build: Also pass CXX override to wine configure.
So that it is correctly embedded into wineg++.
2021-02-05 08:28:09 -06:00
Rémi Bernon
433e98c22d build: Use CC32 / CXX32 when building 32bit modules. 2021-02-05 08:28:09 -06:00
Rémi Bernon
ae1e942714 build: Build dxvk within the docker container. 2021-02-05 08:28:09 -06:00
Rémi Bernon
f417b5c3e3 configure: Use a single steam runtime image.
* Make it more flexible on the image name,

* Remove the image type support, only Docker is likely to be supported.

* Add target runtime name (scout / soldier), independent of the image.
2021-02-05 08:28:09 -06:00
Rémi Bernon
8e7a5fc21d build: Remove unused NO_DXVK option. 2021-02-05 08:28:09 -06:00
Andrew Eikum
38f603d7bf wineopenxr: Add openxr support 2021-01-11 12:26:56 -06:00
Andrew Eikum
0cf7f02112 update wine 2020-10-13 13:22:16 -05:00
Andrew Eikum
347c53bb42 Fix toolmanifest for no-steam-runtime builds 2020-09-29 14:29:06 -05:00
Andrew Eikum
26e8db3d6f configure: Remove no longer needed steam-runtime argument 2020-09-29 14:29:06 -05:00
Rémi Bernon
87570998f1 build: Build and install jxrlib. 2020-09-29 14:29:06 -05:00
Andrew Eikum
8864bbfba3 Vagrantfile: Use public soldier SDK 2020-09-29 14:29:06 -05:00
Jens Peters
deabf97f1c Use widl from mingw-tools
vkd3d-proton uses now widl from mingw for cross-builds.
2020-09-29 14:29:06 -05:00
Andrew Eikum
7e495564df pass optimize flags to faudio 2020-09-29 14:29:06 -05:00
Andrew Eikum
9d7713235c build: Use ccache binary instead of PATH
The ccache symlinks dir may differ (Arch and Debian disagree, for
example), and this allows us to use ccache for mingw-w64 within the
runtime container.
2020-09-29 14:29:06 -05:00
Zhiyi Zhang
24b944292e build: Support ccache. 2020-09-29 14:29:06 -05:00
Andrew Eikum
414e439070 build: Disable bash-completion for gstreamer build 2020-09-29 14:29:06 -05:00
Andrew Eikum
ccb17c00cc build: Build wine PE files with optimizations 2020-09-29 14:29:05 -05:00
Esme Povirk
0e34540c66 Make files in lib/wine read-only. 2020-09-29 14:29:05 -05:00
Esme Povirk
87ffa3c205 Put symlinks in the default prefix for builtin dlls. 2020-09-29 14:29:05 -05:00
Andrew Eikum
f21922d970 media-converter: Add media-converter gstreamer plugin 2020-09-29 14:29:05 -05:00
Andrew Eikum
2605bdf477 remove ffmpeg 2020-09-29 14:29:05 -05:00
Andrew Eikum
aa48d40386 FAudio: Support gstreamer 2020-09-29 14:29:05 -05:00
Andrew Eikum
7d444028c3 update wine to 5.13 2020-09-29 14:29:05 -05:00
Andrew Eikum
c1d65705bb only build widl once 2020-09-17 10:41:18 -05:00
Andrew Eikum
fbd6881619 remove glib from build 2020-09-17 10:41:18 -05:00
Andrew Eikum
e9a48c2844 build against the Soldier SDK 2020-09-17 10:41:16 -05:00
Andrew Eikum
1c26086688 Fix up vkd3d-proton build 2020-07-15 10:31:53 -05:00
Hans-Kristian Arntzen
dd7130d113 Build standalone vkd3d d3d12.dll. 2020-07-15 10:31:53 -05:00
GloriousEggroll
b6b52d19f1 build: Build gstreamer with orc. 2020-06-02 08:46:19 -05:00
Zhiyi Zhang
60b53f915d build: Use MAKE variable for building modules.
So that options like -j can be passed through.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2020-03-23 08:19:09 -05:00
Andrew Eikum
0a77ffde26 vrclient: import jsoncpp 2020-03-19 14:48:52 -05:00
Andrew Eikum
5f22772332 build: Build deinterlace gstreamer filter 2020-03-09 10:03:54 -05:00
Andrew Eikum
349df9c436 steam_helper: Set up VR paths in steam.exe, not proton
This speeds up game launch times.
2020-03-09 10:03:54 -05:00
Andrew Eikum
a4b8a51d4a steam_helper: Don't use msvcrt
We need access to linux crt functions (like getenv()), so disallow use
of msvcrt. Notably, linux crt wchar functions are _not_ compatible with
Windows WCHAR strings.
2020-03-05 10:03:11 -06:00
Rémi Bernon
c6cead45dc lsteamclient: Reallocate new interface only when linux_side changes.
This fixes Batman: AK's Denuvo DRM incorrectly flagging the game as
pirated.
2020-02-24 09:33:55 -06:00
Andrew Eikum
bca0a720cd build: Build and ship glib, gstreamer, gst-plugins-base, and gst-plugins-good 2020-02-07 06:45:08 -06:00
Andrew Eikum
d439e35f62 build: Use a shared wine-gecko installation 2020-02-03 09:54:07 -06:00
Andrew Eikum
45e3edf3ef update wine to 5.0 2020-02-03 09:54:07 -06:00
Andrew Eikum
113770b5f4 update licenses 2020-01-10 08:35:33 -06:00
Andrew Eikum
1bfc03a2c5 steamclient: generate 1.47 support 2020-01-10 07:49:46 -06:00
Andrew Eikum
f7f6f6b4db build: Use new dxvk_config library instead of importing into wined3d 2020-01-10 07:49:13 -06:00
Andrew Eikum
17ae1c4447 Revert "build: Build c++ files with -fno-gnu-unique"
This reverts commit bd8efaa9a6.
2019-12-18 09:39:02 -06:00
Andrew Eikum
9e542fada6 build: Ship d9vk from dxvk 2019-12-18 08:40:45 -06:00
Andrew Eikum
b6462471bf Revert "build: Pass bison in PATH" 2019-11-26 14:12:28 -06:00
Zhiyi Zhang
aee1b47925 build: Move environment variables to the end of configure script.
"ENV=VAR ./configure" is different from "./configure ENV=VAR".
The latter caches command line variables in config.status.
So "config.status --recheck" succeeds executing configure script
Otherwise, "config.status --recheck" often fails when only source
is updated because some variables are not cached. Examples include
being not able to find bison or vkd3d.h when they are obviously present,
which are because of missing BISON and VKD3D_CFLAGS variables.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-11-26 14:07:01 -06:00
Zhiyi Zhang
c448cd61ce build: Remove unused variables.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-11-26 14:07:01 -06:00
Andrew Eikum
bd8efaa9a6 build: Build c++ files with -fno-gnu-unique
Wine requires dlclose() to be functional, and g++ breaks it by default.
This manifested as wined3d failing to load a 2nd time after being
unloaded.
2019-11-07 13:36:27 -06:00
Andrew Eikum
faf2b8271a build: Pass bison in PATH
When Wine re-runs configure (e.g. during bisect with an existing build
tree), it won't remember the previous BISON variable.
2019-11-07 13:36:27 -06:00
Andrew Eikum
2c896e5f4f build: Build vkd3d with NDEBUG and strip it 2019-11-07 13:36:27 -06:00
Andrew Eikum
c87e94540c update wine-mono to 4.9.4 2019-11-07 13:36:27 -06:00
Andrew Eikum
5dca355718 build and ship vkd3d for d3d12 support
SPIRV-Headers at 1.5.1
Vulkan-Headers at v1.1.126
2019-11-07 13:36:27 -06:00
Andrew Eikum
05173d8a2d build: Pass in CXXFLAGS for building DXVK code in Wine 2019-10-22 09:13:21 -05:00
Andrew Eikum
e30bd8ea88 build: Add a new "redist" target for distribution outside of Steam 2019-10-18 11:20:47 -05:00
Andrew Eikum
24300e3f27 Don't compress dist tarball
This lets us take advantage of Steam delta updates.
2019-10-18 09:56:47 -05:00
Andrew Eikum
31fe51430a build: Add UNSTRIPPED_BUILD option to avoid stripping binaries 2019-10-18 09:52:24 -05:00
Andrew Eikum
90563ed984 update wine-mono to 4.9.3 2019-10-08 15:21:18 -05:00
Andrew Eikum
da43c48f3d Build Source Han Sans SC Regular as if it were YaHei 2019-08-23 09:57:46 -05:00
Andrew Eikum
d73b927e2d steam_helper: Run console apps with a new console
This should allow Wine to show a wineconsole dialog for games which make
use of it. Suggested by Vincent.
2019-08-12 13:19:52 -05:00
Andrew Eikum
cfb2d906c8 update wine 2019-08-06 14:40:24 -05:00
Andrew Eikum
02ce41610d makefile: Update steam runtime docker init path
The Steam runtime image was updated, and /dev/init no longer exists. It
is now at /sbin/docker-init. Unfortunately this change will break
existing runtime installations. You'll need to update your runtime.
Easiest way is to just recreate the Vagrant VM.
2019-07-23 08:08:02 -05:00
Andrew Eikum
030bdcd224 Simplify DXVK build 2019-07-03 08:11:05 -05:00
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