-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adaption to Windows #151
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
? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably remove the test files that are unused by the testsystem -- if they're not integrated then perhaps best just to keep them as separate test scripts outside the repo
@@ -98,13 +98,13 @@ shell> ./hello | |||
Hello, world! | |||
``` | |||
""" | |||
function compile_executable(f::Function, types=(), path::String="./", name=fix_name(f); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
filename = name, | ||
demangle = true, | ||
cflags = ``, | ||
target::StaticTarget=StaticTarget(), | ||
llvm_to_clang = Sys.iswindows(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.