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 makes some minor, non-breaking changes that enable building Rust libraries that depend on zydis-rs to WebAssembly. Its really cool how little was needed to make this happen!
To make use of this PR, zyantific/zycore-c#40 and zyantific/zydis#277 need to be merged. I didn't attempt any of these changes here, since I'm not familiar enough with your release process. However, I have a temporary branch that you can reference from Cargo.toml: nightly/wasm.
In summary, this PR does two things:
nolibc
andwasm
, andisize
rangeUnfortunately, building zydis-rs for WebAssembly is not as trivial as just invoking
wasm-pack
, but it can be done. Today, thebuild.rs
script invokes the system C/C++ compilers and linker on the zydis-c and zycore libraries, but these toolsHowever, I found that the trick from here to use the Zig compiler instead of gcc/clang to work perfectly. I've updated my demo project zydis-wasm to show this in action.