-
Notifications
You must be signed in to change notification settings - Fork 447
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
Remove build.rs? #217
Comments
Could you use a different build system than That way the |
What are the issues with cross-compilation? The only one I've hit so far was that |
I'm not sure if it's the fault of the |
Oh, that makes sense and sounds annoying. (Out of curiosity, do you know if it was that cargo wasn't passing the same codegen options to both invocations of rustc?) In any case, I'd be okay with removing |
I think the issue was that cargo was passing the same to both, so that the |
Alternatively, could the precomputation produce output in a form other than Rust code you could check in, e.g. a JSON or TOML file? Then you could consume that in That would avoid having to check in the generated code any time you make changes to the generator while also reducing the complexity/responsibilities of |
Closed by #293. |
Right now
curve25519-dalek
loads itself into thebuild.rs
and bootstraps itself to generate precomputed tables.This has a few advantages:
It also has downsides:
If we remove the
build.rs
, we can select the backend on behalf of our users, so that every crate usingcurve25519-dalek
doesn't need to maintain their own feature selectors. Changing the precomputed parameters would be slightly more annoying, because in order to make the change you'd have to first make a test stub that prints the new constants, then copy those into the source file, but this doesn't seem like the biggest deal. Finally, although there aren't giant tables of constants for the serial backends, there are for the vector backend, so the advantages aren't evenly applied already.Thoughts ? cc @isislovecruft
The text was updated successfully, but these errors were encountered: