[package] authors = ["The Cranelift Project Developers"] name = "cranelift-codegen" version = "0.37.0" description = "Low-level code generator library" license = "Apache-2.0 WITH LLVM-exception" documentation = "https://cranelift.readthedocs.io/" repository = "https://github.com/CraneStation/cranelift" categories = ["no-std"] readme = "README.md" keywords = ["compile", "compiler", "jit"] build = "build.rs" edition = "2018" [dependencies] cranelift-entity = { path = "../cranelift-entity", version = "0.37.0", default-features = false } cranelift-bforest = { path = "../cranelift-bforest", version = "0.37.0", default-features = false } failure = { version = "0.1.1", default-features = false, features = ["derive"] } failure_derive = { version = "0.1.1", default-features = false } hashmap_core = { version = "0.1.9", optional = true } target-lexicon = { version = "0.4.0", default-features = false } log = { version = "0.4.6", default-features = false } serde = { version = "1.0.94", features = ["derive"], optional = true } # It is a goal of the cranelift-codegen crate to have minimal external dependencies. # Please don't add any unless they are essential to the task of creating binary # machine code. Integration tests that need external dependencies can be # accomodated in `tests`. [build-dependencies] cranelift-codegen-meta = { path = "meta", version = "0.37.0", default-features = false } [features] default = ["std", "x86", "arm32", "arm64", "riscv"] # The "std" feature enables use of libstd. The "core" feature enables use # of some minimal std-like replacement libraries. At least one of these two # features need to be enabled. std = [ "cranelift-entity/std", "cranelift-bforest/std", "target-lexicon/std", "cranelift-codegen-meta/std" ] # The "core" features enables use of "hashmap_core" since core doesn't have # a HashMap implementation, and a workaround for Cargo #4866. core = [ "hashmap_core", "cranelift-codegen-meta/core" ] # This enables some additional functions useful for writing tests, but which # can significantly increase the size of the library. testing_hooks = [] # ISA targets for which we should build. x86 = [] arm32 = [] arm64 = [] riscv = [] # For dependent crates that want to serialize some parts of cranelift enable-serde = ["serde"] # Temporary feature that enforces basic block semantics. basic-blocks = [] [badges] maintenance = { status = "experimental" } travis-ci = { repository = "CraneStation/cranelift" }