1################################################################################ 2# 3# guile 4# 5################################################################################ 6 7GUILE_VERSION = 3.0.4 8GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz 9GUILE_SITE = $(BR2_GNU_MIRROR)/guile 10GUILE_INSTALL_STAGING = YES 11# For 0002-calculate-csqrt_manually.patch and 12# 0003-Makefile.am-fix-build-without-makeinfo.patch 13GUILE_AUTORECONF = YES 14GUILE_LICENSE = LGPL-3.0+ 15GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER 16GUILE_CPE_ID_VENDOR = gnu 17 18# libtool dependency is needed because guile uses libltdl 19GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf libtool 20HOST_GUILE_DEPENDENCIES = host-libunistring host-libffi host-gmp host-bdwgc host-flex host-pkgconf host-gettext 21 22# The HAVE_GC* CFLAGS specify that we will use internal callbacks 23# instead of the ones provided by 24# bdwgc. Eg. HAVE_GC_SET_FINALIZER_NOTIFIER specifies that we won't 25# use bdwgc's GC_finalizer_notifier callback. Trying to use these 26# specific bdwgc's callbacks breaks guile's building. 27GUILE_CFLAGS = \ 28 -DHAVE_GC_SET_FINALIZER_NOTIFIER \ 29 -DHAVE_GC_GET_HEAP_USAGE_SAFE \ 30 -DHAVE_GC_GET_FREE_SPACE_DIVISOR \ 31 -DHAVE_GC_SET_FINALIZE_ON_DEMAND 32 33ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 34GUILE_CONF_ENV += LIBS=-latomic 35endif 36 37ifeq ($(BR2_STATIC_LIBS),y) 38GUILE_CFLAGS += -DGC_NO_DLOPEN 39endif 40 41# Triggers assembler error with -Os 42ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy) 43GUILE_CFLAGS += -O2 44endif 45 46# jit triggers build failures with gcc < 5 47ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) 48GUILE_CONF_OPTS += --disable-jit 49endif 50ifeq ($(BR2_HOST_GCC_AT_LEAST_5),) 51HOST_GUILE_CONF_OPTS += --disable-jit 52endif 53 54# It can use readline, but on the condition that it was build against 55# ncurses. If both aren't present disable readline support since the 56# host readline/ncurses support can poison the build. 57ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy) 58GUILE_CONF_OPTS += --with-libreadline-prefix=$(STAGING_DIR)/usr 59GUILE_DEPENDENCIES += readline 60else 61GUILE_CONF_OPTS += --without-libreadline-prefix 62endif 63 64GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \ 65 CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)" 66 67GUILE_CONF_OPTS += \ 68 --with-libltdl-prefix=$(STAGING_DIR)/usr/lib \ 69 --with-libgmp-prefix=$(STAGING_DIR)/usr/lib \ 70 --with-libunistring-prefix=$(STAGING_DIR)/usr/lib 71 72$(eval $(autotools-package)) 73$(eval $(host-autotools-package)) 74