-
Notifications
You must be signed in to change notification settings - Fork 78
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
Issue11 #22
base: main
Are you sure you want to change the base?
Issue11 #22
Conversation
Please make sure all formatting is consistent (some of the C code is indented with 6 spaces rather than 4). Also, I don't think we need test.py, there's already a test suite in the python package folder. If you'd like to add tests please add them there. Thanks! |
If it will be commited, need to replace download address in windows_make.cmd |
I'll investigate if setuptools has a way to run OS dependent install scripts for packages. If so we can include it there. If not I can either update the README with how to build on Windows (which may be cleaner) or we can commit the make command. What do you think? I can also write a python script to replace the windows script, shouldn't take too long but I'll need to test it on my Windows box. |
Best way for users is "pip install fastecdsa", so it will be exellent, if setuptools just place OS depended prebuilded binaries. But in this way we have to repeat windows build for python 2.7 x64 and build for python 3.x x86/x64 with VC 2010/2014 or test, does builded x86 binaries works in python 2.7 x64 and 3.x x86/x64
So, all the ways (setuptools/cmd/python script) have to be checked a lot at all win platforms and python version. I have different machines for experiments, and will try some variants OS/python. |
Sounds good, I can do some investigation into providing binary distributions via setuptools as well. It looks like cross compiling is supported by distutils so that may be something to look at so that we don't need 4 systems to generate binaries for all 32/64 bit python 2/3 combinations. |
As I try, cross-compiling does not work. Fastecdsa (and MPIR) for python64 have to be compiled with 64bit cl/yasm. So, have I to write step-by-step instruction? |
I'll see if I can replicate your build steps and produce windows wheels this weekend. If I can then I'll set up VMs to build Windows wheels for all python version / architecture combinations and build them whenever a release occurs. I'll get back to you in a couple days. Thanks, |
When I try to build using the LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
gmp.lib(mul_basecase.obj) : error LNK2019: unresolved external symbol __gmpn_addmul_2 referenced in function __gmpn_mul_basecase
gmp.lib(sqr_basecase.obj) : error LNK2001: unresolved external symbol __gmpn_addmul_2
build\lib.win-amd64-2.7\fastecdsa\curvemath.pyd : fatal error LNK1120: 1 unresolved externals
error: command '<\\path\\to\\>link.exe' failed with exit status 1120 |
Can not reproduce. |
Still working through some build issues on my end. I haven't forgotten about this, just moving very slowly. I should have more time to devote on the weekend again. |
31607fa
to
3fef4b1
Compare
All variable declarations moved to the start of functions
Created sample cmd file to automatic build fastecdsa on windows