mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Enable option to prefer mini-gmp over libgmp
* configure.ac: rework gmp library detection. Add new flag. * libguile.h: modify gmp header inclusion * libguile/Makefile.am: add mini-gmp.[ch] files * libguile/bytevectors.c: add mini-gmp headers * libguile/gen-scmconfig.c: new #include variable GUILE_MINI_GMP * libguile/init.c: add mini-gmp header * libguile/mini-gmp.c: new file * libguile/mini-gmp.h: new file * libguile/numbers.c: add fallback for missing mpz_get_d_2exp * libguile/numbers.h: yse mini-gmp header * libguile/random.c: use mini-gmp header * libguile/socket.c: use mini-gmp header
This commit is contained in:
parent
a4a5fbced3
commit
eb1bd8050e
12 changed files with 4951 additions and 25 deletions
30
configure.ac
30
configure.ac
|
@ -646,22 +646,28 @@ fi
|
|||
AC_CACHE_SAVE
|
||||
|
||||
dnl GMP tests
|
||||
AC_LIB_HAVE_LINKFLAGS([gmp],
|
||||
|
||||
PKG_CHECK_MODULES([GMP],[gmp],
|
||||
[],
|
||||
[#include <gmp.h>],
|
||||
[mpz_import (0, 0, 0, 0, 0, 0, 0);])
|
||||
[$enable_mini_gmp=yes])
|
||||
|
||||
if test "x$HAVE_LIBGMP" != "xyes"; then
|
||||
AC_MSG_ERROR([GNU MP 4.1 or greater not found, see README])
|
||||
AC_ARG_ENABLE(mini-gmp,
|
||||
[ --enable-mini-gmp use mini-gmp instead of the full GMP library])
|
||||
if test "$enable_mini_gmp" = yes; then
|
||||
AC_DEFINE([GUILE_MINI_GMP], 1,
|
||||
[Define this if you want to use mini-gmp.])
|
||||
else
|
||||
LIBS="$GMP_LIBS $LIBS"
|
||||
CFLAGS="$GMP_CFLAGS $CFLAGS"
|
||||
fi
|
||||
AM_CONDITIONAL([USE_MINI_GMP], [test "x$enable_mini_gmp" = "xyes"])
|
||||
|
||||
dnl `mpz_inits' and `mpz_clears' appeared in GMP 5.0.0.
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
if test "x$LIBGMP_PREFIX" != "x"; then
|
||||
CPPFLAGS="-I$LIBGMP_PREFIX $CPPFLAGS"
|
||||
fi
|
||||
AC_CHECK_DECLS([mpz_inits], [], [], [[#include <gmp.h>]])
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
AC_CHECK_DECLS([mpz_inits], [], [],
|
||||
[[#if GUILE_MINI_GMP
|
||||
#include "libguile/mini-gmp.h"
|
||||
#else
|
||||
#include <gmp.h>
|
||||
#endif]])
|
||||
|
||||
dnl GNU libunistring is checked for by Gnulib's `libunistring' module.
|
||||
if test "x$LTLIBUNISTRING" = "x"; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue