guile.mk 2.0 KB

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