diff options
Diffstat (limited to 'third_party/rust/cranelift-codegen/Cargo.toml')
-rw-r--r-- | third_party/rust/cranelift-codegen/Cargo.toml | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/third_party/rust/cranelift-codegen/Cargo.toml b/third_party/rust/cranelift-codegen/Cargo.toml new file mode 100644 index 0000000000..2c24c86362 --- /dev/null +++ b/third_party/rust/cranelift-codegen/Cargo.toml @@ -0,0 +1,94 @@ +[package] +authors = ["The Cranelift Project Developers"] +name = "cranelift-codegen" +version = "0.68.0" +description = "Low-level code generator library" +license = "Apache-2.0 WITH LLVM-exception" +documentation = "https://docs.rs/cranelift-codegen" +repository = "https://github.com/bytecodealliance/wasmtime" +categories = ["no-std"] +readme = "README.md" +keywords = ["compile", "compiler", "jit"] +build = "build.rs" +edition = "2018" + +[dependencies] +cranelift-codegen-shared = { path = "./shared", version = "0.68.0" } +cranelift-entity = { path = "../entity", version = "0.68.0" } +cranelift-bforest = { path = "../bforest", version = "0.68.0" } +hashbrown = { version = "0.9.1", optional = true } +target-lexicon = "0.11" +log = { version = "0.4.6", default-features = false } +serde = { version = "1.0.94", features = ["derive"], optional = true } +bincode = { version = "1.2.1", optional = true } +gimli = { version = "0.23.0", default-features = false, features = ["write"], optional = true } +smallvec = { version = "1.0.0" } +thiserror = "1.0.4" +byteorder = { version = "1.3.2", default-features = false } +peepmatic = { path = "../peepmatic", optional = true, version = "0.68.0" } +peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, version = "0.68.0" } +peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.68.0" } +regalloc = { git = "https://github.com/mozilla-spidermonkey/regalloc.rs", rev = "fc5d1d33317b0fbd36725757f80a95127eff5109" } +souper-ir = { version = "1", optional = true } +wast = { version = "27.0.0", 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.68.0" } + +[features] +default = ["std", "unwind"] + +# 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 = [] + +# The "core" features enables use of "hashbrown" since core doesn't have +# a HashMap implementation, and a workaround for Cargo #4866. +core = ["hashbrown"] + +# This enables some additional functions useful for writing tests, but which +# can significantly increase the size of the library. +testing_hooks = [] + +# This enables unwind info generation functionality. +unwind = ["gimli"] + +# ISA targets for which we should build. +# If no ISA targets are explicitly enabled, the ISA target for the host machine is enabled. +x86 = [] +arm64 = [] +riscv = [] +x64 = [] # New work-in-progress codegen backend for x86_64 based on the new isel. +arm32 = [] # Work-in-progress codegen backend for ARM. + +# Option to enable all architectures. +all-arch = [ + "x86", + "arm64", + "riscv" +] + +# For dependent crates that want to serialize some parts of cranelift +enable-serde = ["serde"] + +# Allow snapshotting regalloc test cases. Useful only to report bad register +# allocation failures, or for regalloc.rs developers. +regalloc-snapshot = ["bincode", "regalloc/enable-serde"] + +# Recompile our optimizations that are written in the `peepmatic` DSL into a +# compact finite-state transducer automaton. +rebuild-peephole-optimizers = ["peepmatic", "peepmatic-traits", "wast"] + +# Enable the use of `peepmatic`-generated peephole optimizers. +enable-peepmatic = ["peepmatic-runtime", "peepmatic-traits", "serde"] + +# Enable support for the Souper harvester. +souper-harvest = ["souper-ir", "souper-ir/stringify"] + +[badges] +maintenance = { status = "experimental" } |