Bug 41393 - Move wasm32 compiler-rt package step to clang projects
Merge Info
Issues
Resolves
Merging
Target Branches
-
main
: esr128-14.5 -
maint-14.0
: esr128-14.0 -
maint-13.5
: esr115-13.5
Backporting
Timeline
-
No Backport (preferred): patchset for the next major stable -
Immediate: patchset needed as soon as possible -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport
Issue Tracking
-
Link resolved issues with appropriate Release Prep issue for changelog generation
Change Description
Building Firefox requires compiler-rt wasm32 library to be packaged alongside clang.
We were doing this step inside the firefox and geckoview projects, but that meant one can't simply download the clang toolchains and use them for dev builds.
I had to create a clang-linux
project, because when building for Linux and Android we were just using plain clang
. Initially I planned to move the wasm32 compiler-rt build step to the clang
project. However that proved not to be possible, because a wasm-libc build is required to build wasm32 compiler-rt and the wasm-libc build requires clang i.e. circular dependency issues.
MacOS and Windows already have separate projects to package clang with other libraries, so a step to include the wasm32 compiler-rt lib was added to each of them.
How Tested
This was tested in multiple ways. I checked that using tor-browser-build to build geckoview and firefox for Linux with the changes is good. I also checked that getting the clang-linux artifact and using it as the clang of choice for a dev build works. I am currently trying to get macos and windows builds from tbb to check the changes there, but I have been getting unrelated problems because it's the first time I build for those platforms and it's taking too long. I will report back here if anything is broken in there.