cranelift-codegen 0.42.0

Low-level code generator library
Documentation
[package]
authors = ["The Cranelift Project Developers"]
name = "cranelift-codegen"
version = "0.42.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.42.0", default-features = false }
cranelift-bforest = { path = "../cranelift-bforest", version = "0.42.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 = "0.8.0"
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.42.0", default-features = false }

[features]
default = ["std"]

# 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",
    "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.
# If no ISA targets are explicitly enabled, the ISA target for the host machine is enabled.
x86 = []
arm32 = []
arm64 = []
riscv = []

# Option to enable all architectures.
all-arch = [
    "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" }