// Convert strings provided as --cfg [cfgspec] into a crate_cfg
-fn parse_cfgspecs(cfgspecs: Vec<String> ) -> ast::CrateConfig {
+pub fn parse_cfgspecs(cfgspecs: Vec<String> ) -> ast::CrateConfig {
cfgspecs.into_iter().map(|s| {
parse::parse_meta_from_source_str("cfgspec".to_string(),
s.to_string(),
use rustc::back::link;
use syntax::{ast, ast_map, codemap, diagnostic};
-use syntax::parse::token;
-use syntax::ptr::P;
use std::cell::RefCell;
use std::os;
lint_opts: vec!((warning_lint, lint::Allow)),
externs: externs,
target_triple: triple.unwrap_or(driver::host_triple().to_string()),
+ cfg: config::parse_cfgspecs(cfgs),
..config::basic_options().clone()
};
Some(cpath.clone()),
span_diagnostic_handler);
- let mut cfg = config::build_configuration(&sess);
- for cfg_ in cfgs.into_iter() {
- let cfg_ = token::intern_and_get_ident(cfg_.as_slice());
- cfg.push(P(codemap::dummy_spanned(ast::MetaWord(cfg_))));
- }
+ let cfg = config::build_configuration(&sess);
let krate = driver::phase_1_parse_input(&sess, cfg, &input);