Add and test Emscripten/WASM compilation#23
Conversation
This reverts commit 1354bf9.
|
The 480 tests (and thousands of subtests) are all green! See https://github.com/agriyakhetarpal/semicolon-lapack/actions/runs/28874908379/job/85647289889?pr=1 🎉 |
|
Ah very cool, thanks a lot for this. Finally all pieces are coming together.
That's my bad, whatever that button is set up for, I just click it without thinking too much. I really don't have any preferences so please use whichever style you prefer. If you want to squash it for a single functionality that would be indeed better. But in general as long as it is kinda sorta clean I don't think I would care either way. I also saw that during build process emscripten has an extension that leads to warnings, which is probably why it is busy printing tons of stuff like I did not check but is it possible to use a silencer for that like |
|
Looks good @agriyakhetarpal thanks again. There is one more flag that is lighting up but I can do it with the next PR anyways. So in it goes. |
|
Thank you! While looking at this locally, I also had a bit of a TIL. Leaving it here since it might be interesting (but I assume you already know all this)! What I found is more about the Apple SDK than Emscripten. Since Emscripten is based on LLVM-Clang, I kind of expected Clang in a native build on my macOS machine to show these warnings as well. However, even with This is what macOS's libc does for the #define CMPLX(__real,__imag) \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wcomplex-component-init\"") \
(double _Complex){(__real),(__imag)} \
_Pragma("clang diagnostic pop")Emscripten uses MUSL, whose So I thought it made sense not to limit this to Emscripten specifically, since theoretically a Linux/non-Apple Clang build could show these warnings against a more standard glibc/MUSL. I can take a look at adding more flags (you merged as I was writing this comment, so thanks for raising that!). |
|
I should have guessed. In the early versions of this library I had so many issues with it that I was about to give up on MacOSX. So many "liberal" changes done over the years that is making things seriously difficult. But glad that it is not detrimental. |
See #19 (comment)
This PR sets up BLIS compiled to WASM (using my patches in Pyodide) and CMocka compiled to WASM, then runs the test suite by compiling semicolon-lapack to WASM.
I see that you merge PRs with a merge commit instead of squashing/rebasing, so I will rebase my commits accordingly so as to have a cleaner commit history (this is mostly rough work with unclean commit history, which I committed after testing stuff out over the weekend).
xref pyodide/pyodide-recipes#604, pyodide/pyodide-recipes#609 and pyodide/pyodide-recipes#610, and flame/blis#491.