summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-08-12 01:06:15 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2018-08-12 01:07:02 -0700
commit3fc948a36c0f70f73d2e8eb688b1599fa6b73036 (patch)
tree09dd9b830125434834d6d4b965d353392bd889bd /configure.ac
parentd64c1be99036d083d1d0db97ed1f41b1dd1005bc (diff)
downloademacs-3fc948a36c0f70f73d2e8eb688b1599fa6b73036.tar.gz
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.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac35
1 files changed, 24 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 690b999125f..58bdefab6d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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
-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)