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.
This commit is contained in:
Paul Eggert 2018-08-12 01:06:15 -07:00
parent d64c1be990
commit 3fc948a36c
2 changed files with 28 additions and 12 deletions

View file

@ -4302,19 +4302,32 @@ AC_SUBST(KRB5LIB)
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
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_SUBST([GMP_LIB])
AC_SUBST([GMP_OBJ])
AC_CHECK_HEADERS(valgrind/valgrind.h)

View file

@ -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