diff options
| author | Zack Corr <zack@z0w0.me> | 2013-01-23 13:29:47 +1000 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2013-02-15 18:04:10 -0800 |
| commit | c82183de19ad3c77c16bbf34bebf1f73b297e526 (patch) | |
| tree | 1e0132a2c1772bd270e6c995a9b3cc90f71e8ccd | |
| parent | e34e072d1777ad2064ed9b70ccdbe29b4f100f9b (diff) | |
| download | rust-c82183de19ad3c77c16bbf34bebf1f73b297e526.tar.gz rust-c82183de19ad3c77c16bbf34bebf1f73b297e526.zip | |
rustpkg: More fixes
| -rw-r--r-- | src/librustpkg/util.rs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/librustpkg/util.rs b/src/librustpkg/util.rs index 317a9331675..c69e6921e06 100644 --- a/src/librustpkg/util.rs +++ b/src/librustpkg/util.rs @@ -16,7 +16,8 @@ use syntax::ast_util::*; use syntax::{ast, attr, codemap, diagnostic, fold, parse, visit}; use codemap::span; use semver::Version; -use std::{json, term, sort}; +use std::{json, term, sort, getopts}; +use getopts::groups::getopts; use api::Listener; pub struct Package { @@ -866,14 +867,15 @@ pub fn compile_input(sysroot: Option<Path>, input: driver::input, dir: &Path, let bin_dir = dir.push(~"bin"); let test_dir = dir.push(~"test"); let binary = os::args()[0]; - let options: @session::options = @{ - binary: binary, - crate_type: session::unknown_crate, - optimize: if opt { session::Aggressive } else { session::No }, - test: test, - maybe_sysroot: sysroot, - .. *session::basic_options() - }; + let matches = getopts(flags, driver::optgroups()).get(); + let mut options = driver::build_session_options(binary, matches, + diagnostic::emit); + + options.crate_type = session::unknown_crate; + options.optimize = if opt { session::Aggressive } else { session::No }; + options.test = test; + options.maybe_sysroot = sysroot; + let sess = driver::build_session(options, diagnostic::emit); let cfg = driver::build_configuration(sess, binary, input); let mut outputs = driver::build_output_filenames(input, &None, &None, |
