HomeWildfire Games

[SM78 1/2] Upgrade Spidermonkey build system and binaries to 78.6.0

Description

[SM78 1/2] Upgrade Spidermonkey build system and binaries to 78.6.0

SM78 drops usage of Python 2 in favour of Python 3.

SM78 is the first ESR to actually use rust, which means a new static library is bundled.
This means LLVM-objdump is now a dependency of Spidermonkey, and also 0 A.D.

SM78 also removes the need for NSPR on Windows (Bug 1556646).

Tested by: Stan, Freagarach, mammadori

Refs #5694
Refs #5861

Differential Revision: https://code.wildfiregames.com/D3167

Event Timeline

Why do we need libraries/source/spidermonkey/lib/mozjs78-ps-rust*.lib in our repo?

Why do we need libraries/source/spidermonkey/lib/mozjs78-ps-rust*.lib in our repo?

That's the windows 'stub' lib for rust code. I believe we need that for compilation on Windows?

That's the windows 'stub' lib for rust code. I believe we need that for compilation on Windows?

I thought it's needed for rust binding (at least according to mozjs-78.6.0/js/rust/README.md), so it's not?

I thought it's needed for rust binding (at least according to mozjs-78.6.0/js/rust/README.md), so it's not?

That actually refers to the js crate, this rust library is something else, and it's providing encoding-related symbols to SM. It's created from js/src/rust, not js/rust, and called "jsrust".
(This is all a bit confusing, I'll admit).