2014-11-24 23:56:30 +01:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# guile
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
2020-02-29 08:05:06 +01:00
|
|
|
GUILE_VERSION = 3.0.4
|
2014-11-24 23:56:30 +01:00
|
|
|
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
|
|
|
|
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
|
|
|
|
GUILE_INSTALL_STAGING = YES
|
2020-03-07 11:00:07 +01:00
|
|
|
# For 0002-calculate-csqrt_manually.patch and
|
2020-11-07 17:45:47 +01:00
|
|
|
# 0003-Makefile.am-fix-build-without-makeinfo.patch
|
2015-01-08 18:32:07 +01:00
|
|
|
GUILE_AUTORECONF = YES
|
2017-03-30 15:43:35 +02:00
|
|
|
GUILE_LICENSE = LGPL-3.0+
|
2014-11-24 23:56:30 +01:00
|
|
|
GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER
|
|
|
|
|
|
|
|
# libtool dependency is needed because guile uses libltdl
|
|
|
|
GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf libtool
|
|
|
|
HOST_GUILE_DEPENDENCIES = host-libunistring host-libffi host-gmp host-bdwgc host-flex host-pkgconf host-gettext
|
|
|
|
|
|
|
|
# The HAVE_GC* CFLAGS specify that we will use internal callbacks
|
|
|
|
# instead of the ones provided by
|
|
|
|
# bdwgc. Eg. HAVE_GC_SET_FINALIZER_NOTIFIER specifies that we won't
|
|
|
|
# use bdwgc's GC_finalizer_notifier callback. Trying to use these
|
|
|
|
# specific bdwgc's callbacks breaks guile's building.
|
|
|
|
GUILE_CFLAGS = \
|
|
|
|
-DHAVE_GC_SET_FINALIZER_NOTIFIER \
|
|
|
|
-DHAVE_GC_GET_HEAP_USAGE_SAFE \
|
|
|
|
-DHAVE_GC_GET_FREE_SPACE_DIVISOR \
|
|
|
|
-DHAVE_GC_SET_FINALIZE_ON_DEMAND
|
|
|
|
|
2021-02-08 07:46:26 +01:00
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
|
|
GUILE_CONF_ENV += LIBS=-latomic
|
|
|
|
endif
|
|
|
|
|
2015-08-07 12:20:39 +02:00
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
|
|
GUILE_CFLAGS += -DGC_NO_DLOPEN
|
|
|
|
endif
|
|
|
|
|
2016-11-06 23:53:32 +01:00
|
|
|
# Triggers assembler error with -Os
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
|
|
|
|
GUILE_CFLAGS += -O2
|
|
|
|
endif
|
|
|
|
|
2020-11-10 18:41:14 +01:00
|
|
|
# jit triggers build failures with gcc < 5
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
|
2020-11-07 17:01:22 +01:00
|
|
|
GUILE_CONF_OPTS += --disable-jit
|
|
|
|
endif
|
2020-11-10 18:41:14 +01:00
|
|
|
ifeq ($(BR2_HOST_GCC_AT_LEAST_5),)
|
|
|
|
HOST_GUILE_CONF_OPTS += --disable-jit
|
|
|
|
endif
|
2020-11-07 17:01:22 +01:00
|
|
|
|
2015-10-14 23:42:36 +02:00
|
|
|
# It can use readline, but on the condition that it was build against
|
|
|
|
# ncurses. If both aren't present disable readline support since the
|
|
|
|
# host readline/ncurses support can poison the build.
|
|
|
|
ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
|
|
|
|
GUILE_CONF_OPTS += --with-libreadline-prefix=$(STAGING_DIR)/usr
|
|
|
|
GUILE_DEPENDENCIES += readline
|
|
|
|
else
|
|
|
|
GUILE_CONF_OPTS += --without-libreadline-prefix
|
|
|
|
endif
|
|
|
|
|
2017-07-05 13:14:19 +02:00
|
|
|
GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \
|
2014-11-24 23:56:30 +01:00
|
|
|
CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)"
|
|
|
|
|
2014-12-27 14:47:18 +01:00
|
|
|
GUILE_CONF_OPTS += \
|
|
|
|
--with-libltdl-prefix=$(STAGING_DIR)/usr/lib \
|
|
|
|
--with-libgmp-prefix=$(STAGING_DIR)/usr/lib \
|
|
|
|
--with-libunistring-prefix=$(STAGING_DIR)/usr/lib
|
|
|
|
|
2014-11-24 23:56:30 +01:00
|
|
|
$(eval $(autotools-package))
|
|
|
|
$(eval $(host-autotools-package))
|