@@ -148,6 +148,7 @@ function(configure_native_kernel kernel)
148
148
endfunction ()
149
149
150
150
function (configure_wasm_kernel kernel)
151
+ set (XEUS_CPP_RESOURCE_DIR "/lib/clang/${CPPINTEROP_LLVM_VERSION_MAJOR} " PARENT_SCOPE)
151
152
152
153
configure_file (
153
154
"${CMAKE_CURRENT_SOURCE_DIR}${kernel} wasm_kernel.json.in"
@@ -169,17 +170,9 @@ endfunction()
169
170
170
171
message ("Configure kernels: ..." )
171
172
if (EMSCRIPTEN)
172
- # TODO: Currently jupyterlite-xeus and xeus-lite do not provide
173
- # methods to fetch information from the arguments present in the
174
- # generated emscripten kernel.
175
- # The following needs to be done here :
176
- # 1) We need to configure the kernel properly
177
- # Check issue https://github.com/compiler-research/xeus-cpp/issues/185.
178
- # 2) Once the above is done we need to add support in jupyterlite-xeus & xeus-lite
179
- # to be able to deal with arguments present in kernel.json
180
- # 3) Finally we should fetch the C++ version from the kernel.json file and
181
- # be able to pass it to our wasm interpreter rather than forcing a version.
173
+ configure_wasm_kernel("/share/jupyter/kernels/xcpp17/" )
182
174
configure_wasm_kernel("/share/jupyter/kernels/xcpp20/" )
175
+ configure_wasm_kernel("/share/jupyter/kernels/xcpp23/" )
183
176
else ()
184
177
configure_native_kernel("/share/jupyter/kernels/xcpp17/" )
185
178
configure_native_kernel("/share/jupyter/kernels/xcpp20/" )
@@ -448,16 +441,8 @@ if(EMSCRIPTEN)
448
441
PUBLIC "SHELL: --preload-file ${XCPP_TAGCONFS_DIR} @/etc/xeus-cpp/tags.d"
449
442
PUBLIC "SHELL: --post-js ${CMAKE_CURRENT_SOURCE_DIR} /wasm_patches/post.js"
450
443
)
451
- # TODO: Emscripten supports preloading files just once before it generates
452
- # the xcpp.data file (containing the binary representation of the file(s) we
453
- # want to include in our application).
454
- # Hence although we are adding support for Standard Headers, Libraries etc
455
- # through emscripten's sysroot for now, we need to do the following:
456
- # 1) Enable CppInterOp to provide us with a resource dir.
457
- # 2) If the above cannot be done, we can use the resource dir provided
458
- # by llvm on emscripten-forge but would involve adding a dependency.
459
- # 3) Shift the resource dir and the sysroot to a common location.
460
- # 4) Preload everything required together.
444
+ # TODO: Uncomment the above line regarding preloading clang's resource dir
445
+ # once has been supported through cppinterop.
461
446
endif ()
462
447
# Tests
463
448
# =====
0 commit comments