-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Clean up julia.h #36903
Comments
I was just about to open my own issue when I saw this, so I am going to tack this on here. First off: yes, please, to all suggested here. Regarding Also, I'd appreciate if there was explicit documentation regarding whatever ABI stability guarantees Julia is willing to make (or not!) for the Julia C kernel ABI. As in:
|
As indicated by @fingolfin this would be very useful for CxxWrap and all packages that depend on it. To support embedding from MSVC, issue #34201 also needs attention. |
FWIW, #36588 has now made everything effectively private, except a few very specific things (which is pretty much just |
We realized in discussions of #36588 that it hasn't yet changed anything. So we need to re-export things before making those changes, but it is not yet impactful for embedding in v1.6. |
Looking through
julia.h
, I think we should go through an decide exactly what is part of our public ABI and what isn't.At the moment, our ABI for embedding is essentially completely unstable and just using julia.h will bake in various struct offsets into the code making use of it. I think we could probably cut the header down quite a bit and end up in a state where we're mostly ABI compatible across versions, which could help embedders that want to link against different julia versions, particularly as julia becomes more stable.
In particular, I think it would be worth:
Tentatively adding to the 1.6 milestone, since I think it would be nice to start the LTS with a cleaner public ABI.
The text was updated successfully, but these errors were encountered: