From f1019d019688bf563198b10d0519faa8e09b7eb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 14 Feb 2013 11:58:00 +0100
Subject: [PATCH] Configure check for GMP_NUMB_BITS.

---
 ChangeLog      |  3 +++
 config.make.in |  2 ++
 configure.ac   | 14 ++++++++++++++
 3 files changed, 19 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 9f651ccb..3e41a870 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 c1f2e5d4..a1ebf0dc 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 3dda4612..848601d4 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)])
 
-- 
GitLab