浏览代码

bump rustc-cfg version and show a better error message when it fails

Jorge Aparicio 8 年之前
父节点
当前提交
77bca82434
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 1 1
      Cargo.toml
  2. 6 2
      build.rs

+ 1 - 1
Cargo.toml

@@ -6,7 +6,7 @@ version = "0.1.0"
 
 [build-dependencies]
 gcc = "0.3.35"
-rustc-cfg = "0.1.2"
+rustc-cfg = "0.2.0"
 
 [dependencies]
 

+ 6 - 2
build.rs

@@ -2,8 +2,9 @@ extern crate gcc;
 extern crate rustc_cfg;
 
 use std::collections::BTreeMap;
-use std::env;
+use std::io::Write;
 use std::path::Path;
+use std::{env, io, process};
 
 use rustc_cfg::Cfg;
 
@@ -50,7 +51,10 @@ fn main() {
 
     let target = env::var("TARGET").unwrap();
     let Cfg { ref target_arch, ref target_os, ref target_env, ref target_vendor, .. } =
-        Cfg::new(&target).unwrap();
+        Cfg::new(&target).unwrap_or_else(|e| {
+            writeln!(io::stderr(), "{}", e).ok();
+            process::exit(1)
+        });
     // NOTE we are going to assume that llvm-target, what determines our codegen option, matches the
     // target triple. This is usually correct for our built-in targets but can break in presence of
     // custom targets, which can have arbitrary names.