|
12 | 12 | if (shlib_ld != "") { |
13 | 13 | shlib_ld_good <- tryCatch({ |
14 | 14 | shlib_ld_results <- system(paste0(shlib_ld, " --version"), intern=TRUE) |
15 | | - shlib_ld_good <- any(grepl(linker_pattern, shlib_ld_results)) |
| 15 | + |
| 16 | + if (any(grepl(linker_pattern, shlib_ld_results))) { |
| 17 | + shlib_ld_prog <- system(paste0(shlib_ld, " --print-prog-name=ld"), intern=TRUE) |
| 18 | + shlib_ld_results <- system(paste0(shlib_ld_prog, " --version"), intern=TRUE) |
| 19 | + |
| 20 | + shlib_ld_good <- (grepl("^GNU (ld|gold)", shlib_ld_results[1])) |
| 21 | + } else { |
| 22 | + shlib_ld_good <- FALSE |
| 23 | + } |
| 24 | + |
16 | 25 | shlib_ld_good |
17 | 26 | }, warning = function(w) { |
18 | 27 | return(FALSE) |
|
25 | 34 |
|
26 | 35 | if (shlib_cxxld != "") { |
27 | 36 | shlib_cxxld_good <- tryCatch({ |
28 | | - shlib_cxxld_results <- system(paste0(shlib_ld, " --version"), intern=TRUE) |
29 | | - shlib_cxxld_good <- any(grepl(linker_pattern, shlib_ld_results)) |
| 37 | + shlib_cxxld_results <- system(paste0(shlib_cxxld, " --version"), intern=TRUE) |
| 38 | + |
| 39 | + if (any(grepl(linker_pattern, shlib_cxxld_results))) { |
| 40 | + shlib_cxxld_prog <- system(paste0(shlib_cxxld, " --print-prog-name=ld"), intern=TRUE) |
| 41 | + shlib_cxxld_results <- system(paste0(shlib_cxxld_prog, " --version"), intern=TRUE) |
| 42 | + |
| 43 | + shlib_cxxld_good <- (grepl("^GNU (ld|gold)", shlib_cxxld_results[1])) |
| 44 | + } else { |
| 45 | + shlib_cxxld_good <- FALSE |
| 46 | + } |
| 47 | + |
30 | 48 | shlib_cxxld_good |
31 | 49 | }, warning = function(w) { |
32 | 50 | return(FALSE) |
|
0 commit comments