-
Notifications
You must be signed in to change notification settings - Fork 9
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
Generate bindings using Clang.jl and reimplement C wrappers in Julia #18
Conversation
Codecov Report
@@ Coverage Diff @@
## master #18 +/- ##
===========================================
- Coverage 95.55% 32.02% -63.54%
===========================================
Files 3 5 +2
Lines 45 356 +311
===========================================
+ Hits 43 114 +71
- Misses 2 242 +240
Continue to review full report at Codecov.
|
How is the program flow regarding calling |
|
OK, finally got CI passed on macOS. The hard-coded |
Clang.jl can now work in a cross-platform mode. It can download BB's gcc-shards and setup a cross-compile environment(i.e. system headers) to generate bindings for different platforms. Tests passed on both Linux-x86_64 and macOS, but no luck on Windows. However, I guess the failure on Windows is not due to the wrong size of @stevengj you might be interested in this. |
Hi @Gnimuc! I am not convinced if this is the approach we want to adopt to make MiniQHull more portable. My favorite solution would be to wait until this is taken into account in QHULL : qhull/qhull#86 |
I would perhaps invest efforts in distributing the MiniQHullWrapper via BinaryBuilder.jl. In that way, |
Never mind. As I wrote in the OP, the main purpose of this PR is to test the new features of Clang.jl. The API of I'm closing this now, for anyone being interested in auto-generating bindings with Clang.jl, the latest generated code can be always checked at this link. |
Yes, the macros like |
What I'm currently experimenting with is that
In this way, we can use LLVM/Clang in the dev mode for interactively developing the package and publish the final lightweight release version of the package based on BB artifacts. |
This PR implements @eschnett's idea in #5 (comment).
I did this mainly for testing JuliaInterop/Clang.jl#278, and I do find bugs related to C's bitfields.