-
Notifications
You must be signed in to change notification settings - Fork 6
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
bindings generated with Clang.jl #49
Conversation
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
Codecov Report
@@ Coverage Diff @@
## main #49 +/- ##
===========================================
- Coverage 100.00% 4.75% -95.25%
===========================================
Files 1 2 +1
Lines 1 1494 +1493
===========================================
+ Hits 1 71 +70
- Misses 0 1423 +1423
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
* make explicit what we are using from P4est_jll * .gitignore LocalPreferences.toml, add UUID to Project.toml * add some more basic tests * add p4est_balance test * add more tests * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <[email protected]> * additional tests for global_num_quadrants * correct coarsen_fn * translate some function-like C macros * remove some function-like macros again Co-authored-by: Hendrik Ranocha <[email protected]>
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.
Wow, this is really a great step forward towards getting out of this binding generation hellhole we have been stuck in thus far 👍👍👍 (which, of course, is mostly my fault 🙈). I have left a few comments, but I think there's nothing that is a real blocker and most of them are mere suggestions.
Thanks a lot for the great work!
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
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.
LGTM! If all tests pass, this can be merged!
I think this can be merged 🎉. The horrible code coverage is expected 😬 |
Thanks a lot for your review, @sloede 🥳 |
This basically uses the setup from https://github.com/trixi-framework/p4est-bindings-clang-jl.
Whenever we recognize something new in the source code related to this process, we should leave notes prefixed by
# TODO: Clang
.Closes #31, closes #39
Closes #29, closes #33, closes #41
Open questions and TODOs
using
fromP4est_jll
P4est_jll
since weexport
itlibp4est
dev
accordinglyp4est
. Thus, we writep4est
for the pointer andp4est_obj = unsafe_load(p4est)
.Build binaries for OpenMPI_jll.jl in P4est_jll.jl?libp4est
library (P4est_jll, local builds)? How do we want to support possibly different (pre-generated) bindings, e.g., to support different versions ofp4est
?p4est
(load a customlibp4est.so
with user-specified path)p4est
header files indev
but set up artifacts to download the correct files instead - with the option to use a set of header files specified by the user when generating new bindingsdeps
(deps_disabled
) and keep only the files relevant for the new setupp4est
, and different bindings (later))p4est_package_id
? p4est-bindings-clang-jl#3p4est
Instead of using
const MPI_SUCCESS = C_NULL
at the beginning ofmodule LibP4est
, we should have the correct definitions using stuff from MPI.jldev/LibP4est.jl
sc_MPI_Comm
types?comm
and otherssc_MPI_Comm
is mapped toMPI.MPI_Comm
or a new package?Enhancements that can be made after this PR are collected in #54.