Add "napi-embedding" feature to allow statically linked N-API symbols #691
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new feature
napi-embedding
. When enabled, it loads N-API symbols usingextern "C" { ... }
declarations instead oflibloading
.Why?
I am working on rust-nodejs which embeds Node.js in Rust. The general idea is to build and link Node.js as a static library, and use N-API to communicate between Rust and Node.js.
Neon fits perfectly for the latter part, expect that it tries to load N-API symbols dynamically (#646). This doesn't work in the case of rust-nodejs, because all N-API symbols are statically linked.