adaption to Windows#151
Conversation
|
It'd be really nice to get tests working on Windows. For that, it seems like we need to get the interface to Clang_jll to work. @Thomas008, what are the "problems to start the clang" that you mention? |
|
What is the file |
|
When starting the clang of the artifact I get a Windows error: The file |
|
Is the ? |
| Hello, world! | ||
| ``` | ||
| """ | ||
| function compile_executable(f::Function, types=(), path::String="./", name=fix_name(f); |
There was a problem hiding this comment.
I changed this to pwd() which should be system-agnostic, whereas "./" was unix-only
|
|
||
| # Clean up | ||
| run(`rm $wrapper_path`) | ||
| rm(wrapper_path) |
There was a problem hiding this comment.
This (Julia's built-in rm) should be system-agnostic and avoid having to special-case Windows
Apple also doesn't seem to play nicely with clang_jl?
| demangle = true, | ||
| cflags = ``, | ||
| target::StaticTarget=StaticTarget(), | ||
| llvm_to_clang = Sys.iswindows(), |
There was a problem hiding this comment.
I've added a kwarg to enable this alternative compilation pipeline. This will then be on by default on windows, and also allows us to test the alternate pipeline more generally in our non-windows CI (or if anyone else ever wants it, for any reason)
|
Ok, I think this is mergeable in principle now. We don't have Windows CI yet, but we do have tests on the alternative just-give-llvm-to-clang compilation pipeline in general since that's been split out as a kwarg that is true by default on Windows |
|
Should close #137 |
clang is being used to generate directly the executable binary from the LLVM IR that is produced by GPUCompiler (instead of first generating an object file with help of GPUCompiler, and then using clang for linking).
Here clang is still assumed to be installed locally, since on Windows there are problems to start the clang in the artifact of Clang_jll.