kumquat-buildroot/package/guile/guile.mk
Fabrice Fontaine 86d7922952 toolchain: drop codesourcery arm/aarch64 toolchains
codesourcery arm/aarch64 toolchains are old (2014) and use glibc
2.18/2.20 which are not compatible with 64-bit time_t raising the
following build failure with libcgroup since commit
1c2dbcdcf0:

In file included from ./libcgroup-internal.h:25:0,
                 from parse.y:21:
/home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/fts.h:41:3: error: #error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
 # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"
   ^

Fixes: 1c2dbcdcf0
 - http://autobuild.buildroot.org/results/e28f955f2b360f6e7bb231a5a3800cfbd17a23d7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Peter: add Config.in.legacy entries]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 53a8c5150e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-21 21:43:14 +01:00

74 lines
2.3 KiB
Makefile

################################################################################
#
# 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))