third_party_rust_memoffset/build.rs
Boqun Feng 576166bb63
Use stablilized addr_of! macro (#50)
Since Rust 1.51.0, support for macro addr_of! has been stabilized[1],
and this provides a way to get a raw pointer without potential UB in
some cases.

Memoffset alreadly uses the feature at the pre-stablilized stage (the
macro was named as raw_const! then). Therefore, switch to use the
stablilized version (and name) if Rust 1.51.0 and above is used,
otherwise use the original fallback version, which works in a less
technically correct way.

[1]: https://github.com/rust-lang/rust/pull/72279

Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
2021-03-08 19:56:59 +01:00

23 lines
590 B
Rust

extern crate autocfg;
fn main() {
let ac = autocfg::new();
// Check for a minimum version for a few features
if ac.probe_rustc_version(1, 20) {
println!("cargo:rustc-cfg=tuple_ty");
}
if ac.probe_rustc_version(1, 31) {
println!("cargo:rustc-cfg=allow_clippy");
}
if ac.probe_rustc_version(1, 36) {
println!("cargo:rustc-cfg=maybe_uninit");
}
if ac.probe_rustc_version(1, 40) {
println!("cargo:rustc-cfg=doctests");
}
if ac.probe_rustc_version(1, 51) {
println!("cargo:rustc-cfg=raw_ref_macros");
}
}