Parse MSRV minor version number from env

This commit is contained in:
yancy 2024-08-11 09:56:44 -05:00
parent 6dcb6f33fb
commit b8067da934
2 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,3 @@
const MSRV_MINOR: u64 = 63;
fn main() { fn main() {
let rustc = std::env::var_os("RUSTC"); let rustc = std::env::var_os("RUSTC");
let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref()); let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref());
@ -26,8 +24,14 @@ fn main() {
.parse::<u64>() .parse::<u64>()
.expect("invalid Rust minor version"); .expect("invalid Rust minor version");
let msrv = std::env::var("CARGO_PKG_RUST_VERSION").unwrap();
let mut msrv = msrv.split(".");
let msrv_major = msrv.next().unwrap();
assert_eq!(msrv_major, "1", "unexpected Rust major version");
let msrv_minor = msrv.next().unwrap().parse::<u64>().unwrap();
// print cfg for all interesting versions less than or equal to minor // print cfg for all interesting versions less than or equal to minor
for version in MSRV_MINOR..=minor { for version in msrv_minor..=minor {
println!("cargo:rustc-cfg=rust_v_1_{}", version); println!("cargo:rustc-cfg=rust_v_1_{}", version);
} }
} }

View File

@ -1,5 +1,3 @@
const MSRV_MINOR: u64 = 63;
fn main() { fn main() {
let rustc = std::env::var_os("RUSTC"); let rustc = std::env::var_os("RUSTC");
let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref()); let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref());
@ -26,8 +24,14 @@ fn main() {
.parse::<u64>() .parse::<u64>()
.expect("invalid Rust minor version"); .expect("invalid Rust minor version");
let msrv = std::env::var("CARGO_PKG_RUST_VERSION").unwrap();
let mut msrv = msrv.split(".");
let msrv_major = msrv.next().unwrap();
assert_eq!(msrv_major, "1", "unexpected Rust major version");
let msrv_minor = msrv.next().unwrap().parse::<u64>().unwrap();
// print cfg for all interesting versions less than or equal to minor // print cfg for all interesting versions less than or equal to minor
for version in MSRV_MINOR..=minor { for version in msrv_minor..=minor {
println!("cargo:rustc-cfg=rust_v_1_{}", version); println!("cargo:rustc-cfg=rust_v_1_{}", version);
} }
} }