зеркало из https://github.com/github/ruby.git
54 строки
1.8 KiB
TOML
54 строки
1.8 KiB
TOML
# NOTE: please avoid adding dependencies to external crates as these can
|
|
# make building and packaging YJIT more challenging.
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[package]
|
|
name = "yjit"
|
|
version = "0.1.0" # YJIT version
|
|
edition = "2021" # Rust 2021 edition to compile with
|
|
rust-version = "1.58.0" # Minimally supported rust version
|
|
publish = false # Don't publish to crates.io
|
|
|
|
[lib]
|
|
crate-type = ["staticlib"]
|
|
|
|
[dependencies]
|
|
# No required dependencies to simplify build process. TODO: Link to yet to be
|
|
# written rationale. Optional For development and testing purposes
|
|
capstone = { version = "0.12.0", optional = true }
|
|
|
|
# NOTE: Development builds select a set of these via configure.ac
|
|
# For debugging, `make V=1` shows exact cargo invocation.
|
|
[features]
|
|
# Support --yjit-dump-disasm and RubyVM::YJIT.disasm using libcapstone.
|
|
disasm = ["capstone"]
|
|
# Modify generated code for runtime checks, e.g. poison value in PC
|
|
# for C method calls, and stack canary. This is managed separately
|
|
# from cfg!(debug_assertions) so that we can see disasm of the code
|
|
# that would run in the release mode.
|
|
runtime_checks = []
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
debug-assertions = true
|
|
overflow-checks = true
|
|
|
|
[profile.dev_nodebug]
|
|
inherits = "dev"
|
|
|
|
[profile.stats]
|
|
inherits = "release"
|
|
|
|
[profile.release]
|
|
# NOTE: --enable-yjit builds use `rustc` without going through Cargo. You
|
|
# might want to update the `rustc` invocation if you change this profile.
|
|
opt-level = 3
|
|
# The extra robustness that comes from checking for arithmetic overflow is
|
|
# worth the performance cost for the compiler.
|
|
overflow-checks = true
|
|
# Generate debug info
|
|
debug = true
|
|
# Use ThinLTO. Much smaller output for a small amount of build time increase.
|
|
lto = "thin"
|