Skip to content
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

Add better build documentation #622

Open
gmaxwell opened this issue May 23, 2019 · 5 comments
Open

Add better build documentation #622

gmaxwell opened this issue May 23, 2019 · 5 comments

Comments

@gmaxwell
Copy link
Contributor

The library is designed to be easy to use without the build system, e.g. you can build the tests with nothing more than:

$ gcc -o tests src/tests.c -I. -Iinclude/ -DUSE_NUM_NONE -DUSE_FIELD_INV_BUILTIN -DUSE_SCALAR_INV_BUILTIN -DUSE_FIELD_10X26 -DUSE_SCALAR_8X32 -DVERIFY

We should document this fact better, because for many embedded systems the whole build system is overkill. See also #184

Related, we should also provide packaging instructions for common OSes, see #545

@real-or-random
Copy link
Contributor

I'm not sure if we want this but this could be made even easier with just -DUSE_BASIC_CONFIG if we include basic-config.h at the appropriate places. It's only used for gen-context at the moment.

@gmaxwell
Copy link
Contributor Author

We could also do some ifdef decision to use 32 vs 64 bit fields by default.

@gmaxwell gmaxwell added this to the initial release milestone May 23, 2019
@real-or-random
Copy link
Contributor

We currently rely on ./configure to define WORDS_BIGENDIAN, which could lead to very annoying failures.

@gmaxwell
Copy link
Contributor Author

gmaxwell commented Jun 3, 2019

Maybe we should have a #warn on use of 32bit field/scalar when sizeof(void*)==8, I've found some cases of people publishing benchmarks that appear to have used 32bit libsecp256k1 (while comparing to avx2 code in another library...)

@real-or-random
Copy link
Contributor

#621 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants