guile: support version 3.0.

Includes an update to the guile m4 package, and tweaks the build so that
both 2.2 and 3.0 should work fine.
This commit is contained in:
Danny O'Brien 2020-09-07 19:52:17 -07:00 committed by Dirk-Jan C. Binnema
parent 69b157a346
commit 623cf787ad
5 changed files with 19 additions and 18 deletions

View File

@ -212,22 +212,22 @@ AM_CONDITIONAL(BUILD_GUI,[test "x$have_webkit" = "xyes" -a "x$have_gtk" = "xyes"
############################################################################### ###############################################################################
############################################################################### ###############################################################################
# build with guile2.2 when available and not disabled. # build with guile 3.0/2.2 when available and not disabled.
AC_ARG_ENABLE([guile], AS_HELP_STRING([--disable-guile],[Disable guile])) AC_ARG_ENABLE([guile], AS_HELP_STRING([--disable-guile],[Disable guile]))
AS_IF([test "x$enable_guile" != "xno"],[ AS_IF([test "x$enable_guile" != "xno"],[
PKG_CHECK_MODULES(GUILE22, guile-2.2, [have_guile22=yes],[have_guile22=no]) PKG_CHECK_MODULES(GUILE, [guile-3.0], [have_guile=yes],[
# this is a bit hacky; GUILE_PKG PKG_CHECK_MODULES(GUILE, [guile-2.2], [have_guile=yes], [have_guile=no])])
AS_IF([test "x$have_guile22" = "xyes"],[ AS_IF([test "x$have_guile" = "xyes"],[
GUILE_PKG([2.2]) GUILE_PKG([3.0 2.2])
GUILE_PROGS GUILE_PROGS
GUILE_FLAGS GUILE_FLAGS
AC_DEFINE_UNQUOTED([GUILE_BINARY],"$GUILE",[guile binary]) AC_DEFINE_UNQUOTED([GUILE_BINARY],"$GUILE",[guile binary])
AC_DEFINE(BUILD_GUILE,[1], [Do we support Guile?]) AC_DEFINE(BUILD_GUILE,[1], [Do we support Guile?])
AC_SUBST(GUILE_SNARF, [guile-snarf]) AC_SUBST(GUILE_SNARF, [guile-snarf])
guile_version=$($PKG_CONFIG guile-2.2 --modversion) guile_version=$($PKG_CONFIG guile-$GUILE_EFFECTIVE_VERSION --modversion)
]) ])
]) ])
AM_CONDITIONAL(BUILD_GUILE,[test "x$have_guile22" = "xyes"]) AM_CONDITIONAL(BUILD_GUILE,[test "x$have_guile" = "xyes"])
############################################################################### ###############################################################################
############################################################################### ###############################################################################

View File

@ -69,7 +69,7 @@ SUFFIXES = .x .doc
# FIXME: GUILE_SITEDIR would be better, but that # FIXME: GUILE_SITEDIR would be better, but that
# breaks 'make distcheck' # breaks 'make distcheck'
scmdir=${prefix}/share/guile/site/2.2/ scmdir=${prefix}/share/guile/site/${GUILE_EFFECTIVE_VERSION}
scm_DATA=mu.scm scm_DATA=mu.scm
EXTRA_DIST=$(scm_DATA) EXTRA_DIST=$(scm_DATA)

View File

@ -16,9 +16,7 @@
include $(top_srcdir)/gtest.mk include $(top_srcdir)/gtest.mk
# FIXME: GUILE_SITEDIR would be better, but that scmdir=${prefix}/share/guile/site/${GUILE_EFFECTIVE_VERSION}/mu/
# breaks 'make distcheck'
scmdir=${prefix}/share/guile/site/2.2/mu/
scm_DATA= \ scm_DATA= \
stats.scm \ stats.scm \

View File

@ -41,7 +41,7 @@ EXTRA_DIST= \
ax_lib_readline.m4 \ ax_lib_readline.m4 \
ax_require_defined.m4 \ ax_require_defined.m4 \
ax_valgrind_check.m4 \ ax_valgrind_check.m4 \
guile-2.2.m4 \ guile.m4 \
lib-ld.m4 \ lib-ld.m4 \
lib-link.m4 \ lib-link.m4 \
lib-prefix.m4 lib-prefix.m4

View File

@ -47,8 +47,8 @@
# for an available version of Guile. # for an available version of Guile.
# #
# By default, this macro will search for the latest stable version of # By default, this macro will search for the latest stable version of
# Guile (e.g. 2.2), falling back to the previous stable version # Guile (e.g. 3.0), falling back to the previous stable version
# (e.g. 2.0) if it is available. If no guile-@var{VERSION}.pc file is # (e.g. 2.2) if it is available. If no guile-@var{VERSION}.pc file is
# found, an error is signalled. The found version is stored in # found, an error is signalled. The found version is stored in
# @var{GUILE_EFFECTIVE_VERSION}. # @var{GUILE_EFFECTIVE_VERSION}.
# #
@ -60,8 +60,11 @@
# @code{AC_SUBST}. # @code{AC_SUBST}.
# #
AC_DEFUN([GUILE_PKG], AC_DEFUN([GUILE_PKG],
[PKG_PROG_PKG_CONFIG [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
_guile_versions_to_search="m4_default([$1], [2.2 2.0 1.8])" if test "x$PKG_CONFIG" = x; then
AC_MSG_ERROR([pkg-config is missing, please install it])
fi
_guile_versions_to_search="m4_default([$1], [3.0 2.2 2.0])"
if test -n "$GUILE_EFFECTIVE_VERSION"; then if test -n "$GUILE_EFFECTIVE_VERSION"; then
_guile_tmp="" _guile_tmp=""
for v in $_guile_versions_to_search; do for v in $_guile_versions_to_search; do
@ -221,7 +224,7 @@ AC_DEFUN([GUILE_SITE_DIR],
# as well. # as well.
# #
# By default, this macro will search for the latest stable version of # By default, this macro will search for the latest stable version of
# Guile (e.g. 2.2). x.y or x.y.z versions can be specified. If an older # Guile (e.g. 3.0). x.y or x.y.z versions can be specified. If an older
# version is found, the macro will signal an error. # version is found, the macro will signal an error.
# #
# The effective version of the found @code{guile} is set to # The effective version of the found @code{guile} is set to
@ -237,7 +240,7 @@ AC_DEFUN([GUILE_SITE_DIR],
AC_DEFUN([GUILE_PROGS], AC_DEFUN([GUILE_PROGS],
[_guile_required_version="m4_default([$1], [$GUILE_EFFECTIVE_VERSION])" [_guile_required_version="m4_default([$1], [$GUILE_EFFECTIVE_VERSION])"
if test -z "$_guile_required_version"; then if test -z "$_guile_required_version"; then
_guile_required_version=2.2 _guile_required_version=3.0
fi fi
_guile_candidates=guile _guile_candidates=guile