summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2021-03-01 22:57:30 -0800
committerMichael Gran <spk121@yahoo.com>2021-03-02 06:18:32 -0800
commit54adbd6f0f173c5c2633c316670793322f08d44d (patch)
treefaec6a86f62f781b962d797160783e6a8875d621
parenteb1bd8050ef7fe3ef2a0bd07a42f39ad2f278936 (diff)
downloadguile-54adbd6f0f173c5c2633c316670793322f08d44d.tar.gz
improve autoconfigury for minigmp
* configure.ac: add SCM_I_GSC_ENABLE_MINI_GMP var and rename GUILE_MINI_GMP to ENABLE_MINI_GMP * libguile/bytevectors (GUILE_MINI_GMP): rename to ENABLE_MINI_GMP * libguile/gen-scmconfig.c: renamed GUILE_MINI_GMP to ENABLE_MINI_GMP. rename GUILE_MINI_GMP to SCM_ENABLE_MINI_GMP * libguile/gen-scmconfig.h: add SCM_I_GSC_ENABLE_MINI_GMP * libguile/init.c [GUILE_MINI_GMP]: prefer ENABLE_MINI_GMP * libguile/numbers.c [GUILE_MINI_GMP]: prefer ENABLE_MINI_GMP * libguile/numbers.h: include scmconfig.h rename GUILE_MINI_GMP to SCM_ENABLE_MINI_GMP * libguile/random.c [GUILE_MINI_GMP]: prefer ENABLE_MINI_GMP * libguile/socket.c [GUILE_MINI_GMP]: prefer ENABLE_MINI_GMP * libguile.h [GUILE_MINI_GMP]: prefer SCM_ENABLE_MINI_GMP
-rw-r--r--configure.ac13
-rw-r--r--libguile.h2
-rw-r--r--libguile/bytevectors.c2
-rw-r--r--libguile/gen-scmconfig.c8
-rw-r--r--libguile/gen-scmconfig.h.in2
-rw-r--r--libguile/init.c2
-rw-r--r--libguile/numbers.c2
-rw-r--r--libguile/numbers.h3
-rw-r--r--libguile/random.c2
-rw-r--r--libguile/socket.c2
10 files changed, 23 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 9be807ff1..559f0ed50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -651,19 +651,24 @@ PKG_CHECK_MODULES([GMP],[gmp],
[],
[$enable_mini_gmp=yes])
+SCM_I_GSC_ENABLE_MINI_GMP=0
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,
+ [AS_HELP_STRING([--enable-mini-gmp],
+ [use mini-gmp instead of the full GMP library])])
+
+if test "$enable_mini_gmp" = yes || test "$enable_mini_gmp" = y; then
+ SCM_I_GSC_ENABLE_MINI_GMP=1
+ AC_DEFINE([ENABLE_MINI_GMP], 1,
[Define this if you want to use mini-gmp.])
else
LIBS="$GMP_LIBS $LIBS"
CFLAGS="$GMP_CFLAGS $CFLAGS"
fi
+AC_SUBST([SCM_I_GSC_ENABLE_MINI_GMP])
AM_CONDITIONAL([USE_MINI_GMP], [test "x$enable_mini_gmp" = "xyes"])
AC_CHECK_DECLS([mpz_inits], [], [],
- [[#if GUILE_MINI_GMP
+ [[#if ENABLE_MINI_GMP
#include "libguile/mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile.h b/libguile.h
index 70c4bed88..14ea1d110 100644
--- a/libguile.h
+++ b/libguile.h
@@ -29,7 +29,7 @@ extern "C" {
#ifdef __cplusplus
}
#endif
-#if GUILE_MINI_GMP
+#if SCM_ENABLE_MINI_GMP
#include "libguile/mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index b5c6bbe0f..2671eeeea 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -35,7 +35,7 @@
#include <alloca.h>
#include <assert.h>
-#if GUILE_MINI_GMP
+#if ENABLE_MINI_GMP
#include "mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c
index af6d0fe92..667789e3b 100644
--- a/libguile/gen-scmconfig.c
+++ b/libguile/gen-scmconfig.c
@@ -377,10 +377,12 @@ main (int argc, char *argv[])
pf ("/* Define to 1 if there is an auxiliary stack, as in ia64. */\n");
pf ("#define SCM_HAVE_AUXILIARY_STACK %d\n", SCM_I_GSC_HAVE_AUXILIARY_STACK);
-#ifdef GUILE_MINI_GMP
- pf ("#define GUILE_MINI_GMP 1\n");
+ pf ("\n");
+ pf ("/* Define to 1 to use mini GMP. */\n");
+#ifdef ENABLE_MINI_GMP
+ pf ("#define SCM_ENABLE_MINI_GMP 1\n");
#else
- pf ("#undef GUILE_MINI_GMP\n");
+ pf ("#undef SCM_ENABLE_MINI_GMP\n");
#endif
printf ("#endif\n");
diff --git a/libguile/gen-scmconfig.h.in b/libguile/gen-scmconfig.h.in
index 6e5ebdb84..5b688b338 100644
--- a/libguile/gen-scmconfig.h.in
+++ b/libguile/gen-scmconfig.h.in
@@ -20,7 +20,7 @@
#define SCM_I_GSC_ICONVEH_QUESTION_MARK @SCM_I_GSC_ICONVEH_QUESTION_MARK@
#define SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE @SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE@
#define SCM_I_GSC_HAVE_AUXILIARY_STACK @SCM_I_GSC_HAVE_AUXILIARY_STACK@
-
+#define SCM_I_GSC_ENABLE_MINI_GMP @SCM_I_GSC_ENABLE_MINI_GMP@
/*
Local Variables:
mode: c
diff --git a/libguile/init.c b/libguile/init.c
index 708c0e736..68077d1d5 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -31,7 +31,7 @@
#include <sys/stat.h>
#include <unistd.h>
-#if GUILE_MINI_GMP
+#if ENABLE_MINI_GMP
#include "mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile/numbers.c b/libguile/numbers.c
index a2a5ca3b1..670c9ec69 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -399,7 +399,7 @@ scm_i_big2dbl_2exp (SCM b, long *expon_p)
{
long expon;
double signif;
-#if GUILE_MINI_GMP
+#if ENABLE_MINI_GMP
int iexpon;
signif = mpz_get_d (SCM_I_BIG_MPZ (b));
signif = frexp (signif, &iexpon);
diff --git a/libguile/numbers.h b/libguile/numbers.h
index 6937f9d2f..58010cdf5 100644
--- a/libguile/numbers.h
+++ b/libguile/numbers.h
@@ -22,10 +22,11 @@
+#include "libguile/scmconfig.h"
#include "libguile/error.h"
#include "libguile/gc.h"
#include "libguile/print.h"
-#if GUILE_MINI_GMP
+#if SCM_ENABLE_MINI_GMP
#include "libguile/mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile/random.c b/libguile/random.c
index 7a588d3e4..b955c2c45 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -36,7 +36,7 @@
#include "generalized-vectors.h"
#include "gsubr.h"
#include "list.h"
-#if GUILE_MINI_GMP
+#if ENABLE_MINI_GMP
#include "mini-gmp.h"
#else
#include <gmp.h>
diff --git a/libguile/socket.c b/libguile/socket.c
index a481c6157..1bd56a0c7 100644
--- a/libguile/socket.c
+++ b/libguile/socket.c
@@ -44,7 +44,7 @@
#include <netdb.h>
#include <arpa/inet.h>
-#if GUILE_MINI_GMP
+#if ENABLE_MINI_GMP
#include "mini-gmp.h"
#else
#include <gmp.h>