Giovanni Mascellani
7cd7fe06ce
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-06-26 15:00:22 +02:00
Rémi Bernon
bba7fe6fa7
build: Add dependencies for makedep to find generated server headers.
2024-06-20 13:57:31 +03:00
Rémi Bernon
331f00b76b
build: Add rules to generate wine requests.
2024-06-20 13:57:31 +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
Andrew Eikum
bfc4b2330d
make: Don't set CMAKE_SYSTEM_NAME=Linux
...
This broke libaom optimization detection, since cmake appears not to set
vars like CMAKE_SYSTEM_PROCESSOR if CMAKE_SYSTEM_NAME is set.
2022-01-19 11:29:54 +02:00
Paul Gofman
920a2e52f0
makefile: Also pefixup .drv files.
2022-01-19 11:29:54 +02:00
Rémi Bernon
ec2a650072
build: Install builtin libraries to target-arch lib subdirs.
2022-01-19 11:29:54 +02:00
Rémi Bernon
73982eb20f
build: Use winebuild --exe mode for fake exe module generation.
...
This fixes steam.exe.so not being able to start from system32
automatically, as the fake module was flagged with IMAGE_FILE_DLL, which
caused GetBinaryTypeW to fail.
2022-01-19 11:29:54 +02:00
Rémi Bernon
c35122e209
build: Cross-compile Vulkan Loader with Vulkan and SPIRV Headers.
2022-01-19 11:26:04 +02:00
Rémi Bernon
04bf8f150e
build: Build vkd3d-shader with cross-compilation rules.
2022-01-19 11:26:04 +02:00
Rémi Bernon
587f86fb9d
build: Better support meson cross compilation.
2022-01-19 11:26:04 +02:00
Rémi Bernon
5b8a6c72f9
build: Remove CCACHE_BIN variable, use wrappers in PATH instead.
...
Container have ccache wrappers in the PATH already, and the two
components CC / CXX just makes it harder to generate meson cross files.
2022-01-19 11:26:04 +02:00
Rémi Bernon
4ade59b2ca
build: Better support cross-compilation in common rules.
2022-01-19 11:26:04 +02:00
Rémi Bernon
09568c2159
build: Simplify cargo target replacement.
2022-01-19 11:26:04 +02:00
Rémi Bernon
808b99bd27
build: Use $$(OBJ) consistently in rules macros.
2022-01-19 11:26:04 +02:00
Arkadiusz Hiler
2983a44781
build: Respect concurrency limit when building with cargo.
2021-11-11 18:36:07 +02:00
Zebediah Figura
0d88b6db78
build: Build vkd3d.
...
CW-Bug-Id: #15810
2021-11-11 18:36:07 +02:00
Zebediah Figura
44d9fb94b2
build: Run autoreconf in the container.
...
CW-Bug-Id: #15810
2021-11-11 18:36:07 +02:00
Rémi Bernon
c1fc8283d1
build: Use jobs to control xargs parallelism.
2021-06-17 15:10:20 -05:00
Rémi Bernon
bdb6a31e8c
build: Make silent builds actually quiet.
2021-06-17 15:10:20 -05:00
Paul Gofman
5b406be13e
build: Fixup PE section headers.
...
For FH4.
2021-06-17 15:10:20 -05:00
Rémi Bernon
b84a7593b7
build: Pass -j flags to ninja build steps too.
2021-05-27 16:57:45 +02:00
Rémi Bernon
8726ea849d
build: Add specified modules to the container build list.
...
And not only when ending with 32/64.
2021-05-27 16:52:08 +02:00
Rémi Bernon
fef27d08d9
build: Install modules separately and factor debug extraction.
2021-03-31 14:08:10 -05:00
Rémi Bernon
f88ff58f53
build: Use build macros for mediaconv.
2021-03-31 14:08:10 -05:00
Rémi Bernon
fbc77f2eb1
build: Introduce rules-winemaker macro.
2021-03-31 14:08:10 -05:00
Rémi Bernon
8c105d7aa1
build: Introduce rules-autoconf macro.
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
04631339f3
build: Introduce rules-meson macro.
2021-03-31 14:08:10 -05:00