>From 3fc948a36c0f70f73d2e8eb688b1599fa6b73036 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 12 Aug 2018 01:06:15 -0700 Subject: [PATCH] New 'configure' arg --with-mini-gmp * configure.ac: It lets the builder override default of whther mini-gmp is used. Use AC_SEARCH_LIBS as per Autoconf manual. --- configure.ac | 35 ++++++++++++++++++++++++----------- etc/NEWS | 7 +++++-- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/configure.ac b/configure.ac index 690b999125..58bdefab6d 100644 --- a/configure.ac +++ b/configure.ac @@ -4302,19 +4302,32 @@ AC_DEFUN AC_SUBST(DESLIB) AC_SUBST(KRB4LIB) +AC_ARG_WITH([mini-gmp], + [AS_HELP_STRING([--without-mini-gmp], + [don't compile and use mini-gmp, a substitute for the + GNU Multiple Precision (GMP) library; this is the + default on systems with recent-enough GMP.])]) GMP_LIB= -GMP_OBJ= +GMP_OBJ=mini-gmp.o HAVE_GMP=no -AC_CHECK_LIB(gmp, __gmpz_roinit_n, [ - AC_CHECK_HEADERS(gmp.h, [ - GMP_LIB=-lgmp - HAVE_GMP=yes - AC_DEFINE(HAVE_GMP, 1, [Define to 1 if you have gmp.h and -lgmp])])]) -if test $HAVE_GMP = no; then - GMP_OBJ=mini-gmp.o -fi -AC_SUBST(GMP_LIB) -AC_SUBST(GMP_OBJ) +case $with_mini_gmp in + yes) ;; + no) HAVE_GMP=yes;; + *) AC_CHECK_HEADERS([gmp.h], + [OLIBS=$LIBS + AC_SEARCH_LIBS([__gmpz_roinit_n], [gmp]) + LIBS=$OLIBS + case $ac_cv_search___gmpz_roinit_n in + 'none needed') HAVE_GMP=yes;; + -*) HAVE_GMP=yes GMP_LIB=$ac_cv_search___gmpz_roinit_n;; + esac]);; +esac +if test "$HAVE_GMP" = yes; then + GMP_OBJ= + AC_DEFINE([HAVE_GMP], 1, [Define to 1 if you have recent-enough GMP.]) +fi +AC_SUBST([GMP_LIB]) +AC_SUBST([GMP_OBJ]) AC_CHECK_HEADERS(valgrind/valgrind.h) diff --git a/etc/NEWS b/etc/NEWS index d684e35524..decc5e3954 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -24,8 +24,11 @@ When you add a new item, use the appropriate mark if you are sure it applies, * Installation Changes in Emacs 27.1 -** configure now checks for the GMP library. If not found, the -included "mini-gmp" library is used instead. +** Emacs now uses GMP, the GNU Multiple Precision library. +By default, if 'configure' does not find a suitable libgmp, it +arranges for the included mini-gmp library to be built and used. +The new 'configure' option --with-mini-gmp uses mini-gmp even if a +suitable libgmp is available. ** The new configure option '--with-json' adds support for JSON using the Jansson library. It is on by default; use 'configure -- 2.17.1