// Copyright 2015-2017 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . extern crate vergen; extern crate rustc_version; use std::env; use std::fs::File; use std::io::Write; use std::path::Path; use vergen::{vergen, OutputFns}; const ERROR_MSG: &'static str = "Failed to generate rustc_version file"; fn main() { vergen(OutputFns::all()).expect(ERROR_MSG); let out_dir = env::var("OUT_DIR").expect(ERROR_MSG); let dest_path = Path::new(&out_dir).join("rustc_version.rs"); let mut f = File::create(&dest_path).expect(ERROR_MSG); f.write_all(format!(" /// Returns compiler version. pub fn rustc_version() -> &'static str {{ \"{}\" }} ", rustc_version::version().expect(ERROR_MSG)).as_bytes()).expect(ERROR_MSG); }