Fixes bootstrapping with custom cargo/rustc.

config.mk is now always read when parsing the configuration to prevent
this from reoccurring in the future, hopefully.
This commit is contained in:
Mark Simulacrum 2017-06-20 18:04:36 -06:00
parent 29bce6e220
commit 4caa0b020f
2 changed files with 9 additions and 9 deletions

View file

@ -26,12 +26,6 @@
fn main() {
let args = env::args().skip(1).collect::<Vec<_>>();
let flags = Flags::parse(&args);
let mut config = Config::parse(&flags.build, flags.config.clone());
// compat with `./configure` while we're still using that
if std::fs::metadata("config.mk").is_ok() {
config.update_with_config_mk();
}
let config = Config::parse(&flags.build, flags.config.clone());
Build::new(flags, config).build();
}

View file

@ -15,7 +15,7 @@
use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::fs::{self, File};
use std::io::prelude::*;
use std::path::PathBuf;
use std::process;
@ -410,6 +410,12 @@ pub fn parse(build: &str, file: Option<PathBuf>) -> Config {
set(&mut config.rust_dist_src, t.src_tarball);
}
// compat with `./configure` while we're still using that
if fs::metadata("config.mk").is_ok() {
config.update_with_config_mk();
}
return config
}
@ -418,7 +424,7 @@ pub fn parse(build: &str, file: Option<PathBuf>) -> Config {
/// While we still have `./configure` this implements the ability to decode
/// that configuration into this. This isn't exactly a full-blown makefile
/// parser, but hey it gets the job done!
pub fn update_with_config_mk(&mut self) {
fn update_with_config_mk(&mut self) {
let mut config = String::new();
File::open("config.mk").unwrap().read_to_string(&mut config).unwrap();
for line in config.lines() {