You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and we use this llvm to build cppinterop against emscripten.
For the other packages we just simply fetch it from emscripten-forge.
This is actually really error prone. The llvm build we are doing is against emsdk 3.1.45 and luckily emscripten-forge master is also using emsdk 3.1.45 ( a migration to latest 3.1.73 is planned soon).
This system makes our build very vulnerable. Building for webassmebly using emscripten is very sensitive even if a single package is built using a different emsdk version and can lead to lot of errors like
symbol undefined
symbol signature mismatch
symbol not exported
Also demands more effort in cases like
What is emscripten-forge master switches its emsdk version ?
Or what if we want to use another emsdk version ?
Under the cases we won't even realize but our deploy pages build for xeus-cpp-lite would be broken.
Hence to really have a concrete build we have two ways to go
Build every dependency from source against an emsdk of choice in the CI for consistency
Fetch any dependency possible from emscripten-forge's main
i.e. except cppinterop that we should build from source in our CI to check compatability with latest changes , every other thing like llvm, xeus-lite etc should be fetched from emscripten-forge. The only thing to consider is that this cppinterop that we build should be against the emsdk being used by emscripten-forge's main and we would be good.
The text was updated successfully, but these errors were encountered:
Xeus-cpp's repo anyways fetches cppinterop from emscripten-forge ... which means we anyways need to stick to the emsdk version on emscripten-forge and it doesn't make sense to use different builds for xeus-cpp-lite (1 in the xeus-cpp repo and 1 in the cppinterop repo)
A migration to latest emsdk is planned and xeus-cpp-lite looks really promising with 3.1.73 (3.1.73 also allows us to get a static build for cppinterop)
emscripten-forge is very flexible. Whatever build config we want to try out with respect to any package in our ci can be done there. We are the main users of these packages when it comes to webassembly and we should be able to use any config we are interested in there itself.
Description of new feature
This is mainly for supporting xeus-cpp-lite.
Xeus-cpp-lite needs the following
Now what is being done in our CI is
CppInterOp/.github/workflows/ci.yml
Lines 664 to 679 in 4959cce
and we use this llvm to build cppinterop against emscripten.
This is actually really error prone. The llvm build we are doing is against emsdk 3.1.45 and luckily emscripten-forge master is also using emsdk 3.1.45 ( a migration to latest 3.1.73 is planned soon).
This system makes our build very vulnerable. Building for webassmebly using emscripten is very sensitive even if a single package is built using a different emsdk version and can lead to lot of errors like
Also demands more effort in cases like
Under the cases we won't even realize but our deploy pages build for xeus-cpp-lite would be broken.
Hence to really have a concrete build we have two ways to go
i.e. except cppinterop that we should build from source in our CI to check compatability with latest changes , every other thing like llvm, xeus-lite etc should be fetched from emscripten-forge. The only thing to consider is that this cppinterop that we build should be against the emsdk being used by emscripten-forge's main and we would be good.
The text was updated successfully, but these errors were encountered: