From 54adbd6f0f173c5c2633c316670793322f08d44d Mon Sep 17 00:00:00 2001 From: Michael Gran Date: Mon, 1 Mar 2021 22:57:30 -0800 Subject: [PATCH] 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 --- configure.ac | 13 +++++++++---- libguile.h | 2 +- libguile/bytevectors.c | 2 +- libguile/gen-scmconfig.c | 8 +++++--- libguile/gen-scmconfig.h.in | 2 +- libguile/init.c | 2 +- libguile/numbers.c | 2 +- libguile/numbers.h | 3 ++- libguile/random.c | 2 +- libguile/socket.c | 2 +- 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 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 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 #include -#if GUILE_MINI_GMP +#if ENABLE_MINI_GMP #include "mini-gmp.h" #else #include 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 #include -#if GUILE_MINI_GMP +#if ENABLE_MINI_GMP #include "mini-gmp.h" #else #include 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 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 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 #include -#if GUILE_MINI_GMP +#if ENABLE_MINI_GMP #include "mini-gmp.h" #else #include