herumi / mcl

a portable and fast pairing-based cryptography library
BSD 3-Clause "New" or "Revised" License
450 stars 152 forks source link

allow no_mpir, allow user-specified build type #143

Closed earonesty closed 2 years ago

earonesty commented 2 years ago

MPIR downloaded binaries suffers from a number of issues

Users should be allowed to build/use MPIR as needed in the parent CMakeLists.txt file.

(For example there is a good conanfile for MPIR for windows.)

Resolves: https://github.com/herumi/mcl/issues/142

This gets my build working fine. I just conan install mpir/3.0.0@ from our own conan repo, and we don't have to worry about binary downloads (build:always) or runtime compatibility (automatically selects correct debug/static/etc).

herumi commented 2 years ago

The default behavior of Makefile disables GMP on macOS, so I think that it is better to be disabled on Linux and Windows. What do you think about it?

earonesty commented 2 years ago

well, my primary targets are (1) windows and (2) wasm ... so i'm not sure about macos/linux. personally, i don't think the default in any cryptography product should be to download binaries. with mpir/conan i get a repeatable build.

personally, i think it's better to force the user to choose mpir vs gmp and install it themselves either way.

note: i use mpir on this fork, not gmp! i just don't like the download/binary/install-dir requirements. i link my own mpir lib.

herumi commented 2 years ago

Thank you for the patch. I'm developing a branch to remove GMP.