1
0
forked from mirrors/0ad

18 Commits

Author SHA1 Message Date
Ralph Sennhauser 0c154623b4 Add support for fetch-only for libraries
Used to prefetch all required tarballs to build pyrogenesis later
without network access as is common for Linux package build and some
other CI environments.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit f9a43c8c40)
Signed-off-by: Itms <itms@wildfiregames.com>
2025-01-20 22:09:27 +01:00
Ralph Sennhauser 00813ff99a Backport premake extra arch support
Grab upstream patches adding support for building premake on riscv64
[1], loongarch64 [2], and e2k [3].

[1] 82c9d90495940e2d0d574e1c7849e9698f23b090
[2] 928397f72c00979d57ec4688cb1fb26ec7f2449b
[3] 5c524b6d53307bcb4ba7b02c9dba20100df68943

Fixes: #7346
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-21 12:10:03 +01:00
Ralph Sennhauser accecc5894 Bump premake-core to 5.0.0-beta3
This is the version used for Windows already and contains the fix for
building against spidermonkey on all Linux distributions.

Backport patch to fix running on *BSD. Also make clang default on *BSD
as a toolset will always added to generated makefiles in beta3, so it
won't magically do what we expect when not adding --cc explicitly.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-15 18:34:27 +01:00
Stan d15f1c29e4 Unify library building logs 2024-12-15 15:41:37 +01:00
Dunedan 721e90ba6a Fix compilation of SM with recent Python versions
This adds a patch for a bug in SpiderMonkey, preventing compilation of
SpiderMonkey with Python >=3.12.8 and Python >=3.13.1. The bug is
tracked upstream in https://bugzilla.mozilla.org/show_bug.cgi?id=1935621
2024-12-10 22:51:31 +01:00
Itms 72ea129751 Fix SpiderMonkey debug DEFINEs in pkg-config 2024-12-09 10:46:13 +01:00
Itms 0de5f2fb25 Upgrade SpiderMonkey to ESR 115 2024-12-09 10:46:12 +01:00
Itms 6a5488832e Upgrade SpiderMonkey to ESR 102 2024-12-09 10:43:31 +01:00
Itms 2e32636a53 Use Mozilla's mach to build SpiderMonkey
This removes the need for many customizations in the build script.
2024-12-09 10:42:21 +01:00
Itms 88d3550aaa Fix SpiderMonkey build on Windows 2024-12-09 10:31:34 +01:00
Itms f88bac98b4 Fix SpiderMonkey build on recent macOS
Fixes #6905
Fixes #6915
2024-12-09 10:30:49 +01:00
Itms 682de9f289 Unbundle SpiderMonkey
This deletes the RETRY flag from the build script, which can be
manually mocked if needed.
2024-12-09 10:11:34 +01:00
Ralph Sennhauser 1f60a9b22d Include system mozjs with -idirafter
Cherry-pick upstream patch adding support for -idirafter [1] which
allows us to work around the issue of some distributions bundling the
icu headers with spidermonkey resulting in a conflict.

Further add support to our premake pkgconfig module to allow using this
feature and make use of it for when building with --with-system-mozjs.

[1] premake-core baf145dc388509c953a01bcd964835e2027208bf

Fixes: #5868
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-11-11 20:04:10 +01:00
Ralph Sennhauser 3ba61ed39e Improve cxxtest python compatibility
Use patch by Debian [1] replacing python in shebang with python3 and fixing
some warnings with recent python versions.

The reason being some use an alias of python for python3 instead of the
customary symlink. Aliases are only expanded in interactive shells
unless expansion is explicitly enabled.

[1] https://sources.debian.org/patches/cxxtest/4.4%2Bgit171022-2/python3.patch/

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-11-03 07:10:06 +01:00
Ralph Sennhauser 486509d5b9 Package and bump premake-core
Treat premake like any other dependency and package it separately, this
makes it much easier to bump it in future by making it easier to track
modifications if any.

Moving it to libraries as it is handled the same as other packages. An
argument could be made to have it in build due to it's special nature.
The issue with that approach would be how to handle clean-workspace.sh.
If we split it out we would need a separate clean-premake.sh script and
if we have it cleaned by clean-workspace we through away the download
and already built binary.

Also bump version to 5.0.0-beta2 and backport patch for macOS fix
instead of the Makefile changes. The same fix is needed for gcc-14
(reported upstream), so add a patch injecting unistd.h for Unixes.

Fixes: #6816
Fixes: #6632
Refs: #6847
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-10-26 20:18:56 +02:00
Ralph Sennhauser 4f93ddf47e Use upstream tarball for cxxtest
Update source build.sh to use upstream tarball and drop any custom
patches at the same time.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-10-13 18:27:18 +02:00
Ralph Sennhauser 39f3fa7d5b Package spirv-reflect for building shaders
Usually not available in Linux Distributions as it isn't customary to
package the SDK but only the bits needed as separate packages.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-09-24 18:45:22 +02:00
Ralph Sennhauser 26994b156b Split source package downloads
Instead of fetching the whole svn repo containing all current
dependencies into source, fetch them individually into subdirectories of
source.

Adds a wrapper script to each package to place the build output where
it's currently expected.

This allows adding and removing dependencies as well as changing origin
of those packages on a case by case basis.

It's recommended to run "git clean -dxf libraries/source" to free up
extra space and remove untracked files no longer covered by changes in
.gitignore.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-09-08 22:17:08 +02:00