From a5f4da9c0eac3611cad6912a1227bb6c30085318 Mon Sep 17 00:00:00 2001 From: Rob Tsuk Date: Mon, 12 Mar 2018 15:34:56 -0700 Subject: [PATCH] Optionally write dependencies targets relative If dep-info-basedir is present in the config, write out dependency targets as relative to that directory. --- src/cargo/ops/cargo_rustc/output_depinfo.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/cargo/ops/cargo_rustc/output_depinfo.rs b/src/cargo/ops/cargo_rustc/output_depinfo.rs index f51440a9e..febb25e49 100644 --- a/src/cargo/ops/cargo_rustc/output_depinfo.rs +++ b/src/cargo/ops/cargo_rustc/output_depinfo.rs @@ -70,7 +70,15 @@ pub fn output_depinfo<'a, 'b>(context: &mut Context<'a, 'b>, unit: &Unit<'a>) -> let mut deps = HashSet::new(); let mut visited = HashSet::new(); let success = add_deps_for_unit(&mut deps, context, unit, &mut visited).is_ok(); - let basedir = None; // TODO + let basedir_config = context.config.get_string("dep-info-basedir"); + let basedir_config_ok = basedir_config.is_ok(); + let basedir_val = basedir_config.unwrap_or(None).map(|s| s.val); + let basedir_string = basedir_val.unwrap_or("".to_string()); + let basedir = if basedir_config_ok { + Some(basedir_string.as_str()) + } else { + None + }; for &(_, ref link_dst, _) in context.target_filenames(unit)?.iter() { if let Some(ref link_dst) = *link_dst { let output_path = link_dst.with_extension("d"); -- 2.30.2