Bob Haarman | ac82f6c | 2020-09-08 18:59:40 +0000 | [diff] [blame] | 1 | Take the name of the linker from the CC environment variable, if set. |
| 2 | This uses unwrap_or(...) rather than unwrap_or_else(|| ...) because |
| 3 | the latter fails to compile with mrustc-0.9. |
| 4 | |
| 5 | diff --git a/rustc-1.29.0-src/src/librustc_codegen_llvm/back/link.rs b/rustc-1.29.0-src/src/librustc_codegen_llvm/back/link.rs |
| 6 | index 845a66c..cd5b0bd 100644 |
| 7 | --- a/rustc-1.29.0-src/src/librustc_codegen_llvm/back/link.rs |
| 8 | +++ b/rustc-1.29.0-src/src/librustc_codegen_llvm/back/link.rs |
| 9 | @@ -84,6 +84,7 @@ pub fn get_linker(sess: &Session) -> (PathBuf, Command) { |
| 10 | |
| 11 | let msvc_tool = windows_registry::find_tool(&sess.opts.target_triple.triple(), "link.exe"); |
| 12 | |
| 13 | + let cc = env::var("CC").unwrap_or("cc".into()); |
| 14 | let linker_path = sess.opts.cg.linker.as_ref().map(|s| &**s) |
| 15 | .or(sess.target.target.options.linker.as_ref().map(|s| s.as_ref())) |
| 16 | .unwrap_or(match sess.linker_flavor() { |
| 17 | @@ -92,7 +93,7 @@ pub fn get_linker(sess: &Session) -> (PathBuf, Command) { |
| 18 | } |
| 19 | LinkerFlavor::Em if cfg!(windows) => "emcc.bat".as_ref(), |
| 20 | LinkerFlavor::Em => "emcc".as_ref(), |
| 21 | - LinkerFlavor::Gcc => "cc".as_ref(), |
| 22 | + LinkerFlavor::Gcc => cc.as_ref(), |
| 23 | LinkerFlavor::Ld => "ld".as_ref(), |
| 24 | LinkerFlavor::Lld(_) => "lld".as_ref(), |
| 25 | }); |