-
Notifications
You must be signed in to change notification settings - Fork 14
Split headers into logical units #354
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
base: main
Are you sure you want to change the base?
Conversation
|
Looks like the handwritten glue files are missing? |
|
Classic... |
|
I gave this a try on I included the split glue files by symlinking For SHA3 and ML-KEM there were some bits of glue missing from the upstream glue. For ML-DSA there were also missing bits, and I had to patch one of the upstream glue files as well. I put the necessary custom modifications into the More detail on what I had to change:
|
Excellent, thanks for the extensive testing!
Can you upstream this?
Sounds like it's worth upstreaming these as well
Sounds like the upstream name needs to be fixed.
Are you perhaps compiling in C++ mode?
Also good to upstream. It sounds like all the stuff you had to fix is generally useful. I think it would make your life easier if these fixes were upstreamed, so would you mind submitting a PR (to be merged into this branch) to incorporate your modifications? Thanks! |
Yes, it must be something like that. Updating the macro definition in #if ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
(defined(__cplusplus) && __cplusplus > 199711L)) && \
(!defined(KRML_HOST_EPRINTF))
#define KRML_HOST_EPRINTF(...) fprintf(stderr, __VA_ARGS__)
#elif !(defined KRML_HOST_EPRINTF) && defined(_MSC_VER)
#define KRML_HOST_EPRINTF(...) fprintf(stderr, __VA_ARGS__)
#endifIn this particular case (
Sure 👍 PR'd as #363. |
|
Would it make sense to also not include krml headers by default? For example |
|
Yes, I am open to moving the inclusion of |
Following multiple conversations, this PR attempts to split headers into logical units to make downstream integration easier. The expected workflow is:
--no-default-includeas a eurydice optioninclude_in_hfield: https://github.com/AeneasVerif/eurydice/blob/main/test/libcrux/c.yaml#L64Please provide feedback to make sure life can be easier for downstream consumers. Thank you.