about summary refs log tree commit diff
diff options
context:
space:
mode:
authorZack Corr <zack@z0w0.me>2013-01-23 13:29:47 +1000
committerGraydon Hoare <graydon@mozilla.com>2013-02-15 18:04:10 -0800
commitc82183de19ad3c77c16bbf34bebf1f73b297e526 (patch)
tree1e0132a2c1772bd270e6c995a9b3cc90f71e8ccd
parente34e072d1777ad2064ed9b70ccdbe29b4f100f9b (diff)
downloadrust-c82183de19ad3c77c16bbf34bebf1f73b297e526.tar.gz
rust-c82183de19ad3c77c16bbf34bebf1f73b297e526.zip
rustpkg: More fixes
-rw-r--r--src/librustpkg/util.rs20
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,