1
0
forked from mirrors/0ad
Commit Graph

175 Commits

Author SHA1 Message Date
Itms c38b40cda8 Allow downloading Windows libraries into nightly 2025-05-14 10:48:43 +02:00
Lancelot de Ferrière 1f2156adcc Fix library build on MacOS Sonoma 2025-05-02 21:05:31 +02:00
Ralph Sennhauser 263b481442 Cmake-4 support for nvtt
Fix nvtt build to support cmake-4, while at it also fix other
related outstanding cmake issues in nvtt.

Fixes: #7538
Fixes: #7764
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-04-27 09:58:23 +02:00
Vladislav Belov c46593149b Adds amd64 support to get-windows-libs. 2025-04-26 20:53:18 +02:00
Ralph Sennhauser 25ef6107e0 Make get-windows-libs fail on error
Don't try to muddle through, if the files expected to be present can't
be copied it's a hard failure.

Further abort with error code for failed commands so it can be caught by
the CI.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-04-22 19:34:18 +02:00
phosit 40fe7df654 Silence dangling pointer warning for JS::Rooted
With much help by @sera.
2025-02-24 21:30:56 +01:00
Ralph Sennhauser 8baff65e95 Bump Windows libs for premake5 beta4
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-02-18 17:42:42 +01:00
Ralph Sennhauser 84b407aa35 Update premake to v5.0.0-beta4
https://github.com/premake/premake-core/releases/tag/v5.0.0-beta4

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-02-18 17:42:42 +01:00
Vincent Cheng 026a668a0f Make sure mozjs patch FixFpNormIssue.diff applies cleanly on i386 2025-02-15 12:46:08 +01:00
Martijn van Duren 2338473da1 Make libraries/*/build.sh use "${TAR}" instead of tar directly.
This allows systems using a tar version not supporting all the required
flags to easily switch to gnu tar.
2025-02-09 14:31:10 +01:00
Ștefan Talpalaru 3ff3f72890 build-source-libs.sh: fix "--with-system-premake" 2025-01-31 13:01:40 +01:00
Langbart 1a154a5704 Bump OpenAL to 1.24.2 on macOS
Fixes #5978
2025-01-25 14:19:08 +01:00
Ralph Sennhauser efc9c09280 Remove spurious fi in build-source-libs.sh
d15f1c29e4 added an extra fi, remove it.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-01-20 16:58:37 +01:00
Ralph Sennhauser f9a43c8c40 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>
2025-01-20 16:58:37 +01:00
Ralph Sennhauser f97a1f1c54 Fix spidermonkey profiling build
Instruments is macOS only, so don't try to enable it on other platforms.

Also don't quote ${JOBS} as it might be unset and passing an empty
string to "mach build" may result in configure failing.

Fixes: #7470
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-01-08 07:32:59 +01:00
Cayleb-Ordo 90d276b0dc Make windows batch-scripts independent of calling directory
Change dir to batch-script location as first action. This
allows to run the script from outside the directory its stored.
2025-01-05 19:38:37 +01:00
Itms 604d4ce29c Fix another macOS lib download source 2025-01-03 17:05:14 +01:00
Stan fa19cb10fd Fix updating the OpenAL library
Some folders were not properly purged
2024-12-31 17:20:04 +01:00
Stan 3499efe014 Add two missed files in previous commit 2024-12-30 23:42:34 +01:00
Stan df6ed56667 Add OpenAL Soft for macOS 2024-12-30 22:48:41 +01:00
Stan f14a98e26f Bump minimum macOS SDK to 10.15
According to https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html Firefox doesn't support anything lower than 10.15 at runtime. So neither do we.
Fixes #7370
2024-12-30 11:14:59 +01:00
Lancelot de Ferrière a6693e8c1f Fix samply profiling of SM JS code 2024-12-30 09:13:06 +01:00
Itms ba0e2d0217 Self-host gloox tarball
Upstream seems less and less reliable, with the bug tracker inaccessible
and the website now entirely down.
2024-12-22 11:19:05 +01:00
Itms c9e4eb1539 Fix amd64 cross-compilation on macOS 2024-12-21 23:03:24 +01:00
Stan f27afa5c17 Update Windows libs reference commit
Fixes: #6991
Refs: #3004
2024-12-21 18:31:09 +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 9db50f48e7 Add help to build-source-libs.sh
The number of options is increasing, add a --help option to print usage
and available options.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-21 09:18:16 +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
Lancelot de Ferrière ffa6943057 Reapply "Update various macos Libraries"
This reverts commit e609af395d.
2024-12-07 18:36:33 +01:00
Lancelot de Ferrière e609af395d Revert "Update various macos Libraries"
This reverts commit 8c9ed820cb.
2024-12-07 18:20:16 +01:00
Lancelot de Ferrière 8c9ed820cb Update various macos Libraries 2024-12-07 18:15:15 +01:00
Itms 91289c8362 Fix error in build-macos-libs.sh
Issue introduced in 9fd05e38a4, revealed by c280df9e64.
2024-12-05 09:51:24 +01:00
Antoine Le Gonidec 2451167a37 Update the MacOS libraries build process to avoid "empty" error messages
The die function now only displays a message if it has been called with
a message argument.
2024-12-03 13:53:42 +01:00
Antoine Le Gonidec c280df9e64 Fix errors handling when building the libraries for MacOS
The shell option "set -e" has a tricky, but standard, behaviour:
Anything called on the left side of a || or && token ignores "set -e",
so failure in a command in a subshell called on the left side of "|| die"
does not prevent the execution of the following commands in the subshell.

Adding explicit "|| die" calls after each command that could fail (and
should interrupt the process) works around this behaviour, by emulating
the intuitive "set -e" behaviour.
2024-12-03 13:53:34 +01:00
Stan ce588689ee Move Windows tool executables to win source libs. 2024-11-13 21:13:18 +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 31365e7aed Adopt clean-source-libs.sh to split sources
After 26994b156b just removing the
libraries/source directory will delete files under version control
needed to build the packages.

Use git clean instead to get back to a clean slate.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-10-24 19:11:47 +02:00
Ralph Sennhauser 28a9692893 Allow system cxxtest
Add option to build-source-libs and premake to uses system provided
cxxtest.

Closes: #5792

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-10-13 18:27:18 +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