summaryrefslogtreecommitdiffstats
path: root/package/guile/guile.mk
blob: e57c9171ffe052ab3188a05d830c5ea612f2174b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
################################################################################
#
# guile
#
################################################################################

GUILE_VERSION = 2.0.11
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES
GUILE_LICENSE = LGPLv3+
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

GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/usr/bin/guile \
	CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)"

GUILE_CONF_OPTS += \
	--with-libltdl-prefix=$(STAGING_DIR)/usr/lib \
	--with-libgmp-prefix=$(STAGING_DIR)/usr/lib \
	--with-libunistring-prefix=$(STAGING_DIR)/usr/lib

$(eval $(autotools-package))
$(eval $(host-autotools-package))