@@ -95,8 +95,7 @@ fn do_semver() {
9595 let target_env = env:: var ( "CARGO_CFG_TARGET_ENV" ) . unwrap ( ) ;
9696
9797 // `libc-test/semver` dir.
98- let mut semver_root = PathBuf :: from ( env:: var ( "CARGO_MANIFEST_DIR" ) . unwrap ( ) ) ;
99- semver_root. push ( "semver" ) ;
98+ let mut semver_root = PathBuf :: from ( "semver" ) ;
10099
101100 // NOTE: Windows has the same `family` as `os`, no point in including it
102101 // twice.
@@ -106,7 +105,10 @@ fn do_semver() {
106105 if family != os && os != "android" {
107106 process_semver_file ( & mut output, & mut semver_root, & family) ;
108107 }
109- process_semver_file ( & mut output, & mut semver_root, & vendor) ;
108+ // We don't do semver for unknown targets.
109+ if vendor != "unknown" {
110+ process_semver_file ( & mut output, & mut semver_root, & vendor) ;
111+ }
110112 process_semver_file ( & mut output, & mut semver_root, & os) ;
111113 let os_arch = format ! ( "{}-{}" , os, arch) ;
112114 process_semver_file ( & mut output, & mut semver_root, & os_arch) ;
@@ -154,6 +156,9 @@ fn process_semver_file<W: Write, P: AsRef<Path>>(output: &mut W, path: &mut Path
154156}
155157
156158fn main ( ) {
159+ // Avoid unnecessary re-building.
160+ println ! ( "cargo:rerun-if-changed=build.rs" ) ;
161+
157162 do_cc ( ) ;
158163 do_ctest ( ) ;
159164 do_semver ( ) ;
0 commit comments