12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- ################################################################################
- #
- # guile
- #
- ################################################################################
- GUILE_VERSION = 3.0.9
- GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
- GUILE_SITE = $(BR2_GNU_MIRROR)/guile
- GUILE_INSTALL_STAGING = YES
- # For 0002-calculate-csqrt_manually.patch and
- # 0003-Makefile.am-fix-build-without-makeinfo.patch and
- # 0004-Update-gnulib-to-8f4538a53d64054ae2fc8b86c0f87c418c6176e6.patch
- GUILE_AUTORECONF = YES
- GUILE_LICENSE = LGPL-3.0+
- GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER
- GUILE_CPE_ID_VENDOR = gnu
- GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf
- HOST_GUILE_DEPENDENCIES = \
- host-libunistring host-libffi host-gmp host-bdwgc host-flex \
- host-pkgconf host-gettext host-gperf
- ifeq ($(BR2_ENABLE_LOCALE),)
- GUILE_DEPENDENCIES += libiconv
- endif
- # 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
- ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
- GUILE_CONF_ENV += LIBS=-latomic
- endif
- ifeq ($(BR2_STATIC_LIBS),y)
- GUILE_CFLAGS += -DGC_NO_DLOPEN
- endif
- # jit triggers build failures with gcc < 5
- ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
- GUILE_CONF_OPTS += --disable-jit
- endif
- ifeq ($(BR2_HOST_GCC_AT_LEAST_5),)
- HOST_GUILE_CONF_OPTS += --disable-jit
- endif
- # 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
- GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \
- CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)"
- GUILE_CONF_OPTS += \
- --with-libgmp-prefix=$(STAGING_DIR)/usr/lib \
- --with-libunistring-prefix=$(STAGING_DIR)/usr/lib
- $(eval $(autotools-package))
- $(eval $(host-autotools-package))
|