diff --git a/bitcoin/build.rs b/bitcoin/build.rs index 7d45d2ff5..2b741ca0d 100644 --- a/bitcoin/build.rs +++ b/bitcoin/build.rs @@ -1,5 +1,3 @@ -const MSRV_MINOR: u64 = 63; - fn main() { let rustc = std::env::var_os("RUSTC"); let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref()); @@ -26,8 +24,14 @@ fn main() { .parse::() .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::().unwrap(); + // 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); } } diff --git a/internals/build.rs b/internals/build.rs index 7d45d2ff5..2b741ca0d 100644 --- a/internals/build.rs +++ b/internals/build.rs @@ -1,5 +1,3 @@ -const MSRV_MINOR: u64 = 63; - fn main() { let rustc = std::env::var_os("RUSTC"); let rustc = rustc.as_ref().map(std::path::Path::new).unwrap_or_else(|| "rustc".as_ref()); @@ -26,8 +24,14 @@ fn main() { .parse::() .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::().unwrap(); + // 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); } }