wasmtime icon indicating copy to clipboard operation
wasmtime copied to clipboard

Cranelift: add all Cranelift crates to `cranelift` umbrella crate

Open Rodrigodd opened this issue 1 year ago • 0 comments

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.

Rodrigodd avatar Jan 11 '24 23:01 Rodrigodd