summaryrefslogtreecommitdiffstats
path: root/third_party/rust/cranelift-codegen/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/cranelift-codegen/Cargo.toml')
-rw-r--r--third_party/rust/cranelift-codegen/Cargo.toml94
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" }