Rollup merge of #58346 - RalfJung:rpath-pop, r=Mark-Simulacrum

rpath computation: explain why we pop()

I was quite confused by this code until I got a debug log of what is going on.
This commit is contained in:
Guillaume Gomez 2019-02-10 21:45:24 +01:00 committed by GitHub
commit 9ccfb74a8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -101,9 +101,9 @@ fn get_rpath_relative_to_output(config: &mut RPathConfig, lib: &Path) -> String
let cwd = env::current_dir().unwrap();
let mut lib = fs::canonicalize(&cwd.join(lib)).unwrap_or_else(|_| cwd.join(lib));
lib.pop();
lib.pop(); // strip filename
let mut output = cwd.join(&config.out_filename);
output.pop();
output.pop(); // strip filename
let output = fs::canonicalize(&output).unwrap_or(output);
let relative = path_relative_from(&lib, &output).unwrap_or_else(||
panic!("couldn't create relative path from {:?} to {:?}", output, lib));