diff --git a/ChangeLog b/ChangeLog index 9f651ccba9c652100a33e738666a90a6061dc878..3e41a8700265a0aa540212e911d957d1e1b85234 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2013-02-14 Niels Möller <nisse@lysator.liu.se> + * configure.ac: Find GMP's GMP_NUMB_BITS. Substitute in Makefile. + * config.make.in (GMP_NUMB_BITS): New variable. + * examples/rsa-keygen.c (uint_arg): New function. (main): New options -s and -e, to specify key size and public exponent. Increased default key size to 2048. diff --git a/config.make.in b/config.make.in index c1f2e5d485e62b3774f5381780616f89f169f7cf..a1ebf0dc17dff604513f0a30e05e5ebbb0057d99 100644 --- a/config.make.in +++ b/config.make.in @@ -46,6 +46,8 @@ LIBHOGWEED_FORLINK = @LIBHOGWEED_FORLINK@ LIBHOGWEED_LIBS = @LIBHOGWEED_LIBS@ LIBHOGWEED_LINK = @LIBHOGWEED_LINK@ +GMP_NUMB_BITS = @GMP_NUMB_BITS@ + AR = @AR@ ARFLAGS = cru AUTOCONF = autoconf diff --git a/configure.ac b/configure.ac index 3dda461248e08210ef15ca61c35013f72f60572e..848601d42f48de1ac177f212e69e6ef0c70dfcd2 100644 --- a/configure.ac +++ b/configure.ac @@ -587,6 +587,20 @@ Support for public key algorithms will be unavailable.])] # Add -R flags needed to run programs linked with gmp LSH_RPATH_FIX +# Check for gmp limb size +nettle_cv_gmp_numb_bits=0 +if test "$enable_public_key" = yes; then + AC_MSG_CHECKING([for GMP limb size]) + AC_COMPUTE_INT(nettle_cv_gmp_numb_bits, [GMP_NUMB_BITS], + [#include <gmp.h>], + [AC_MSG_FAILURE([cannot find value of GMP_NUMB_BITS])]) + + AC_MSG_RESULT([$nettle_cv_gmp_numb_bits bits]) +fi + +GMP_NUMB_BITS="$nettle_cv_gmp_numb_bits" +AC_SUBST([GMP_NUMB_BITS]) + AH_TEMPLATE([HAVE_MPZ_POWM_SEC], [Define if mpz_powm_sec is available (appeared in GMP-5)]) AC_CHECK_FUNC(__gmpz_powm_sec, [AC_DEFINE(HAVE_MPZ_POWM_SEC)])