1 //! Cranelift umbrella crate, providing a convenient one-line dependency. 2 3 #![deny(missing_docs)] 4 #![no_std] 5 6 /// Provide these crates, renamed to reduce stutter. 7 pub use cranelift_codegen as codegen; 8 #[cfg(feature = "frontend")] 9 pub use cranelift_frontend as frontend; 10 #[cfg(feature = "interpreter")] 11 pub use cranelift_interpreter as interpreter; 12 #[cfg(feature = "jit")] 13 pub use cranelift_jit as jit; 14 #[cfg(feature = "module")] 15 pub use cranelift_module as module; 16 #[cfg(feature = "native")] 17 pub use cranelift_native as native; 18 #[cfg(feature = "object")] 19 pub use cranelift_object as object; 20 21 /// A prelude providing convenient access to commonly-used cranelift features. Use 22 /// as `use cranelift::prelude::*`. 23 pub mod prelude { 24 pub use crate::codegen; 25 pub use crate::codegen::entity::EntityRef; 26 pub use crate::codegen::ir::condcodes::{FloatCC, IntCC}; 27 pub use crate::codegen::ir::immediates::{Ieee32, Ieee64, Imm64, Uimm64}; 28 pub use crate::codegen::ir::types; 29 pub use crate::codegen::ir::{ 30 AbiParam, Block, ExtFuncData, ExternalName, GlobalValueData, InstBuilder, JumpTableData, 31 MemFlags, Signature, StackSlotData, StackSlotKind, TrapCode, Type, Value, 32 }; 33 pub use crate::codegen::isa; 34 pub use crate::codegen::settings::{self, Configurable}; 35 36 #[cfg(feature = "frontend")] 37 pub use crate::frontend::{FunctionBuilder, FunctionBuilderContext, Variable}; 38 } 39 40 /// Version number of this crate. 41 pub const VERSION: &str = env!("CARGO_PKG_VERSION"); 42