-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a feature to link custom duckdb extension #1397
base: main
Are you sure you want to change the base?
Conversation
Thanks a lot for your work! I will later give some comments, but looks strong. |
Thanks again for raising this. Thinking more about this, this is closely linked with some features that I had in the back on my mind for a bit:
I am currently reworking some infrastructure to allow duckdb-wasm to build loadable extensions. |
That sounds great, thanks! |
2a23a2a
to
78754c7
Compare
First of all, thanks for the great project!
This PR tries to add a feature to link custom duckdb extension to duckdb-wasm, which isn't possible without modifying duckdb-wasm codebase for now.
Since I'm quite new to duckdb, duckdb-wasm development (and even CMake/Typescript projects!), I'm still not sure what's the best approach to implement this feature.
Please feel free to give me your opinions about overall strategy.
Summary of the changes
lib/CMakeLists.txt
to include sub CMake projects which is configured byCUSTOM_EXTENSION_DIRS
Makefile variable.register_custom_extension
macro to tell duckdb-wasm CMake-build to add${ext_name}_init
function call and link the librarywasm32-unknown-emscripten
target in Rust build so that ABI matches to duckdb-wasm's build (it's built by emscripten)DUCKDB_SKIP_BUILD_EH
andDUCKDB_SKIP_BUILD_COI
.Example
TODOs