1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-16 09:50:25 +00:00
emacs/m4/libgmp.m4
Paul Eggert 33b293b41b Update from Gnulib
This incorporates:
2020-08-06 libgmp: add <gmp/gmp.h> support
2020-08-06 Consider that clang defines __OPTIMIZE__ like GCC does
2020-08-06 Use __builtin_expect with clang everywhere
2020-08-05 Use __builtin_clz{,l,ll} with clang, also on Windows
2020-08-05 Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang
2020-07-31 _GL_CMP: Improve documentation
2020-07-30 alloca, largefile: sync with Autoconf master
* lib/c++defs.h, lib/cdefs.h, lib/count-leading-zeros.h:
* lib/count-trailing-zeros.h, m4/alloca.m4, m4/gnulib-common.m4:
* m4/largefile.m4, m4/libgmp.m4:
Copy from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2020-08-06 15:25:30 -07:00

72 lines
2.5 KiB
Plaintext

# libgmp.m4 serial 5
# Configure the GMP library or a replacement.
dnl Copyright 2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl gl_LIBGMP
dnl Search for an installed libgmp.
dnl If found, set and AC_SUBST HAVE_LIBGMP=yes and the LIBGMP and LTLIBGMP
dnl variables, and augment the CPPFLAGS variable, and #define HAVE_LIBGMP to 1.
dnl Otherwise, set and AC_SUBST HAVE_LIBGMP=no and LIBGMP and LTLIBGMP to
dnl empty.
AC_DEFUN([gl_LIBGMP],
[
AC_ARG_WITH([libgmp],
[AS_HELP_STRING([--without-libgmp],
[do not use the GNU Multiple Precision (GMP) library;
this is the default on systems lacking libgmp.])])
HAVE_LIBGMP=no
LIBGMP=
LTLIBGMP=
AS_IF([test "$with_libgmp" != no],
[AC_CHECK_HEADERS([gmp.h gmp/gmp.h], [break])
dnl Prefer AC_LIB_HAVE_LINKFLAGS if the havelib module is also in use.
AS_IF([test "$ac_cv_header_gmp_h" = yes ||
test "$ac_cv_header_gmp_gmp_h" = yes],
[m4_ifdef([gl_HAVE_MODULE_HAVELIB],
[AC_LIB_HAVE_LINKFLAGS([gmp], [],
[#if HAVE_GMP_H
# include <gmp.h>
#else
# include <gmp/gmp.h>
#endif],
[static const mp_limb_t x[2] = { 0x73, 0x55 };
mpz_t tmp;
mpz_roinit_n (tmp, x, 2);
],
[no])],
[gl_saved_LIBS=$LIBS
AC_SEARCH_LIBS([__gmpz_roinit_n], [gmp])
LIBS=$gl_saved_LIBS
case $ac_cv_search___gmpz_roinit_n in
'none needed')
HAVE_LIBGMP=yes;;
-*)
HAVE_LIBGMP=yes
LIBGMP=$ac_cv_search___gmpz_roinit_n
LTLIBGMP=$LIBGMP;;
esac
AC_SUBST([HAVE_LIBGMP])
AC_SUBST([LIBGMP])
AC_SUBST([LTLIBGMP])])])
if test "$with_libgmp,$HAVE_LIBGMP" = yes,no; then
AC_MSG_ERROR(
[GMP not found, although --with-libgmp was specified.m4_ifdef(
[AC_LIB_HAVE_LINKFLAGS],
[ Try specifying --with-libgmp-prefix=DIR.])])
fi])
if test $HAVE_LIBGMP = yes && test "$ac_cv_header_gmp_h" = yes; then
GMP_H=
else
GMP_H=gmp.h
fi
AC_SUBST([GMP_H])
AM_CONDITIONAL([GL_GENERATE_MINI_GMP_H],
[test $HAVE_LIBGMP != yes])
AM_CONDITIONAL([GL_GENERATE_GMP_GMP_H],
[test $HAVE_LIBGMP = yes && test "$ac_cv_header_gmp_h" != yes])
])