@@ -211,41 +211,42 @@ const WARNED_CPP_COMPILER = Ref{Bool}(false)
211211function 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