mozjs
mozjs copied to clipboard
Unified Builds of jsapi and jsglue
Unified flags, as well as the usage of cc and bindgen for jsapi and jsglue.
Reorganised the build.rs primarily for the unification, but there are some changes in ordering and module organisation.
I'm not 100% sure on the ordering, so if you would like, that can be changed as well.
Resolves #435 through the removal of -x c++ and addition of --driver-mode=cl on windows from the invocations of bindgen. Replaces #437.
Note the failures in aarch64-pc-windows-msvc are due to an error in llvm 18 https://github.com/llvm/llvm-project/pull/93235 (see https://github.com/rust-lang/rust-bindgen/issues/2842 also). LLVM 18.1.8 is installed on github actions runners for windows-2022. I have tested that LLVM 19 works correctly on spiderfire.
Note the failures in aarch64-pc-windows-msvc are due an error in llvm 18 https://github.com/llvm/llvm-project/pull/93235 (see https://github.com/rust-lang/rust-bindgen/issues/2842 also). LLVM 18.1.8 is installed on github actions runners for windows-2022. I have tested that LLVM 19 works correctly on spiderfire.
We should pin LLVM to 19 in CI then (but only for aarch64), this is not used in servo so it should not be a problem there.
This makes everything much clear and consistent!
Before landing this we should make companion PR to servo to be sure we don't brake anything there.
I think this will need mozjs-sys bump.
Should it be a minor or patch bump?
Should it be a minor or patch bump?
just the -X part needs to be bumped (I think this is called metadata/build part in semver).
EDIT: 0.128.6-1 -> 0.128.6-2
https://github.com/servo/servo/pull/37240
All servo builds passed, so we should be good to merge here.