-
Notifications
You must be signed in to change notification settings - Fork 31
Use a Shared build for cppinterop while building for wasm #375
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use a Shared build for cppinterop while building for wasm #375
Conversation
The logic for the shared build is simply this
This way of configuring has been used in projects like pyodide, emscripten-forge where building a shared library is essential.
|
a3af2c3
to
c72c710
Compare
Another major reason as to why I am not in favour of using different configs while building LLVM (clang, lld) for webassembly. Focus on the error here
What is happening is the default archiver being used is llvm-ar (which shouldn't be the case while building for webassembly using emscripten)
i) Like what I did locally
ii) What emscripten-forge does (https://github.com/emscripten-forge/recipes/actions/runs/12139306429/job/33846640952#step:9:216) |
Xeus-cpp's CI works perfectly now
As I said above we should stick to 1 llvm build config here.
|
c72c710
to
373e6c2
Compare
@@ -130,6 +155,45 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) | |||
message(STATUS "Found supported version: LLVM ${LLVM_PACKAGE_VERSION}") | |||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") | |||
|
|||
## Find supported LLD only while building for webassembly against emscripten |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should only find lld when building against emscripten. This comment just conveys the same.
Git diff can sometimes look to be pretty challenging to understand.
But what has been done is simply