@@ -3015,6 +3015,9 @@ F: package/python-pyusb/
N: Wojciech NiziĆski <niziak@spox.org>
F: package/fwup/
+N: Woodrow Douglass <wdouglass@carnegierobotics.com>
+F: package/libchicken
+
N: Xuanhao Shi <X15000177@gmail.com>
F: boot/ti-k3-r5-loader/
@@ -641,6 +641,7 @@ menu "Interpreter languages and scripting"
source "package/4th/Config.in"
source "package/enscript/Config.in"
source "package/erlang/Config.in"
+ source "package/libchicken/Config.in"
if BR2_PACKAGE_ERLANG
menu "Erlang libraries/modules"
source "package/erlang-base64url/Config.in"
new file mode 100644
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBCHICKEN
+ bool "chicken-scheme-runtime"
+ depends on BR2_USE_MMU
+ help
+ libchicken is the runtime library for chicken
+ scheme. https://call-cc.org
+
+config BR2_LIBCHICKEN_INSTALL_INTERPRETER
+ bool "chicken-scheme-interpreter"
+ depends on BR2_PACKAGE_LIBCHICKEN
+ help
+ csi is an interpreter for the Chicken Scheme dialect
new file mode 100644
@@ -0,0 +1,71 @@
+################################################################################
+#
+# libchicken
+#
+################################################################################
+
+LIBCHICKEN_VERSION = 5.3.0
+LIBCHICKEN_SITE = https://code.call-cc.org/releases/$(LIBCHICKEN_VERSION)
+LIBCHICKEN_SOURCE = chicken-$(LIBCHICKEN_VERSION).tar.gz
+LIBCHICKEN_LICENSE = BSD
+LIBCHICKEN_LICENSE_FILES = LICENSE
+LIBCHICKEN_INSTALL_STAGING = YES
+LIBCHICKEN_INSTALL_TARGET = YES
+
+LIBCHICKEN_MAKE_ARGUMENTS=ARCH= \
+ PREFIX=/usr \
+ PLATFORM=linux \
+ C_COMPILER=${TARGET_CC} \
+ CXX_COMPILER=${TARGET_CXX} \
+ LIBRARIAN=${TARGET_AR} \
+ DESTDIR=$(STAGING_DIR)
+
+# MAKE1 is used here because the install step will fail without it. Perhaps this'll be fixed upstream someday...
+LIBCHICKEN_MAKE = $(MAKE1)
+
+ifneq ($(BR2_ARCH),x86)
+ LIBCHICKEN_MAKE_ARGUMENTS += TARGET_FEATURES="-no-feature x86 -feature ${BR2_ARCH}"
+endif
+
+ifeq ($(BR2_STATIC_LIBS),y)
+ LIBCHICKEN_MAKE_ARGUMENTS += STATICBUILD=1
+endif
+
+
+define LIBCHICKEN_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(LIBCHICKEN_MAKE) -C $(@D) ${LIBCHICKEN_MAKE_ARGUMENTS} all
+endef
+
+define LIBCHICKEN_INSTALL_STAGING_CMDS
+ $(TARGET_MAKE_ENV) $(LIBCHICKEN_MAKE) -C $(@D) ${LIBCHICKEN_MAKE_ARGUMENTS} install
+endef
+
+define LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/libchicken.so.11 $(TARGET_DIR)/usr/lib
+ ln -srT $(TARGET_DIR)/usr/lib/libchicken.so.11 $(TARGET_DIR)/usr/lib/libchicken.so
+endef
+
+define LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/csi $(TARGET_DIR)/usr/bin
+endef
+
+ifeq ($(BR2_LIBCHICKEN_INSTALL_INTERPRETER),y)
+ifneq ($(BR2_STATIC_LIBS),y)
+define LIBCHICKEN_INSTALL_TARGET_CMDS
+ $(LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS)
+ $(LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS)
+endef
+else
+define LIBCHICKEN_INSTALL_TARGET_CMDS
+ $(LIBCHICKEN_INSTALL_TARGET_INTERPRETER_CMDS)
+endef
+endif
+else
+ifneq ($(BR2_STATIC_LIBS),y)
+define LIBCHICKEN_INSTALL_TARGET_CMDS
+ $(LIBCHICKEN_INSTALL_TARGET_LIBS_CMDS)
+endef
+endif
+endif
+
+$(eval $(generic-package))
This package includes the runtime library and interpreter. In the future I plan on packaging a cross-compiler for the host as well Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com> --- DEVELOPERS | 3 ++ package/Config.in | 1 + package/libchicken/Config.in | 12 ++++++ package/libchicken/libchicken.mk | 71 ++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 package/libchicken/Config.in create mode 100644 package/libchicken/libchicken.mk