@@ -70,6 +70,10 @@ set(EMNAPI_BASIC_TARGET_NAME "emnapi-basic")
7070set (EMNAPI_BASIC_MT_TARGET_NAME "emnapi-basic-mt" )
7171set (EMNAPI_TARGET_NAME "emnapi" )
7272set (EMNAPI_MT_TARGET_NAME "emnapi-mt" )
73+
74+ set (EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME "emnapi-basic-napi-rs-mt" )
75+ set (EMNAPI_NAPI_RS_MT_TARGET_NAME "emnapi-napi-rs-mt" )
76+
7377set (DLMALLOC_TARGET_NAME "dlmalloc" )
7478set (DLMALLOC_MT_TARGET_NAME "dlmalloc-mt" )
7579set (EMMALLOC_TARGET_NAME "emmalloc" )
@@ -155,6 +159,31 @@ else()
155159 set (EMNAPI_BUILD_BASIC_MT OFF )
156160endif ()
157161
162+ if (IS_WASM32_WASIP1_THREADS)
163+ set (EMNAPI_BUILD_FOR_NAPI_RS ON )
164+ else ()
165+ set (EMNAPI_BUILD_FOR_NAPI_RS OFF )
166+ endif ()
167+
168+ if (EMNAPI_BUILD_FOR_NAPI_RS)
169+ add_library (${EMNAPI_NAPI_RS_MT_TARGET_NAME} STATIC ${EMNAPI_SRC} ${UV_SRC} )
170+ target_include_directories (${EMNAPI_NAPI_RS_MT_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE} )
171+ target_compile_definitions (${EMNAPI_NAPI_RS_MT_TARGET_NAME}
172+ PUBLIC ${EMNAPI_DEFINES} "NAPI_EXTERN=__attribute__((__import_module__(\" env\" )))"
173+ )
174+
175+ add_library (${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME} STATIC
176+ ${ENAPI_BASIC_SRC}
177+ "${CMAKE_CURRENT_SOURCE_DIR} /src/thread/async_worker_create.c"
178+ "${CMAKE_CURRENT_SOURCE_DIR} /src/thread/async_worker_init.S"
179+ )
180+ target_include_directories (${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE} )
181+ target_compile_definitions (${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME}
182+ PUBLIC ${EMNAPI_DEFINES} "NAPI_EXTERN=__attribute__((__import_module__(\" env\" )))"
183+ PRIVATE "EMNAPI_DISABLE_UV"
184+ )
185+ endif ()
186+
158187if (EMNAPI_BUILD_BASIC_MT)
159188 add_library (${EMNAPI_BASIC_MT_TARGET_NAME} STATIC
160189 ${ENAPI_BASIC_SRC}
@@ -222,6 +251,10 @@ if(LIB_ARCH)
222251 if (EMNAPI_BUILD_BASIC_MT)
223252 install (TARGETS ${EMNAPI_BASIC_MT_TARGET_NAME} DESTINATION "lib/${LIB_ARCH} " )
224253 endif ()
254+ if (EMNAPI_BUILD_FOR_NAPI_RS)
255+ install (TARGETS ${EMNAPI_NAPI_RS_MT_TARGET_NAME} DESTINATION "lib/${LIB_ARCH} " )
256+ install (TARGETS ${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME} DESTINATION "lib/${LIB_ARCH} " )
257+ endif ()
225258 if (IS_WASM32)
226259 install (TARGETS ${DLMALLOC_TARGET_NAME} DESTINATION "lib/${LIB_ARCH} " )
227260 install (TARGETS ${DLMALLOC_MT_TARGET_NAME} DESTINATION "lib/${LIB_ARCH} " )
0 commit comments