Skip to content

Commit 700c9c5

Browse files
committed
Don't look up MinGW artifact if "JULIA_CC" is set
see JuliaLang/JuliaC.jl#67
1 parent 28bc3fd commit 700c9c5

1 file changed

Lines changed: 27 additions & 26 deletions

File tree

src/PackageCompiler.jl

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -211,41 +211,42 @@ const WARNED_CPP_COMPILER = Ref{Bool}(false)
211211
function get_compiler_cmd(; cplusplus::Bool=false)
212212
cc = get(ENV, "JULIA_CC", nothing)
213213
path = nothing
214-
@static if Sys.iswindows()
215-
path = joinpath(LazyArtifacts.artifact"mingw-w64", "extracted_files", (Int==Int64 ? "mingw64" : "mingw32"), "bin", cplusplus ? "g++.exe" : "gcc.exe")
216-
compiler_cmd = `$path`
217-
end
218214
if cc !== nothing
219215
compiler_cmd = Cmd(Base.shell_split(cc))
220216
path = nothing
221-
elseif !Sys.iswindows()
222-
compilers_cpp = ("g++", "clang++")
223-
compilers_c = ("gcc", "clang")
224-
found_compiler = false
225-
if cplusplus
226-
for compiler in compilers_cpp
227-
if Sys.which(compiler) !== nothing
228-
compiler_cmd = `$compiler`
229-
found_compiler = true
230-
break
217+
else
218+
@static if Sys.iswindows()
219+
path = joinpath(LazyArtifacts.artifact"mingw-w64", "extracted_files", (Int==Int64 ? "mingw64" : "mingw32"), "bin", cplusplus ? "g++.exe" : "gcc.exe")
220+
compiler_cmd = `$path`
221+
else
222+
compilers_cpp = ("g++", "clang++")
223+
compilers_c = ("gcc", "clang")
224+
found_compiler = false
225+
if cplusplus
226+
for compiler in compilers_cpp
227+
if Sys.which(compiler) !== nothing
228+
compiler_cmd = `$compiler`
229+
found_compiler = true
230+
break
231+
end
231232
end
232233
end
233-
end
234-
if !found_compiler
235-
for compiler in compilers_c
236-
if Sys.which(compiler) !== nothing
237-
compiler_cmd = `$compiler`
238-
found_compiler = true
239-
if cplusplus && !WARNED_CPP_COMPILER[]
240-
@warn "could not find a c++ compiler (g++ or clang++), falling back to $compiler, this might cause link errors"
241-
WARNED_CPP_COMPILER[] = true
234+
if !found_compiler
235+
for compiler in compilers_c
236+
if Sys.which(compiler) !== nothing
237+
compiler_cmd = `$compiler`
238+
found_compiler = true
239+
if cplusplus && !WARNED_CPP_COMPILER[]
240+
@warn "could not find a c++ compiler (g++ or clang++), falling back to $compiler, this might cause link errors"
241+
WARNED_CPP_COMPILER[] = true
242+
end
243+
break
242244
end
243-
break
244245
end
245246
end
247+
found_compiler || error("could not find a compiler, looked for ",
248+
join(((cplusplus ? compilers_cpp : ())..., compilers_c...), ", ", " and "))
246249
end
247-
found_compiler || error("could not find a compiler, looked for ",
248-
join(((cplusplus ? compilers_cpp : ())..., compilers_c...), ", ", " and "))
249250
end
250251
if path !== nothing
251252
compiler_cmd = addenv(compiler_cmd, "PATH" => string(ENV["PATH"], ";", dirname(path)))

0 commit comments

Comments
 (0)