cmd.arg("--host").arg(compiler.host);
cmd.arg("--llvm-filecheck").arg(build.llvm_filecheck(&build.config.build));
+ let mut flags = format!("-Crpath");
+ if build.config.rust_optimize_tests {
+ flags.push_str(" -O");
+ }
+ if build.config.rust_debuginfo_tests {
+ flags.push_str(" -g");
+ }
+
+ cmd.arg("--host-rustcflags").arg(&flags);
+
let linkflag = format!("-Lnative={}", build.test_helpers_out(target).display());
- cmd.arg("--host-rustcflags").arg("-Crpath");
- cmd.arg("--target-rustcflags").arg(format!("-Crpath {}", linkflag));
+ cmd.arg("--target-rustcflags").arg(format!("{} {}", flags, linkflag));
// FIXME: needs android support
cmd.arg("--android-cross-path").arg("");
pub rust_rpath: bool,
pub rustc_default_linker: Option<String>,
pub rustc_default_ar: Option<String>,
+ pub rust_optimize_tests: bool,
+ pub rust_debuginfo_tests: bool,
pub build: String,
pub host: Vec<String>,
channel: Option<String>,
musl_root: Option<String>,
rpath: Option<bool>,
+ optimize_tests: Option<bool>,
+ debuginfo_tests: Option<bool>,
}
/// TOML representation of how each build target is configured.
config.llvm_optimize = true;
config.use_jemalloc = true;
config.rust_optimize = true;
+ config.rust_optimize_tests = true;
config.submodules = true;
config.docs = true;
config.rust_rpath = true;
set(&mut config.rust_debug_assertions, rust.debug_assertions);
set(&mut config.rust_debuginfo, rust.debuginfo);
set(&mut config.rust_optimize, rust.optimize);
+ set(&mut config.rust_optimize_tests, rust.optimize_tests);
+ set(&mut config.rust_debuginfo_tests, rust.debuginfo_tests);
set(&mut config.rust_rpath, rust.rpath);
set(&mut config.debug_jemalloc, rust.debug_jemalloc);
set(&mut config.use_jemalloc, rust.use_jemalloc);
("JEMALLOC", self.use_jemalloc),
("DEBUG_JEMALLOC", self.debug_jemalloc),
("RPATH", self.rust_rpath),
+ ("OPTIMIZE_TESTS", self.rust_optimize_tests),
+ ("DEBUGINFO_TESTS", self.rust_debuginfo_tests),
}
match key {