| use std::process::Command; |
| |
| fn main() { |
| // Print the rustc version. |
| Command::new(env!("CARGO")) |
| .args(&["rustc", "--quiet", "--", "--version"]) |
| .status() |
| .unwrap(); |
| println!(); |
| |
| // Print the Cargo version. |
| Command::new(env!("CARGO")) |
| .args(&["--version"]) |
| .status() |
| .unwrap(); |
| println!(); |
| |
| // Print the C compiler version. This relies on C compiler detection done |
| // in build.rs, which sets the COMPILER_PATH variable. |
| let compiler_path = env!("COMPILER_PATH"); |
| let mut compiler_command = Command::new(compiler_path); |
| // Use the --version flag on everything other than MSVC. |
| if !cfg!(target_env = "msvc") { |
| compiler_command.arg("--version"); |
| } |
| let _ = compiler_command.status().unwrap(); |
| } |