-
Notifications
You must be signed in to change notification settings - Fork 793
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
feat(c-api) Remove the deprecated
API
#2370
Conversation
Until this patch, our C API comes in 2 flavors: `deprecated` and `wasm_c_api`. With the coming 2.x version of Wasmer, we would like to remove the `deprecated` API, and keep the `wasm_c_api` only. This patch removes the `deprecated` API from the `wasmer-c-api` crate. It also cleans up the `Makefile` and the documentation system. Previously, the documentation for the `deprecated` API was relying on Doxygen, which was one new dependency the user had to install. For the `wasm_c_api`, it relies on `rustdoc`, which is way better because all examples are run and tested as part of our test suite. This clean up also removes the need to deal with `system-libffi` both in the crate itself and in the `Makefile`, which was an edge case for macOS on aarch64, and a needle in the foot for some of our users. Finally, the `build.rs` is now simplified because we no longer need to exclude symbols from one header to another. It also means that we only provide the `wasmer_wasm.h` header file now; the `wasmer.h` and `wasmer.hh` headers are removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good so far. There are comments in the code on parts I think you are still working on (in lib/c-api/src/wasm_c_api/externals/table.rs
for example).
Also, I'd like to wait for the other Prs to be merged to do a second round of review.
I think it will be better to rename |
Actually, using the |
I think only one API should be encouraged to use at the same time, so using a prefix for wasmer_* doesn’t make that much sense (unless we split it into smaller chunks in the future). Also, Wasmer is always going to be focused on Wasm, so I see as redundantly recommending wasmer_wasm (we should keep the import working for compatibility thought). |
Let's address that in another PR then, so that it's easier to review. |
Oh, I think I read it wrong. So yeah, let’s keep Wasmer_wasm but just as an empty wrapper that just imports Wasmer.h for now! |
bors try |
…r into feat-c-api-remove-deprecated
bors r+ |
bors r+ |
bors r+ |
bors r+ |
2370: feat(c-api) Remove the `deprecated` API r=syrusakbary a=Hywan # Description Until this patch, our C API comes in 2 flavors: `deprecated` and `wasm_c_api`. With the coming 2.x version of Wasmer, we would like to remove the `deprecated` API, and keep the `wasm_c_api` only. This patch removes the `deprecated` API from the `wasmer-c-api` crate. It also cleans up the `Makefile` and the documentation system. Previously, the documentation for the `deprecated` API was relying on Doxygen, which was one new dependency the user had to install. For the `wasm_c_api`, it relies on `rustdoc`, which is way better because all examples are run and tested as part of our test suite. This clean up also removes the need to deal with `system-libffi` both in the crate itself and in the `Makefile`, which was an edge case for macOS on aarch64, and a needle in the foot for some of our users. Finally, the `build.rs` is now simplified because we no longer need to exclude symbols from one header to another. It also means that we only provide the `wasmer_wasm.h` header file now; the `wasmer.h` and `wasmer.hh` headers are removed. Co-authored-by: Ivan Enderlin <ivan@mnt.io> Co-authored-by: Syrus Akbary <me@syrusakbary.com>
Bors was failing because the PR changed a file inside |
Build failed: |
bors try |
tryAlready running a review |
bors try- |
bors r+ |
2370: feat(c-api) Remove the `deprecated` API r=syrusakbary a=Hywan # Description Until this patch, our C API comes in 2 flavors: `deprecated` and `wasm_c_api`. With the coming 2.x version of Wasmer, we would like to remove the `deprecated` API, and keep the `wasm_c_api` only. This patch removes the `deprecated` API from the `wasmer-c-api` crate. It also cleans up the `Makefile` and the documentation system. Previously, the documentation for the `deprecated` API was relying on Doxygen, which was one new dependency the user had to install. For the `wasm_c_api`, it relies on `rustdoc`, which is way better because all examples are run and tested as part of our test suite. This clean up also removes the need to deal with `system-libffi` both in the crate itself and in the `Makefile`, which was an edge case for macOS on aarch64, and a needle in the foot for some of our users. Finally, the `build.rs` is now simplified because we no longer need to exclude symbols from one header to another. It also means that we only provide the `wasmer_wasm.h` header file now; the `wasmer.h` and `wasmer.hh` headers are removed. Co-authored-by: Ivan Enderlin <ivan@mnt.io> Co-authored-by: Syrus Akbary <me@syrusakbary.com>
…r into feat-c-api-remove-deprecated
Canceled. |
bors r+ |
Description
Until this patch, our C API comes in 2 flavors:
deprecated
andwasm_c_api
. With the coming 2.x version of Wasmer, we would like toremove the
deprecated
API, and keep thewasm_c_api
only.This patch removes the
deprecated
API from thewasmer-c-api
crate. It also cleans up the
Makefile
and the documentationsystem. Previously, the documentation for the
deprecated
API wasrelying on Doxygen, which was one new dependency the user had to
install. For the
wasm_c_api
, it relies onrustdoc
, which is waybetter because all examples are run and tested as part of our test
suite.
This clean up also removes the need to deal with
system-libffi
bothin the crate itself and in the
Makefile
, which was an edge case formacOS on aarch64, and a needle in the foot for some of our users.
Finally, the
build.rs
is now simplified because we no longer need toexclude symbols from one header to another. It also means that we only
provide the
wasmer_wasm.h
header file now; thewasmer.h
andwasmer.hh
headers are removed.