diff --git a/.gitignore b/.gitignore index ca66ca2d..8a7fbf41 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,6 @@ /test/CMakefiles node_modules !example/node_modules -/include/node_api_full.h package-lock.json /example/build out diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 58412f2a..7fb86f0e 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -3,7 +3,7 @@ "includePath": [ "${default}", // "${env:USERPROFILE}/AppData/Local/node-gyp/Cache/16.15.0/include/node" - "${workspaceFolder}/packages/emnapi/include", + "${workspaceFolder}/packages/emnapi/include/node", "${workspaceFolder}/node_modules/node-addon-api" ], "defines": ["NAPI_DISABLE_CPP_EXCEPTIONS", "NODE_ADDON_API_ENABLE_MAYBE"], diff --git a/packages/emnapi/CMakeLists.txt b/packages/emnapi/CMakeLists.txt index 5c09e4a2..a03cbecb 100644 --- a/packages/emnapi/CMakeLists.txt +++ b/packages/emnapi/CMakeLists.txt @@ -38,7 +38,7 @@ set(EMNAPI_THREADS_SRC ) set(EMNAPI_SRC ${ENAPI_BASIC_SRC} ${EMNAPI_THREADS_SRC}) -set(EMNAPI_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/include") +set(EMNAPI_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/include/node") set(EMNAPI_DEFINES "BUILDING_NODE_EXTENSION") set(EMNAPI_JS_LIB "${CMAKE_CURRENT_SOURCE_DIR}/dist/library_napi.js") @@ -214,18 +214,18 @@ install(FILES DESTINATION ".") install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/include/emnapi_common.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/emnapi.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/js_native_api_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/js_native_api.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/node_api_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/node_api.h - ${CMAKE_CURRENT_SOURCE_DIR}/include/uv.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/emnapi_common.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/emnapi.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/js_native_api_types.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/js_native_api.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/node_api_types.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/node_api.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/uv.h ${CMAKE_CURRENT_SOURCE_DIR}/include/node/config.gypi DESTINATION "include/node") install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/include/uv + ${CMAKE_CURRENT_SOURCE_DIR}/include/node/uv DESTINATION "include/node") install(FILES diff --git a/packages/emnapi/README.md b/packages/emnapi/README.md index 7e0a0ab0..071cbfde 100644 --- a/packages/emnapi/README.md +++ b/packages/emnapi/README.md @@ -167,7 +167,7 @@ module.exports = (function (exports) { emcc -O3 \ -DBUILDING_NODE_EXTENSION \ "-DNAPI_EXTERN=__attribute__((__import_module__(\"env\")))" \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -L./node_modules/emnapi/lib/wasm32-emscripten \ --js-library=./node_modules/emnapi/dist/library_napi.js \ -sEXPORTED_FUNCTIONS="['_malloc','_free','_napi_register_wasm_v1','_node_api_module_get_api_version_v1']" \ @@ -184,7 +184,7 @@ emcc -O3 \ ```bash clang -O3 \ -DBUILDING_NODE_EXTENSION \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -L./node_modules/emnapi/lib/wasm32-wasi \ --target=wasm32-wasi \ --sysroot=$WASI_SDK_PATH/share/wasi-sysroot \ @@ -212,7 +212,7 @@ Choose `libdlmalloc.a` or `libemmalloc.a` for `malloc` and `free`. ```bash clang -O3 \ -DBUILDING_NODE_EXTENSION \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -L./node_modules/emnapi/lib/wasm32 \ --target=wasm32 \ -nostdlib \ @@ -456,7 +456,7 @@ em++ -O3 \ "-DNAPI_EXTERN=__attribute__((__import_module__(\"env\")))" \ -DNAPI_DISABLE_CPP_EXCEPTIONS \ -DNODE_ADDON_API_ENABLE_MAYBE \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -I./node_modules/node-addon-api \ -L./node_modules/emnapi/lib/wasm32-emscripten \ --js-library=./node_modules/emnapi/dist/library_napi.js \ @@ -476,7 +476,7 @@ clang++ -O3 \ -DBUILDING_NODE_EXTENSION \ -DNAPI_DISABLE_CPP_EXCEPTIONS \ -DNODE_ADDON_API_ENABLE_MAYBE \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -I./node_modules/node-addon-api \ -L./node_modules/emnapi/lib/wasm32-wasi \ --target=wasm32-wasi \ @@ -508,7 +508,7 @@ You can still use `wasm32-unknown-unknown` target if you use Node-API C API only ```bash clang++ -O3 \ -DBUILDING_NODE_EXTENSION \ - -I./node_modules/emnapi/include \ + -I./node_modules/emnapi/include/node \ -L./node_modules/emnapi/lib/wasm32 \ --target=wasm32 \ -fno-exceptions \ diff --git a/packages/emnapi/common.gypi b/packages/emnapi/common.gypi index 55b56553..4b893ee4 100644 --- a/packages/emnapi/common.gypi +++ b/packages/emnapi/common.gypi @@ -64,10 +64,6 @@ } }, - 'include_dirs+': [ - 'include', - ], - 'conditions': [ ['OS == "emscripten"', { 'defines': [ diff --git a/packages/emnapi/emnapi.gyp b/packages/emnapi/emnapi.gyp index f40fb58b..00a3dfa1 100644 --- a/packages/emnapi/emnapi.gyp +++ b/packages/emnapi/emnapi.gyp @@ -53,9 +53,6 @@ 'src/async_cleanup_hook.c', 'src/async_context.c', ], - 'direct_dependent_settings': { - 'include_dirs+': [ 'include' ], - }, 'link_settings': { 'target_conditions': [ ['_type == "executable" and OS == "emscripten"', { @@ -93,9 +90,6 @@ 'src/async_work.c', 'src/threadsafe_function.c', ], - 'direct_dependent_settings': { - 'include_dirs+': [ 'include' ], - }, 'link_settings': { 'target_conditions': [ ['_type == "executable" and OS == "emscripten"', { diff --git a/packages/emnapi/include/emnapi.h b/packages/emnapi/include/node/emnapi.h similarity index 100% rename from packages/emnapi/include/emnapi.h rename to packages/emnapi/include/node/emnapi.h diff --git a/packages/emnapi/include/emnapi_common.h b/packages/emnapi/include/node/emnapi_common.h similarity index 100% rename from packages/emnapi/include/emnapi_common.h rename to packages/emnapi/include/node/emnapi_common.h diff --git a/packages/emnapi/include/js_native_api.h b/packages/emnapi/include/node/js_native_api.h similarity index 100% rename from packages/emnapi/include/js_native_api.h rename to packages/emnapi/include/node/js_native_api.h diff --git a/packages/emnapi/include/js_native_api_types.h b/packages/emnapi/include/node/js_native_api_types.h similarity index 100% rename from packages/emnapi/include/js_native_api_types.h rename to packages/emnapi/include/node/js_native_api_types.h diff --git a/packages/emnapi/include/node_api.h b/packages/emnapi/include/node/node_api.h similarity index 100% rename from packages/emnapi/include/node_api.h rename to packages/emnapi/include/node/node_api.h diff --git a/packages/emnapi/include/node_api_types.h b/packages/emnapi/include/node/node_api_types.h similarity index 100% rename from packages/emnapi/include/node_api_types.h rename to packages/emnapi/include/node/node_api_types.h diff --git a/packages/emnapi/include/uv.h b/packages/emnapi/include/node/uv.h similarity index 100% rename from packages/emnapi/include/uv.h rename to packages/emnapi/include/node/uv.h diff --git a/packages/emnapi/include/uv/threadpool.h b/packages/emnapi/include/node/uv/threadpool.h similarity index 100% rename from packages/emnapi/include/uv/threadpool.h rename to packages/emnapi/include/node/uv/threadpool.h diff --git a/packages/emnapi/include/uv/unix.h b/packages/emnapi/include/node/uv/unix.h similarity index 100% rename from packages/emnapi/include/uv/unix.h rename to packages/emnapi/include/node/uv/unix.h diff --git a/packages/emnapi/index.js b/packages/emnapi/index.js index 2eb2bdb0..3a9a0867 100644 --- a/packages/emnapi/index.js +++ b/packages/emnapi/index.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, '__esModule', { value: true }) const path = require('path') -const include = path.join(__dirname, 'include') +const include = path.join(__dirname, 'include/node') const includeDir = path.relative(process.cwd(), include) const jsLibrary = path.join(__dirname, './dist/library_napi.js').replace(/\\|\\\\/g, '/') const sources = [ diff --git a/packages/emnapi/script/version.js b/packages/emnapi/script/version.js index 8b6eda78..cf8dc647 100644 --- a/packages/emnapi/script/version.js +++ b/packages/emnapi/script/version.js @@ -3,7 +3,7 @@ const path = require('path') async function main () { const [major, minor, patch] = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json'), 'utf8')).version.split('.').map(Number) - const headerPath = path.join(__dirname, '../include/emnapi.h') + const headerPath = path.join(__dirname, '../include/node/emnapi.h') const emnapiHeader = fs.readFileSync(headerPath, 'utf8') fs.writeFileSync( headerPath, diff --git a/packages/test/CMakeLists.txt b/packages/test/CMakeLists.txt index 4b4c429b..5d033b8b 100644 --- a/packages/test/CMakeLists.txt +++ b/packages/test/CMakeLists.txt @@ -58,7 +58,7 @@ endif() math(EXPR PTHREAD_POOL_SIZE "${UV_THREADPOOL_SIZE} * 4") if(IS_WASM) - include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../emnapi/include") + include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../emnapi/include/node") else() include_directories(${CMAKE_JS_INC}) include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../node_modules/node-addon-api")