This saves a sizeable amount of disk space during the build, by not creating
a very large libjs_static.a (~1.5 GB) that contains a copy of all the symbols
in the object files generated during the build.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=2008085
Upstream commit: https://hg.mozilla.org/mozilla-central/rev/a924182c4e55
Note that the upstream commit doesn't apply cleanly to Spidermonkey 128.13.0,
it had to be rebased.
This change reduces the disk space requirement by 50%, from 1.1 GB down to 564 MB.
It is relevant when building 0AD in resource-constrained environments (e.g. in CI).
This option allows to build the spidermonky archive hosted by WFG from
the upstream firefox tarball.
First this serves as documentation as to how the taball is created and
by integrating it into the regular build process allows to easely bump
spidermonky version for local testing.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
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>
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>
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
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>