blob: a2b0833a656319377a1655476c1f67f193919d12 [file] [log] [blame]
Joel Galenson5448f372021-04-01 15:10:30 -07001use std::env;
2use std::process::Command;
3use std::str;
4
5fn main() {
6 let compiler = match rustc_minor_version() {
7 Some(compiler) => compiler,
8 None => return,
9 };
10
11 if compiler < 47 {
12 println!("cargo:rustc-cfg=self_span_hack");
13 }
14}
15
16fn rustc_minor_version() -> Option<u32> {
17 let rustc = env::var_os("RUSTC")?;
18 let output = Command::new(rustc).arg("--version").output().ok()?;
19 let version = str::from_utf8(&output.stdout).ok()?;
20 let mut pieces = version.split('.');
21 if pieces.next() != Some("rustc 1") {
22 return None;
23 }
24 pieces.next()?.parse().ok()
25}