mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
899c90cf8a
We want to make it convenient for people to build YJIT and Rust version 1.58.1 or above is available on Ubuntu Jammy, Debian testing, and Fedora 36 through the usual package manager on those systems. This saves the need to install `rustup` for some people. Our code is already 1.58.1 compatible so this commit simply tweaks CI to make sure that we keep supporting that version. We still test against the latest Rust version in `--enable-yjit=dev` builds through the Rust version available in GitHub's CI image. Rust versions older than 1.58.1 might build YJIT today, but we might make incompatible changes in the future. Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
39 lines
1.3 KiB
TOML
39 lines
1.3 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.1" # 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.10.0", optional = true }
|
|
|
|
[features]
|
|
# NOTE: Development builds select a set of these via configure.ac
|
|
# For debugging, `make V=1` shows exact cargo invocation.
|
|
disasm = ["capstone"]
|
|
stats = []
|
|
asm_comments = []
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
debug-assertions = true
|
|
overflow-checks = true
|
|
|
|
[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
|