Commit Graph
53 Commits
Author SHA1 Message Date
Rémi Bernon 1e6e006cb6 build: Add dependencies for makedep to find generated server headers. 2024-08-19 22:35:49 +03:00
Rémi Bernon 6b1bed7a8d build: Add rules to generate wine requests. 2024-08-19 22:35:49 +03:00
Giovanni Mascellani 1683d5f143 make: Canonicalize ORIGIN paths.
That path can be relative when the build directory is inside the Proton
source directory. Since it then used to patch compile_commands.json, it
is important that it is absolute, otherwise it implicitly becomes grafted
to a directory for which it is meaningless.
2024-08-19 22:35:49 +03:00
Arkadiusz Hiler 06e412ab60 make: Use SOURCE_DATE_EPOCH for unique timestamps.
... and vary them between 32 and 64bit builds.
2024-05-23 10:54:49 +03:00
Arkadiusz Hiler 32e3b6edfe make: Preserve PE timestamps with objcopy. 2024-05-23 10:54:49 +03:00
Rémi Bernon 9079a24016 build: Make sure configure uses configure.ac mtime.
Since we moved the rsync into the container, configure dependency on
configure.ac was broken, leading to it not being regenerated until a
second build. This is because timestamps are read by make earlier than
the rsync, which runs after the top-level rules are checked.
2024-02-15 15:53:29 +02:00
Rémi Bernon 3813708ca9 build: Also set makedep C++ compiler for cross-compilation. 2024-02-15 15:53:28 +02:00
Rémi Bernon 453b5bdc5a make: Correctly link external modules unixlib with ntdll.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon 40f210f20c lsteamclient: Build using makedep rules.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Arkadiusz Hiler 90cc4f1075 configure.sh: Add --enable-bear for autotools builds.
With --enable-bear all autotools projects will be built via bear so
compile_commands.json are generated.
2023-12-12 17:37:45 +02:00
Arkadiusz Hiler d78cb3c0da make: Don't copy compile_commands.json over to the build directory sources. 2023-12-12 17:37:45 +02:00
Arkadiusz Hiler 10f39becdf make: Collect compile_commands.json in $(OBJ)/compile_commands/
All compile_commands.json from the build directories will be copied to
the compile_commands subdirectory adjusting the paths of the source to
point to the real (not the rsynced) one.

NOTE: it still may point to the build dir for things like generated config.h
2023-12-12 17:37:45 +02:00
Arkadiusz Hiler 46304cde3d make: Use GNU Make's job server when building via ninja.
`+` is necessary to mark it as recurisve[0] so that fds are passed as
expected.

Passing explicit `-j` is dropped because it takes precedence over
MAKEFLAGS and disables the job server integration.

[0]: https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html
2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 7c21be5c27 Makefile.in: Introduce SUPPRESS_WARNINGS for quieter CI build.
Due to how we handle building and compilation flags we end up with a lot
of warnings that are normally hidden. Let's introudce an option to
suppress them for CI builds to generate smaller, more searchable logs.
2023-09-12 14:44:08 +03:00
Arkadiusz Hiler 692ef0aa1f build: Do as much as possible inside of the SDK container.
Parts of the rules, including the magical ones created via
make/rules-*.mk, are executed inside of the container via SHELL
override, and parts are executed on the host side.

This makes reasoning about and debugging the rules much harder than it
should be. It also requirs the users to have certain programs installed
on the host in addition to docker/podman.

With this change `make` will act as a simple pass through to inside of
the container for the most part.

One notable exception is installation which still happens the host side.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler b2b17774e4 make/rules-source.mk: Suppress grep warnings.
The second grep in sequence can exit early (-q, as soon as we have one
match it exits with a success) which makes the first grep unhappy as its
write pipe is closed early, resulting in:

        syncing vulkan-loader... grep: write error: Broken pipe

Let's silence those errors.
2023-02-14 16:07:44 +02:00
Rémi Bernon 4ee7c0c666 glslang: Build from source instead of prebuilt binary. 2022-10-14 18:21:56 +03:00
Rémi Bernon f3cc9f0610 gst-base: Enable GL video processing plugins.
CW-Bug-Id: #20363
CW-Bug-Id: #20905
CW-Bug-Id: #20981
2022-08-15 17:47:03 +03:00
Andrew Eikum 14ffc4d0f7 Use CARGO_HOME on the host
This lets cargo's cache persist across builds, so there are fewer (often
zero) network pulls during the build process.
2022-03-04 13:30:29 +02:00
Rémi Bernon 6a3c03d64b build: Don't change debug file .text section flags.
This breaks perf ELF symbol tracking somehow.
2022-02-25 13:52:40 +02:00
Rémi Bernon 82b5301d55 build: Remove unnecessary pefixup.py script. 2022-02-25 13:52:40 +02:00
Rémi Bernon 88064f86ee build: Fixup .text section flags using objcopy and assert in pefixup. 2022-02-25 13:52:40 +02:00
Rémi Bernon 47fe4a8063 pefixup: Assert that IMAGE_SCN_ALIGN_MASK isn't required anymore. 2022-02-25 13:52:40 +02:00
Andrew Eikum a18ffa9b8b Makefile.in: Build dav1d gst plugin
CW-Bug-Id: #19516
2022-01-24 22:53:20 +02:00
Derek Lesho be0bdb7fb9 proton: Add gst-libav and ffmpeg to build.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2022-01-24 22:53:20 +02:00