wasmtime
wasmtime copied to clipboard
Cranelift: add all Cranelift crates to `cranelift` umbrella crate
Feature
Add all Cranelift crates (cranelift-codegen, cranelift-frontend, cranelift-module, cranelift-native, cranelift-jit, cranelift-object, etc.) to the cranelift umbrella crate, each one behind a feature preferably.
Benefit
The cranelift crate is an "umbrella for commonly-used Cranelift crates" and "provides a convenient one-line dependency," but it just contains frontend and codegen, which is limited to creating in-memory JIT compilers. That means that if I expect to create a static compiler or generate object files in some form, I need to replace this crate with its underlying ones, defeating its purpose.
It also helps keep all versions in sync and make all these crates a little more discoverable.
Alternatives
- Keep it the way it is: Cranelift has a focus on JIT compilation, so maybe these two crates are the only common ones, and the remaining ones are niche enough.